Guillaume Ballet's Avatar

Guillaume Ballet

@gballet.bsky.social

328 Followers  |  13 Following  |  21 Posts  |  Joined: 11.04.2023  |  1.6779

Latest posts by gballet.bsky.social on Bluesky

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

26.05.2023 10:27 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

Alright Sir, I shall abide by this OG rule

26.05.2023 10:25 β€” πŸ‘ 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.

19.05.2023 19:14 β€” πŸ‘ 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.

19.05.2023 19:14 β€” πŸ‘ 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.

19.05.2023 19:14 β€” πŸ‘ 4    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

what, you too???

15.05.2023 10:18 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

Does anyone have extra appveyor licences?

15.05.2023 09:03 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

me too! we should meet

15.05.2023 08:25 β€” πŸ‘ 2    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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

15.05.2023 08:22 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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

- Spotify: https://open.spotify.com/episode/6Vmquudlk93saK7xKFJQNg
- Amazon: https://music.amazon.com/podcasts/f60ed3ed-f11b-4d8f-b522-05f775e121eb/episodes/0842752c-2489-44ba-97b2-94e260066203/ethplorateurs-les-retraits

15.05.2023 08:22 β€” πŸ‘ 2    πŸ” 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.

12.05.2023 17:25 β€” πŸ‘ 3    πŸ” 1    πŸ’¬ 1    πŸ“Œ 0
Post image 18.04.2023 19:22 β€” πŸ‘ 1    πŸ” 0    πŸ’¬ 0    πŸ“Œ 0

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

18.04.2023 19:03 β€” πŸ‘ 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.

18.04.2023 19:02 β€” πŸ‘ 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

18.04.2023 18:52 β€” πŸ‘ 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.

18.04.2023 18:49 β€” πŸ‘ 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.

18.04.2023 18:48 β€” πŸ‘ 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.

18.04.2023 18:46 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

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.

18.04.2023 18:45 β€” πŸ‘ 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.

18.04.2023 18:43 β€” πŸ‘ 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:

18.04.2023 18:40 β€” πŸ‘ 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.

18.04.2023 18:32 β€” πŸ‘ 0    πŸ” 0    πŸ’¬ 1    πŸ“Œ 0

@gballet is following 13 prominent accounts