Advertisement · 728 × 90

Posts by Guillaume Ballet

It's a good thing that you told me, I just logged back in precisely to talk about work.

2 years ago 1 0 0 0

Alright Sir, I shall abide by this OG rule

2 years ago 2 0 1 0

- Building on this, storing uncompressed points becomes possible, which will improve computation speed and put verkle trees within reach of more low-power devices.

2 years ago 2 0 0 0

- 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.

2 years ago 3 0 2 0

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.

2 years ago 4 0 1 0

what, you too???

2 years ago 0 0 1 0

Does anyone have extra appveyor licences?

2 years ago 1 0 0 0

me too! we should meet

2 years ago 2 0 1 0
Advertisement

- Apple podcasts: podcasts.apple.com/de/podcast/ethplorateurs...
- Direct link: https://www.buzzsprout.com/2048500/12836686

2 years ago 0 0 0 0

Nouveau podcast! Barnabe et moi-meme parlons des retraits!

- Spotify: https://open.spotify.com/episode/6Vmquudlk93saK7xKFJQNg
- Amazon: music.amazon.com/podcasts/f60ed3ed-f11b-4...

2 years ago 3 1 1 0
Post image

* @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.

2 years ago 3 1 1 0
Post image
3 years ago 1 0 0 0

That's it in a nutshell. Thanks to Ignacio, Josh and Tanishq for their input so far.

3 years ago 0 0 0 0

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.

3 years ago 0 0 1 0

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

3 years ago 0 0 1 0

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.

3 years ago 0 0 1 0

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.

3 years ago 0 0 1 0

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.

3 years ago 0 0 1 0
Advertisement

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.

3 years ago 0 0 1 0

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.

3 years ago 0 0 1 0

To this end, the unwavering Pari and myself have revisited the options and dumped our thoughts in this document. Feedback welcome: https://notes.ethereum.org/@parithosh/verkle-transition There are basically four options:

3 years ago 1 0 1 0

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.

3 years ago 0 0 1 0