Hello there, my name is Agnish, I'm a permissionless participant here, only to prove my value. I've been previously associated with university research in NLP and LLMs. It's been a year that I've moved in core Ethereum, before that I've mainly done smart contract development.
I really look forward to contributing to the Ethereum Protocol Fellowship - Cohort 4. Here, I'll be updating on a weekly basis. As this was week 0 and mostly prerequisite stuff, I felt like ultilising this week fruitfully. Thereby, felt like pushing an update before the kickoff meeting (July 13th, 2023, 15:00 UTC) is really important.
I started with gathering up some resources regarding several crucial topics. Then, I started them covering one by one…
Pretty much unsure where to start from, I started looking into some project ideas on the cohort repo
Figuring out what I don't know yet, yes this was needed, so I started reading the Ethereum Yellow Paper right away. At first I was a bit unsure of the technical notations and language, hence, I used something lighter to get a gist of it, part by part. I went through the Ethereum Yellow Paper Walkthrough Part 1->7, for further reading about The Ethereum World State, I went through this. Here I realised the following things:
Went further with reading Ethereum Yellow Paper, again got stuck with something else, this time a few detialed things of RLP encoding, so I went through this article on Medium, got a vivid idea of how data serialization and deserialization works in Ethereum, looked into a few code repos too like this. Moreover, concepts of RLP started right away as I reached the transactions portion in Ethereum.
Got pretty used to the notations used in the yellow paper, thanks to yellow paper cheat sheet.
Also interacted with people on the Discord channel, got to know their project ideas and expectations from the cohort. Specially came across EIP-X: Stateless Account Abstraction by Sogol Malek, a fellow at the cohort.
Wanted to take a detour at what I read, so I started reading a little about Layer2, wanted to dive deeper, and I came across a concept in Data Availability, explored more, and I found out EIP-4844, initially started with the rollup centric roadmap.
Realised I need EIP 2718 and EIP 2930 as prereq, also came across it in the yellow paper, so I took light read of the same.
Ultimately came across this blog on how zkrollups had to be implemented based on EIP-4844.
Again, realised didn't quite go over KZG Polynomial Commitments, so quickly went through Danksharding and KZG from these videos, ended with exploring Ben Edgington's code implementation of KZG in C and called it a day.
Went further with the Yellow Paper, also did some initial reading of Eth2Book.
Wanted to know more about the networking layer of Ethereum, so I went through the Nodes and Clients and Networking Layer portions from the official Ethereum documentation.
Came across a few interesting projects on the Cohort repo, amongst them I found the JSON RPC Specification and Testing and the REST Wrapper for the same, viable enough to ahead with.
For the same reasons, I started reading about the Engine API from for 4844.
Finally finished the day with blogging here about why KZG is a better viable option to Merkle Proofs in Blob Transactions.
Was reading the Yellow Paper, and I got stuck with the technical notations explaining Bloom Filters, so I actively asked in the Discord channel, siladu was kind enough to help me with some resources, and I did a little bit of my own research over it as well, and finally understood what was going on.
Did some more project exploration and came across the project idea on Fuzzing, was quite interested so I spent the rest of the day going through some of Jeffrey Scholz's Yul and Gas puzzles on RareSkills github repo.
Also, did some reading on EVM too from the Ethereum Book: Chapter 13, and explored more evm codes from https://ethervm.io/
.
Today, I covered some more of the Yellow Paper, finished till half of the Appendix portion.
Looked around in Discord and realised people talked quite alot about Verkle Trees, so I decided to give it a thorough read, first I read Vitalik's blog on Verkle Trees, then watched some further videos from the various ETH events.
Came back to the EIP-X repo once, and covered the Aggregatable Subvector Commitment part real quick.
Went through the Nimbus and Lodestar clients and thought of making an attempt to contribute there too, but I didn't know Nim, so I decided to give a look over the next few days.
Also liked the project idea on Calculating Total ETH Supply so decided to give that a look too, over the next few days.
This week was quite a learning curve for me, but I did enjoy my time reading about so many different concepts. Here are my project interests summarised: