-
hyc
tusko: wtf are you talking about?\
-
gonbatfire[m]
<tusko> "Probably the underlying randomx..." <- What gives you that idea?
-
tusko
hyc, gonbatfire[m], What makes you think that it hasn't? If not randomx then some other moving piece. That is, if you believe Monero is a viable threat to the types of people who would work such into a piece of software, wouldn't it be your base assumption that they'd attempt to attack the codebase?
-
hyc
nobody has attacked the randomx codebase. it's too small, it's been audited 4 times.
-
hyc
look at the git logs, nothing significant has changed in the commits
-
tusko
hyc, ok, that's fine. it wasn't meant to be a personal attack. But I do expect that Monero's codebase may have been targeted by very not chill people
-
hyc
that may be. but you can ask anyone who's submitted a PR lately. they all get nitpicked to death.
-
hyc
nobody is sneaking anything thru
-
hyc
we're not novices. we know the games. put in an obvious flaw to draw reviewers' attention, to cover for some other more insidious attack. all that nonsense.
-
hyc
none of it will get by.
-
tusko
Sure, those can be detected. But what about a flaw in the cryptosystem, something violating Kerckhoffs's desideratum?
-
tusko
No offense, but even very brilliant people can make mistakes in this area that are notoriously difficult to detect.
-
hyc
"the cryptosystem" ? since we're using primitives that are common to crptography systems everywhere, that would imply a more serious vuln that affects more than just monero
-
UkoeHB
I doubt anyone would object to you auditing the codebase, if that’s what you want to do. The more eyes the better
-
tusko
hyc, What are the primitives for randomx exactly? You make it sound like they are, idk, something very common
-
tusko
I'm certainly less knowledgeable than you are here
-
hyc
blake2b, aes, etc...
-
hyc
argon
-
tusko
oh, interesting. did not know. does the aes implementation use a lookup table?
-
hyc
it will use hardware AES if available.
-
hyc
which is why I discourage people from using Pis and other systems that don't provide hardware AES
-
tusko
oh, that's very good. I'm assuming that means NI-AES
-
hyc
yes
-
hyc
anyway, all of this stuff has been around a long time, heavily studied, cryptanalyzed, etc.
-
tusko
So then 'randomz'
-
tusko
oops
-
tusko
'randomx' must refer to a cryptosystem that uses these primitives to encode/decode meassages, no?
-
hyc
nope
-
hyc
they scramble data
-
hyc
whether it can be decoded again is irrelevant.
-
tusko
right, because you're using these random strings as random programs for the POW?
-
hyc
yes
-
tusko
But then why go through so much trouble rather than just pack any sufficiently random data into the program?
-
hyc
"sufficiently random" by what measure?
-
hyc
we know for a fact that the output of our PRNG is unpredictable, because it uses crypto primitives whose output is unpredictable
-
hyc
if they were predictable, they would be really shitty crypto ciphers...
-
tusko
Sure, I just wonder if you could not harvest enough entropy to satisfy some criterion locally from clock drift, temperatures, etc.
-
hyc
you n't measure clock drift accurately enough to yield enough bits
-
hyc
can't*
-
hyc
you can't even measure temperature on a lot of systems
-
hyc
the approach taken here is optimal for the broadest cross section of compute devices
-
tusko
I seem to recall reading some NIST proclamation recently that suggested clock drift was feasible, but I'm happy to accept that it is not
-
hyc
the NTP is in version 4 now over many decades. measuring clock drift is extremely difficult.
-
hyc
btw, my company is part of the Network time Foundation too. we know this shit.
-
hyc
you can't even do it within a single machine. you need long-duration communication with multiple peers to have a chance.
-
font-deny[m]
<moneromooo> "OK, I found your nick in the..." <- Yeah, sorry for the lack of context.... (full message at <
libera.ems.host/_matrix/media/v3/do…a704db97ffe439d8cb3abb91fe3af469810>)
-
moneromooo
Well, I usually suggest using the software, finding something that's broken or rough, and improving it. That gives you a (typically) easy entry to a (usually) small amount of work with a clear goal and a tangible benefit at the end.
-
moneromooo
As for PoW, it's a complex piece of code, but it *is* low level. Further optimizing the JIT would be nice, but it's been looked at a lot already so further speedups are going to be hard work.
-
moneromooo
Maybe ARM is easier to improve, since I expect most work was spent on the x86_64 version. I've not followed though.
-
moneromooo
Review's always good. Maybe following the code to make sure secret info is wiped after use.
-
moneromooo
secret_key is automatically wiped, but rct::key isn't, since it's a catch-all type, so some might be missing.
-
moneromooo
Maybe checking net code for easy wins performance wise.
-
moneromooo
The code that decides what to download from where when syncing the chain is very ad hoc and probably far from optimal.
-
moneromooo
That's probably a thorny one though.
-
font-deny[m]
And what do you think about the refresh concurrency considering what I said?
-
moneromooo
Wallet ? I think it's not too difficulty and fairly well contained. If you have a more precise question, ask.
-
moneromooo
To be clear, I'm refering to the code that fetches blocks while processing blocks it has already fetched.
-
moneromooo
That's two main threads (processing it also locally threaded at particular places).
-
moneromooo
This particular arrangement is where I think fairly easy wins can be made.
-
moneromooo
Actually, AFAIK there's a whole new wallet being written, so maybe ask ukoehb about this, whether they have low level stuff there needing work.
-
font-deny[m]
Yeah I also started thinking about this new wallet. If it will eventually replace the existing implementation...
-
font-deny[m]
I'll ping him to see.
-
woodser[m]
I'm seeing that a multisig wallet can no longer sign and publish txs from its peers after creating an unrelayed, unsigned tx, due to error message `This signature was made with stale data: export fresh multisig data, which other participants must then use`. is this expected? I'd think creating an unrelayed tx locally shouldn't make the multisig stale
-
moneromooo
It might be reusing the same outputs. Check this. If so, and you can't get a new ms state, you can freeze those outs temporarily to force using new outputs.
-
moneromooo
Reusing ms... values... k IIRC ? is dangerous.
-
woodser[m]
darn in our use case, it would be the same output
-
moneromooo
I guess you could change the wallet to create more than one set of values per output. Defaulting to 1.
-
moneromooo
Then you could reuse the same output.
-
moneromooo
Not sure it's worth the added complexity though.
-
moneromooo
Depends if that use case is generally useful :)
-
woodser[m]
I have it working now by sending updated multisig hex along with messages which need to be sent anyway, which is good because I really wanted to avoid that extra hop. the use case is useful I think but time will tell :)
-
Guest28
hello
-
Guest28
how to find why monerod crash on xiaomi aarch64 because termux crash with monerod and i cant log on gdb
-
Guest28
crash happens when i start mining
-
Guest28
I'm testing
-
one-horse-wagon[
Guest28: You need to take your questions to Monero support. This is Monero development.
-
sech1
he has a callstack
paste.debian.net/1259123 so it's kind of -dev too
-
Guest2830
that stack is without mining
-
Guest2830
-
Guest2830
this is when i start mining
-
spacekitty420[m]
<hyc> "which is why I discourage people..." <- henlo, any idea if aes implemented on riscv? like, in monero/CMakeLists.txt it says `message(STATUS "AES support not available on RISC-V")` but there seems to have been some work done for aes over
github.com/riscv/riscv-crypto
-
spacekitty420[m]
for just $79, the visionfive v2 has 8gb lpddr4, a u74 quadcore rv64gc, if aes working on it, that could such a nice piece of hardware for a potential node or somethin o.o
-
hyc
nobody has written JIT for risc-v yet
-
hyc
perhaps it'd be a good project for you. you can start just by copying the existing x86-64 or aarch64 code and tweaking incrementally
-
spacekitty420[m]
am dumbdumb but good to know, thanks for the info :3
-
duggavo[m]
Hello. How is the nonce added to the `blockhashing_blob` data from get_block_template before hashing it with Randomx?
-
duggavo[m]
Is it just appended to the end of the blockhashing_blob?
-
duggavo[m]
And how long is the nonce? 8 bytes?
-
moneromooo
Usually 4 bytes IIRC.
-
moneromooo
Well, the pool one.
-
moneromooo
The block one is also 4 bytes.
-
moneromooo
Then you can twiddle the timestamp too.
-
duggavo[m]
moneromooo: really it's just 4 bytes?
-
moneromooo
Let me go check now
-
moneromooo
It is.
-
moneromooo
It's not appended, it's somewhere in the middle. End of the header. The tx merkle tree comes after it.
-
duggavo[m]
Since the timestamp is in seconds, doesn't that mean that bad things might happen if the nethash is more than 4294967296 H/s = 4.294 GH/s
-
moneromooo
If your miner can only change those, I guess.
-
moneromooo
And if *your* hash is that much.
-
moneromooo
(assuming your math is right, I'm not checking)
-
moneromooo
If your hash rate is that high, just twiddle something else or let someone else have a chance :P
-
merope
Wait what? Why would the timestamp be bad for pow?
-
duggavo[m]
moneromooo: so if i have a blockhashing_blob like this:
-
duggavo[m]
`0e0ed286da8006ecdc1aab3033cf1716c52f13f9d8ae0051615a2453643de94643b550d543becd00000000d130d22cf308b308498bbc16e2e955e7dbd691e6a8fab805f98ad82e6faa8bcc06` where is the nonce placed?
-
merope
Timestamp is timestamp, miners work on nonce
-
moneromooo
Dunno. I'm not decoding this for you.
-
duggavo[m]
merope: but if timestamp changes, blockhashing_block changes too, right?
-
duggavo[m]
so you can re-use a previously-used nonce
-
moneromooo
Oh. I see.
-
merope
Sure
-
moneromooo
Nonce is a misnomer here, you can have the same nonce for multiple blocks.
-
merope
If you run out of nonces before the next second, you start changing stuff in the tx_extra field in the miner transaction
-
duggavo[m]
-
merope
Also referred to as "extra_nonce"
-
duggavo[m]
oh ok
-
merope
That's how btc does it too, where the hashrate of any individual miner is way higher than that by several orders of magnitude
-
merope
Note: this issue only arises when the individual mining device goes through the 2^32 nonce space in less than 1 second
-
merope
Not the global network hashrate
-
merope
(Assuming that pools don't reuse the exact same template for multiple miners)
-
plowsof
on behalf of duggavo 'thank you for helping me, i appreciate your input'
-
duggavo[m]
thank you for helping me, i appreciate your input
-
sech1
nonce is at bytes 39-42 in the hashing blob
-
sech1
extra_nonce can be changed, but you'll have to call get_block_template again if you want another value of extra_nonce
-
duggavo[m]
<sech1> "nonce is at bytes 39-42 in the..." <- Thank you
-
selsta
reminder to update if you compile monero with openssl 3
openssl.org/blog/blog/2022/11/01/email-address-overflows
-
moneromooo
Thanks
-
moneromooo
> Q: Is this a branded vulnerability?
-
» moneromooo weeps
-
RavFX[m]
Does monero actually use X.509 certs?
-
selsta
yes for RPC SSL
-
ofrnxmr[m]
<selsta> "reminder to update if you..." <- @selsta does this include things like monerujo using openssl 3.0.6 in the cmake etc?
-
selsta
the issue is more relevant for someone potentially remotely crashing a daemon
-
selsta
i don't know how relevant this issue is for monero or if it is even exploitable, worst case your wallet would crash if you connect to a malicious remote node
-
» brkcore I can't find any indicator applet to show IP connection. How difficult is it to create one? anyone can give me an idea what to start read?