-
one-horse-wagon[Meeting today at 18:00 UTC, No Wallet Left Behind in Matrix room.
-
xmr-prRucknium opened issue #8711: monero-blockchain-stats omits data from final day
-
xmr-pr
-
jeffro256[m]UkoeHB kayabanerve To further reduce fragility of verRctNonSemanticsSimpleCached AND speed it up, what if we require the (tx, input pubkeys) as inputs to the algorithm, have the cache keys be H(tx_hash || input pubkeys), and on cache miss, perform expand_transaction_1 and expand_transaction_2 inside verRctNonSemanticsSimpleCached instead of before?
-
jeffro256[m]This means that the tx will only be expanded when necessary, we do less serializing, and there's no way to NOT expand before calling verRctNonSemanticsSimple internelly
-
kayabanerve[m]That doesn't include the mixRing
-
kayabanerve[m]It allows cache abuse on reorg
-
jeffro256[m]mixRing is rebuilt from expansion
-
kayabanerve[m]Your cache key does not include the mix ring.
-
jeffro256[m]oh by "input pubkeys" that's what I meant
-
kayabanerve[m]A TX can pass, a reorg can change its ring to different outputs, and it'll still pass the cache when checked on the replacement chain.
-
jeffro256[m]basically information NOT in the transaction
-
kayabanerve[m]Oh
-
kayabanerve[m]I have no comment other than uncaring
-
kayabanerve[m]tx_hash + mixRing should be sufficient, since mixRing is the only contextual data.
-
kayabanerve[m]I just can't speak to perf/code layout and don't care to further mess with this block
-
jeffro256[m]So at it's essence, the cache key hash would contain the exact TX representation as well as all extra blockchain info needed to expand RCT
-
UkoeHBjeffro256[m]: yes that is basically what added for seraphis: github.com/UkoeHB/monero/blob/efa2d…is_main/txtype_squashed_v1.cpp#L666
-
kayabanerve[m]tx_hash || mix_ring should be complete. That is all I am saying.
-
jeffro256[m]Okay thanks, I wanted to double check the cryptograohy, but this should be faster because we are doing less serialization + less expansion checking since it's now guaranteed to happen. There's would be no way to shoot yourself in the foot and call verRctNonSemanticsSimpleCached with an unexpanded transaction
-
jeffro256[m]Which is what UkoeHB hinted at by checking the mesage != 0