💻

Client Updates (old)

Latest updates from each client. Please ping @rudolf6 on Discord for updates/corrections.

October 2, 2023

CL

Lodestar (Gajinder)

  • Lodestar<>Geth have tested for relaunch on Verkle genesis, and is good to go. Just waiting on further testing by Ops on kurtosis (some tooling needs update for verkle genesis) then we should be able to do Kaustinen relaunch with Lodestar.
  • Ready for Kaustinen relaunch with electra activated post-capella. Have been testing local devnets and kurtosis runs with Guillaume's work, and helping him debug few issues regarding peer syncing off through transitions.

Lighthouse (Mac)

  • Working on a new build of Lighthouse for the Kaustinen relaunch. Mostly done, just need to work out a few kinks here and there.

Nimbus (Zahary and Agnish)

  • ipa+pedersen, along with the multipoint vector commitment in nim is at a pre-testing stage, most of the tasks are done. Banderwagon has been been merged to the nim cryptographic library (constantine).
  • Verkle cryptography api is almost fully implemented in nim
  • Banderwagon's primary element functions are tested in nim and they all work, thanks to Advaita.

Teku (Enrico)

  • No updates

Prysm

  • No updates

EL

Besu (Dragan and Thomas)

  • Almost finished:
    • correct impl of the trie-key hash
    • computation of Pedersen commitment
  • Next up:
    • make verkle trie lib work with the actual pedersen commitments
    • expose generating the proof call
    • expose verifying the proof call

EthJS (Gabriel and Gajinder)

  • Working on CL<>EL verkle compatibility with Lodestar

Geth (Guillaume and Ignacio)

  • Debugging for Kaustinen relaunch. Almost ready to go.
  • For now, doing the conversion at block 1 (genesis). Nethermind focused on sync, while Geth is focused on conversion. Also, working on proposal to allow gas model to remain unchanged during the conversion.
  • Performance improvements: in the Go library, we have a speedup of around 15% in the Pedersen hashing. At some point, need to port this into the rust library. Also, did some fuzzing on the go code. Caught two panics and 4 bugs. Fuzzing isn’t done yet, but just a first pass. And had some good results.
  • Discussion around sha256 hashing for Fiat Shamir, and whether this can be changed later. Touched on the benefits of not hashing the proofs in blocks. If we provide proofs in a subnet, for example, you could have competing proof systems. And easier to change in the future without hard fork.

Nethermind (Tanishq)

  • Working on implementing our own cryptography, but first need to compare performance to rust. If similar, will go with our own version. C#. Still tbd.

Erigon (Giulio)

  • No updates. Will pick it back up post-Deneb.

July 24, 2023

CL

Lodestar (Gajinder)

  • Working to sync with Kaustinen, but running into issues. Lodestar doesn’t seem to be able to read genesis. Currently debugging with Pari. Some discrepencies noted in the Kaustinen genesis config on GH. Would like to see a spec document which lists what PRs are included in a testnet, so its easy to triage what the problem is.

Teku (Enrico)

  • No updates. Haven’t joined any testnets yet. We have a very old branch that needs to be updated.

Prysm (Terence and Potuz)

  • No updates

Lighthouse (Mac)

  • Live on Kaustinen.

Nimbus (Zahary)

  • Just started implementing some of the prerequisite libraries. Still a little ways away from joining testnets.

EL

Besu (Dragan and Thomas)

  • Contributors from OnlyDust have been diving in. Getting started with both the Java implementation, and also exploring lower level cryptography: “a simple implementation of bandersnatch curve used for pedersen commitment + IPA.”
  • We will have an implementation of the Verkle Tries compatible with the Bonsai's interface soon and we'll be entering the testing phase. I am not sure what it will entail from the Bonsai side and concerning actually using the Verkle Tries from Bonsai, verifying proofs and so on. Testing integration should happen hopefully in August.

EthJS (Gabriel)

  • Mostly focusing on the stateless block execution. Our work for syncing with Kaustinen is "In progress".
  • We have also began working on a typescript verkle trie implementation as a separate ethereumjs package (@ethereumjs/verkle)

Geth (Guillaume and Ignacio)

  • Cryptography and VKT datastructure: continuing to refine functional prototype — now with recently improved performance (20% slower than mainnet on replayed blocks).
  • Overlay Tree migration: logic quite mature, but rebased on in-progress changes currently being worked in geth (PBSS). Current target: 5k leaves per block. With Rock 5B it looks realistic to do 5k leaves, and therefore the model is pretty much validated, even if we are still trying to improve. The remaining unknown: will the migration take 15 days or 1 month? (based on the number of leaves we can support per block). Next steps: include proof generation and verification to fully confirm that 5k is doable. Also tbd how much overhead 4844 might add.
  • Rewrote the gas accounting module. Needs tests.
  • Working on a Kaustinen relaunch

Nethermind (Tanishq)

  • Live on Kaustinen. Finished the implementation of stateless client. We are working on Verkle sync implementation next.

Erigon (Giulio)

  • No updates. Will pick it back up post-Deneb.