Final Dev update Ethereum cohort 4

EPF cohort 4 has come to an end and I want to wrap it up with some thought.

First of all big thank you to https://github.com/taxmeifyoucan and https://github.com/JoshDavisLight for organizing and managing the program.

Also special thanks to my mentor https://github.com/jsign and https://github.com/lispc who supported my research of verkle trie in-circuit.

What I've done during the cohort:

There are 2 projects that I’ve worked on during last 4 months:

  • Verkle Tries for Besu (code contributions, PRs)
  • Verkle Tries in-circuit (research, docs)

The deliverable I’m “proud” the most when it comes to “code”:

  • Implementation of pedersen hash and the commitment for Besu coherent with go-verkle:

First I learned about it, wrote the specs:
https://hackmd.io/kr5Gka1-S82evw4ex9_OBA?view

And delivered it(latest PR):
https://github.com/Quadratic-Labs/VerkleTries_Besu/pull/43

One could argue this is similar to:
https://github.com/hyperledger/besu-native/pull/56

But nobody actually tested this, and nobody understood how the values are generated and how the code works. When i say “nobody” i mean our OnlyDust<->Besu telegram group. I asked on github few questions, I couldn’t find help, so more or less we implemented it from “scratch”.

2 weeks ago I also finalized all the cryptography primitives exposed from https://github.com/crate-crypto/ipa_multipoint to separate repo: https://github.com/dragan2234/rust_verkle_crypto_api

This can be used in any client implementation without reimplementing whole cryptography for verkle, but just trie logic.

Other than “code” contributions, which I think is just as important:

  • pushed for weekly calls in OD<->Besu verkle project
    daily communicated and proposed technical solutions for verkle tries for besu in our telegram group.
  • invited other EPF fellows to the project and successfully onboarded Naman and Agnish and helped them contribute
  • wrote a spec for verkle in-circuit https://hackmd.io/l2XvogKoQOCH748T1rdWZw which Scroll asked me to use for their grant program(if i don’t do it)
  • spent a lot of time thinking/researching how/if this is important
  • shared knowledge on hackmd docs https://hackmd.io/@gagadrupal with weekly updates what I’m doing and with more descriptions of my contributions
  • Talked in-person with more than 30 people(random number, but a lot) during conferences last 5 months (EDCON(Montenegro), EthCC(Paris), the MU (Chiang Mai), stanford blockchain week(San Francisco), Devconnect(Istanbul)) and asked questions that helped me gain confidence to understand where/how should i think and work more and if my work is valuable

2 recorded presentations happened during the cohort: