---
# System prepended metadata

title: 'EPF Cohort 4 : Update for Week 0'

---

Hello there, my name is [Agnish](https://twitter.com/0xagnish), 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...

### July 8th, 2023

Pretty much unsure where to start from, I started looking into some project ideas on the cohort [repo](https://github.com/eth-protocol-fellows/cohort-four/blob/master/projects/project-ideas.md)

**Figuring out what I don't know yet**, yes this was needed, so I started reading the [Ethereum Yellow Paper](https://ethereum.github.io/yellowpaper/paper.pdf) 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](https://www.lucassaldanha.com/ethereum-yellow-paper-walkthrough-1/), for further reading about **The Ethereum World State**, I went through [this](https://medium.com/cybermiles/diving-into-ethereums-world-state-c893102030ed). Here I realised the following things:

- How the "state" in Bitcoin was different from Ethereum
- How Ethereum implements the [Merkle Patricia Trie](https://ethereum.org/en/developers/docs/data-structures-and-encoding/patricia-merkle-trie/) data structure
- How it stores tries in [Google's LevelDB](https://github.com/google/leveldb)

### July 9th, 2023

Went further with reading [Ethereum Yellow Paper](https://ethereum.github.io/yellowpaper/paper.pdf), again got stuck with something else, this time a few detialed things of [RLP encoding](https://ethereum.org/en/developers/docs/data-structures-and-encoding/rlp/), so I went through [this](https://medium.com/coinmonks/data-structure-in-ethereum-episode-1-recursive-length-prefix-rlp-encoding-decoding-d1016832f919) 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](https://github.com/sontuphan/debug-geth/tree/master/rlp). 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](https://github.com/benjaminion/YellowPaper_CheatSheet/blob/master/YPCheatSheet.pdf). 

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](https://github.com/sogolmalek/EIP-x) by [Sogol Malek](https://github.com/sogolmalek/), a fellow at the cohort.

### July 10th, 2023

Wanted to take a detour at what I read, so I started reading a little about [Layer2](https://ethereum.org/en/layer-2/), wanted to dive deeper, and I came across a concept in Data Availability, explored more, and I found out [EIP-4844](https://eips.ethereum.org/EIPS/eip-4844), initially started with [the rollup centric roadmap](https://polynya.medium.com/understanding-ethereums-rollup-centric-roadmap-1c60d30c060f).

Realised I need [EIP 2718](https://eips.ethereum.org/EIPS/eip-2718) and [EIP 2930](https://eips.ethereum.org/EIPS/eip-2930) as prereq, also came across it in the yellow paper, so I took light read of the same. 

Ultimately came across [this](https://ethresear.ch/t/a-design-of-decentralized-zk-rollups-based-on-eip-4844/12434) 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](https://www.youtube.com/watch?v=e9oudTr5BE4&t=600s&pp=ygUMZGFua3NoYXJkaW5n) and [KZG](https://www.youtube.com/watch?v=g6s4zpypPT4&t=585s&pp=ygUDa3pn) from these videos, ended with exploring [Ben Edgington's code implementation of KZG in C](https://github.com/benjaminion/c-kzg) and called it a day.

### July 11th, 2023

Went further with the Yellow Paper, also did some initial reading of [Eth2Book](https://eth2book.info/).

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](https://github.com/ethereum/execution-apis/pull/197) from for 4844.

Finally finished the day with [blogging here](https://hackmd.io/@agnxsh/Sk6kwnGKh) about why **KZG is a better viable option to Merkle Proofs in Blob Transactions.**

### July 12th, 2023

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](https://github.com/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](https://github.com/RareSkills) github repo.

Also, did some reading on EVM too from the [Ethereum Book: Chapter 13](https://github.com/ethereumbook/ethereumbook/blob/develop/13evm.asciidoc), and explored more evm codes from [https://ethervm.io/
](https://ethervm.io/
).

### July 13th, 2023

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](https://ethereum.org/en/roadmap/verkle-trees/), so I decided to give it a thorough read, first I read [Vitalik's blog on Verkle Trees](https://vitalik.ca/general/2021/06/18/verkle.html), then watched some further videos from the various ETH events.

Came back to the EIP-X repo once, and covered the [Aggregatable Subvector Commitment](https://www.youtube.com/watch?v=Yzs6DEVFTLM) 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.

### Summarising my project interests

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:

- EIP-X
- Fuzzing
- JSON RPC Testing 
- JSON RPC REST Wrapper
- Calculating Total ETH Supply
- Few issues on Nimbus
- Lodestar (not sure yet)






