Sign in

Guillaume Ballet

@gballet.bsky.social
464 followers 13 following 21 posts
PostsRepliesMedia
Guillaume Ballet @gballet.bsky.social · 26/05/2023
It's a good thing that you told me, I just logged back in precisely to talk about work.
010
Guillaume Ballet @gballet.bsky.social · 26/05/2023
Alright Sir, I shall abide by this OG rule
120
Guillaume Ballet @gballet.bsky.social · 19/05/2023
- Building on this, storing uncompressed points becomes possible, which will improve computation speed and put verkle trees within reach of more low-power devices.
020
Guillaume Ballet @gballet.bsky.social · 19/05/2023
- Verkle trees offer an advantage that a node that is serialized on disk need not store a reference to its children, that might make the overall database significantly smaller.
230
Guillaume Ballet @gballet.bsky.social · 19/05/2023
Very productive week at the geth offsite. A few decisions impact verkle: - While data will never be deleted from the verkle tree in normal operation, our deep reorg code needs support for it, as it relies on reverse-diffs to reorg past the 128-depth limit.
140
Guillaume Ballet @gballet.bsky.social · 15/05/2023
what, you too???
100
Guillaume Ballet @gballet.bsky.social · 15/05/2023
Does anyone have extra appveyor licences?
010
Guillaume Ballet @gballet.bsky.social · 15/05/2023
me too! we should meet
120
Guillaume Ballet @gballet.bsky.social · 15/05/2023
- Apple podcasts: podcasts.apple.com/de/podcast/ethpl… - Direct link: www.buzzsprout.com/2048500/12836686
000
Guillaume Ballet @gballet.bsky.social · 15/05/2023
Nouveau podcast! Barnabe et moi-meme parlons des retraits! - Spotify: open.spotify.com/episode/6Vmquudlk9… - Amazon: music.amazon.com/podcasts/f60ed3ed-…
131
Reposted by Guillaume Ballet
Protocol Berg v2 @protocol.berlin · 12/05/2023
* @gballet.bsky.social is Geth core dev at the Ethereum Foundation. He focuses on evolutions to the protocol and bringing research ideas to fruition. His talk provides a high-level introduction to verkle sync and proposes a separation between attesters and block proposers.
131
Guillaume Ballet @gballet.bsky.social · 18/04/2023
010
Guillaume Ballet @gballet.bsky.social · 18/04/2023
That's it in a nutshell. Thanks to Ignacio, Josh and Tanishq for their input so far.
000
Guillaume Ballet @gballet.bsky.social · 18/04/2023
The transition is decoupled from the conversion, so things can happen in time. Ultimaltely, this approach gives rise to a state expiry scheme: the MPT can be translated to verkle, and then "forgotten". "Resurrecting" values into the new tree is a matter of passing a verkle proof.
100
Guillaume Ballet @gballet.bsky.social · 18/04/2023
4) The "state expiry" method: the Merkle tree is frozen in place, and we start from a fresh tree. Reading and writing work the same as with the overlay method, but no conversion/merging of the trees ever happens : values in the Merkle tree progressively become clobbered by values in the verkle tree
100
Guillaume Ballet @gballet.bsky.social · 18/04/2023
Compared to the two previous options, though, it still looks like the worst of both worlds. Still, it's nice because it's not as "centralized" as the offline conversion method.
100
Guillaume Ballet @gballet.bsky.social · 18/04/2023
3) The "local bulk": pretty much the same as the other, except each machine does the conversion themselves. This approach has started to look feasible based on recent optimizations in the conversion process and verkle trees in general.
100
Guillaume Ballet @gballet.bsky.social · 18/04/2023
2) The offline method: a few very powerful machines do the translation at a fixed block height, and then share the result with the rest of the network. Less powerful clients download the conversion and replay blocks in verkle mode until the head in MPT mode has been reached.
100
Guillaume Ballet @gballet.bsky.social · 18/04/2023
Reading the state means first searching the verkle tree for a key, and then from the merkle tree if it could not be found. Writing to the state always mean writing to the verkle tree.
100
Guillaume Ballet @gballet.bsky.social · 18/04/2023
1) the option is known as the "overlay tree" method. The idea is to start with an empty, fresh verkle tree. Each block, a fixed number of values are copied from the merkle tree into the verkle tree.
100
Guillaume Ballet @gballet.bsky.social · 18/04/2023
To this end, the unwavering Pari and myself have revisited the options and dumped our thoughts in this document. Feedback welcome: notes.ethereum.org/@parithosh/verkl…. There are basically four options:
110
Guillaume Ballet @gballet.bsky.social · 18/04/2023
What's up with verkle trees? We've been busy working on the conversion from the current merkle tree to a verkle tree. This is a challenging problem, because the amount of data is huge. This means it doesn't find in RAM, and needs at least a day for the translation to complete on a beefy machine.
100