-
Snipa
.merges
-
xmr-pr
6600 6613 6660 6690 6693 6731 6739 6746 6752 6753 6757 6760 6761 6762 6763 6766 6767 6771
-
Snipa
.merges
-
xmr-pr
6600 6693 6739 6757 6760 6761 6762 6763 6766 6767 6771
-
xmr-pr
selsta opened pull request #6783: repo: update "sponsor" link
-
xmr-pr
-
moneromooo
Any objection to switching testnet to v13 on, say, sunday ?
-
moneromooo
snipa will merge the clsag PR next, then I don't think there's anything consensus to change.
-
selsta
sounds good
-
sarang
grydz: anything need to be changed with Ledger Monero-side code?
-
sarang
IIRC the Trezor folks expected one Trezor-specific PR on the Monero codebase after the CLSAG merge
-
moneromooo
OK, we'll wait then.
-
grydz
-
grydz
(Just updated the gist, I removed the modification for v13)
-
dEBRUYNE
What about next weekend? Or would that be too late
-
grydz
For us, the later the better...
-
grydz
Still debugging why I get a correct CLSAG sig at the end but can't pass the sanity check
-
sarang
Once CLSAG is merged, I'll let the Trezor team know
-
moneromooo
One thing which helped me debug this is to set all randomness to 0, then give the same inputs with and without changes, and see where it starts diverging.
-
moneromooo
So you'd do that once with your code and once with the upstream code.
-
dEBRUYNE
.merges
-
xmr-pr
6600 6693 6739 6757
-
grydz
Is there an easy way to do that? Or should I tweak functions like skGen()?
-
moneromooo
That's the easy way.
-
moneromooo
I suppose you can hack the PRNG in random.c too, but that might zero randomness you'd want... not sure.
-
grydz
Alright, thanks!
-
selsta
Would there be an issue with updating testnet even if some Ledger / Trezor changes are missing?
-
selsta
Once Ledger / Trezor has PRed their fixes they can be merged.
-
selsta
Testnet participants will have to compile from source (or use inofficial bins) anyway.
-
moneromooo
Depends if they change consensus code. I expect they won't, but you never know, it might be our bug :)
-
selsta
Right but if there is a bug like this we have to rollback testnet anyway?
-
selsta
not sure
-
moneromooo
If it already switched, yes.
-
sarang
My understanding is the Trezor PR will not alter consensus
-
sarang
I can't speak to Ledger
-
dEBRUYNE
^ grydz ?
-
grydz
Do you think my patch could be integrated in the PR?
-
grydz
This is just simples fixes.
-
grydz
In that way, we could also use testnet for debugging.
-
grydz
-
moneromooo
What is this value it does not encrypt now ?
-
moneromooo
Also you removed bounds checking. Is that on purpose ?
-
grydz
moneromooo, the value z was not created on the HW, we can't encrypt it.
-
grydz
It's derived from the private view key (which was exported).
-
moneromooo
If it doesn't leak info, and the bounds checking is restored (unless it was redundant), then the patch looks ok to me.
-
grydz
What bound checks?
-
grydz
On the Monero app?
-
moneromooo
Writing to buffer_send.
-
grydz
Do you mean sending &this->buffer_recv[offset] instead?
-
moneromooo
I admit I don't know much of the ledger code, but AFAICT &this->buffer_recv[offset] is unrelated ?
-
moneromooo
recv is ledger to wallet2, send is wallet2 to ledger, right ?
-
grydz
Yes.
-
moneromooo
Well, it's not what I meant, and I don't see the relevance of your comment so I might be missing somthing.
-
moneromooo
I just meant you removed the bounds checking code on the send buffer, and this looks dangerous at first glance.
-
moneromooo
Bounds chekcing being checking you don't write after the buffer.
-
moneromooo
It might be that other code already checks this, in which case it'd be fine.
-
grydz
(My comment was not relevant at all I just don't see where I removed a bound check!)
-
moneromooo
- this->send_secret(z.bytes, offset);
-
moneromooo
+ memmove(this->buffer_send+offset, z.bytes, 32);
-
grydz
Is this when I replaced send_secret() with memmove?
-
grydz
Ok!
-
moneromooo
send_secret has:
-
grydz
I see now.
-
selsta
moneromooo: please rebase 6111
-
selsta
.merge+ 6769
-
xmr-pr
Added
-
xmr-pr
vdo opened issue #6784: Error building RandomX in a RPi
-
xmr-pr
-
moneromooo
selsta: done
-
moneroist
Hi, how can I get transaction inputs from monerod rpc call? I am using get_transaction_pool rpc method call but I can not find there inputs, there are no input (previous output) address in response json
-
selsta
hyc: sech1: could you review the "core: fix mining from a block that's not the current top" commit in PR 6111?
-
hyc
will try to get to it soon
-
hyc
looks a bit more involved than I can spare right now
-
selsta
thanks
-
sech1
I did a quick look and it looks ok on the surface, but I don't know if it actually works as intended. I assume it's covered by tests?
-
moneromooo
It is. The tests are the reason I needed this.
-
selsta
-
selsta
I get this but I might be invoking it incorrectly
-
moneromooo
That usually means the daemon died or hanged.
-
selsta
mining test passes
-
selsta
it happens every time, any logs that would be useful?
-
moneromooo
I'll try here first. Maybe the two patches don't agree with each other.
-
selsta
it passed on github ci and also on the mac mini, seems like to only happen on my system
-
» moneromooo helpfully raises the corner of the carpet and waits expectantly
-
caralho
rip daemon
-
selsta
.merge- 6757
-
xmr-pr
Removed
-
cohcho
moneromooo: that delay was due to core::update_checkpoints() within core::handle_incoming_block(). After added --disable-dns-checkpoints unknown delay stays within 100ms.
-
moneromooo
Oh really. I did not remember this being synchronous.
-
moneromooo
Worth removing, IIRC it's on a timer.
-
moneromooo
(and on another thread)
-
moneromooo
Thanks for finding it
-
cohcho
Yeah, it would be helpful. I've disabled it at all as a workaround.
-
cohcho
What's about reported delay, Are there any places for optimizations?
-
moneromooo
Verification could be parallel. IIRC atm it's per tx.
-
moneromooo
So you typically get 2 threads (one per output) to verify rct IIRC.
-
moneromooo
Nothing else big comes to mind atm.
-
moneromooo
Oh, switching the blockchain lock to a rw lock.
-
moneromooo
But that's a big change.
-
Snipa
6739 (CSlag) merged.
-
Snipa
Thank you moo. :D
-
moneromooo
ty
-
moneromooo
There might also be some redundancy in tx checking in txpool.
-
Snipa
.merges
-
xmr-pr
6600 6693 6739 6769
-
moneromooo
Erring on the side of caution.
-
selsta
Snipa: 6600 can be merged too I think
-
selsta
the others are still
-
selsta
not fully clear
-
Snipa
6600 needs a rebase, same reason 6739 did. 13's going to have a bunch of lockouts it looks like.
-
Snipa
Was just looking it over.
-
cohcho
Verification of all inputs/outputs of block transactions can be trated as N indepedent tasks or they can be dependent on each other?
-
selsta
sarang: please rebase #6600
-
cohcho
moneromooo: This task to make transaction verification as fast as possible with more threads was postponed due to high complexity or low priority?
-
cohcho
Do you expect it should be simple to speed up it with more threads?
-
dEBRUYNE
Anyone willing to redo 5686? OP seems MIA
-
dEBRUYNE
If not, I suppose we should close the PR
-
moneromooo
It depends which parts of txes. Range proofs can be done as parallel as you want (and indeed they currently are). Other things are harder. Some things can only be done in parallel if they only depend on old enough data (ie, you're not trying to verify A and B in parallel when B depends on A).
-
moneromooo
Faster verification is not postponed, which would imply it is scheduled to be done.
-
moneromooo
As so many things, it's diminishing returns.
-
moneromooo
So, at a first approximation, it's now less simple to speed up more than it was, and for less gain.
-
moneromooo
I guess I can rebase that, seems simple enough.
-
cohcho
Is it easy to find an example of v12+ block with inner dependencies between transaction?
-
moneromooo
There won't be deps within a block. Usually at most 10 blocks away, though you might find just one block away, a wallet does this IIRC.
-
moneromooo
I don't have an example though.
-
cohcho
1064ms has been spent on block 2173586 here. Does this block has inner dependencies between txs or any other obstacle that prevent fully parallel txs verification?
-
cohcho
block have *
-
selsta
moneromooo: aren’t 10 blocks a consensus rule now?
-
moneromooo
Can't recall. Either v12 or v13.
-
cohcho
It's v12 now.
-
selsta
ah true but when syncing it will still happen for older blocsks?
-
moneromooo
I mean for when the 10 block rule gets enforced.
-
selsta
yes
-
cohcho
It would be enough for mining to optimize v12+ verifications
-
cohcho
Can you describe all known obstacles to verify v12+ txs in parallel?
-
sarang
selsta: rebased, CI in progress
-
moneromooo
A couple are lock contention (would be fixed by the rw lock I mentioned) and dependencies between txes in a span (doesn't apply when you get txes when mining though).
-
moneromooo
Also, having to add code to do so, which might not be worth the gains.
-
moneromooo
One thing that might be a fairly easy win:
-
moneromooo
When a tx is received, mining gets paused, the tx gets verified, mining resumes.
-
moneromooo
A very early step in tx verification is PoW verification, which is comparatively lengthy, and not parallelizable.
-
moneromooo
But it could be done without the blockchain lock, so you can still mine (for not much if the block ends up valid though).
-
moneromooo
Otherwise I'd have to look at the code for a while to see what can still be parallized. Again, I've done some, and the Pareto principle applies.
-
cohcho
I'm about mining with separate application connected via rpc to monerod. Inner miner isn't my target.
-
moneromooo
Then the miner presumably submits only blocks which meet the right difficulty, so... very seldom, right ?
-
moneromooo
In which case, you should not care much about parallelism. it'd just take about the same amount of CPU time, just on the same core rather than several.
-
moneromooo
Is that not the case ?
-
moneromooo
Oh. I suppose you might be after the latency when your miner finds a block at the same time a tx is verifying.
-
moneromooo
Very seldom but still annoying I guess.
-
moneromooo
In those cases, chances are your block is an orphan anyway.
-
moneromooo
(assuming I'm not missing your point)
-
cohcho
The aim is to reduce time between events p2p_received_fluffy_block and block_accepted (job propogation delay).
-
moneromooo
Ah, so I did miss your point.
-
moneromooo
It's for your own block. Fair enough. Then you do want parallel indeed...
-
moneromooo
I suppose you can already skip PoW validatrion, on account of having submitted a block because you found a nonce that matches.
-
moneromooo
I suppose you could indeed relay the block at once, before calling handle_....
-
moneromooo
Assuming it's from a block template that same daemon created.
-
selsta
hmm core tests failed for the CLSAG PR
-
selsta
multisig functional tests also failed
-
moneromooo
I should... avoid making tests...
-
selsta
moneromooo: can you take a look?
github.com/monero-project/monero/runs/1038290819 (... -> View raw logs)
-
selsta
gen_bp_tx_valid_2, gen_bp_tx_valid_3, gen_bp_tx_valid_16, gen_bp_txs_valid_2_and_2, gen_bp_txs_valid_2_and_3_and_2_and_4
-
selsta
sounds serious :P
-
moneromooo
Not really. It's the "doesn't use full reward" change.
-
kayabaNerve
moneromoo: Isn't a language with static typing all the testing you need? It tests the pieces fit together!
-
kayabaNerve
Jokes aside, it is nice to hear there's not a major problem here. Really keeping an eye on this new hard fork :)