<h1>
Ethereum Protocol Fellowship
</h1>
Hello there, I’m Bem and I come from an Aerospace Engineering background. I have developed multiple scalable ML models and dapps in the past and I am excited to explore the intricacies of the Ethereum Protocol to help make valuable contributions going forward.
<h1>
Initial Phase
</h1>
As this is the first time I am fully delving into and doing research at the protocol level I decided to read as much as possible on the whole EVM stack for the first week. This also included updating my knowledge of Networking protocols (P2P overlay, Peer Discovery, and Data Propagation).
I also supplemented my knowledge with the recommended reading list to address any knowledge gaps I had about the Ethereum Protocol and EVM. The first resource I covered was the<a href='https://ethereum.github.io/yellowpaper/paper.pdf'>Ethereum yellow paper </a>. This included looking in-depth at the numerous implementations of Merkle trees to build a good mental model of how the EVM architecture and consensus mechanisms work to secure the network. A good short read I found to be quite useful in separating the different state tries and how the data structures are saved in the EVM were from articles published by <a href='https://medium.com/@eiki1212/ethereum-state-trie-architecture-explained-a30237009d4e'>eiki</a> and <a href='https://medium.com/coinmonks/data-structure-in-ethereum-episode-1-recursive-length-prefix-rlp-encoding-decoding-d1016832f919'>Phan Sơn Tự</a> respectively.
<img src='https://www.lucassaldanha.com/content/images/2018/12/summary-final.png'>
<figcaption>Fig 1 Block header structure from the yellow paper</figcaption>
<br>
Even though this provided me with a detailed description of the EVM, Austin Griffith’s <a href='https://eth.build'>Eth.build </a> platform made it a lot easier to visualise the EVM components covered in the yellow paper and see how they interact with each other in real time. Playing around in the sandbox and completing some of the side quests enabled me to implement the multiple Merkle trees outlined in the yellow paper and build a simplified toy ledger running on a simulated mempool. Some of the key principles incorporated include:
- The EVM state transitions, Π(σ, B) ≡ Ω(B, Υ(Υ(σ, T0), T1)...)
- Hashes and Merkle trees (World state trie, Receipt Trie, Transaction trie, Account storage trie)
- Nonce implementations
- Transactions and Intrinsic costs
- Signatures (v,r,s) and ECDSA
- Blocks and mempools
- pBFT (Practical byzantine fault tollernece)
- Ommers and much more...
At this stage, I got quite intrigued by how the consensus mechanism works to stabilise the network, even under issues that arise from data propagation delays and malicious attackers. Consequently, I went over a short intro to <a href='https://cryptoeconomics.study/docs/en/sync/getting-started-welcome'>cryptoeconomics </a> put together by Karl.tech from Optimism to understand the weaknesses and strengths of various consensus mechanisms. This led me to review the current POS consensus mechanism including LMD GHOST and Casper FFG in much detail and appreciate the heightened security they exhibit to protect the network from attacks and forks. Some of the informative resources I came across include:
- <a href='https://arxiv.org/pdf/2003.03052.pdf'>Combining GHOST and Casper </a>
- <a href='https://eth2book.info/altair/part3/introduction'>Eth2Book</a> to by Ben Edgington
- <a href='https://blog.ethereum.org/2021/11/29/how-the-merge-impacts-app-layer'>Short read </a> of changes from POW to POS by Tim Beiko
- <a href='https://hackmd.io/@n0ble/upgrade-consensus-to-pos'> Quick summary</a> of changes made from POW to POS
- <a href='https://www.youtube.com/watch?v=5gfNUVmX3Es'> Short video </a> put together by AltExplainer of POS consensus mechanisms(there are minor mistakes in relation to number of subnets mentioned in a committe )
- <a href='https://www.youtube.com/watch?v=V0RjGmFE35U'> Short video </a> put together by Initiative for Cryptocurrencies and Contracts (IC3)
- <a href='https://www.youtube.com/watch?v=S262StTwkmo'> Short video </a> put together by Near Protocol
- <a href='https://medium.com/unitychain/intro-to-casper-ffg-9ed944d98b2d'> Short article </a> by Juin Chiu
<!-- - <a href='https://twitter.com/salomoncrypto/status/1568365818509139968'> Twitter thread</a> -->
<img src='https://blog.ethereum.org/images/posts/upload_8d8b25043628b0b5b0265ecd2b14f789.png'>
<figcaption>Fig 2 Changes made from POW to POS</figcaption>
<br>
After gaining a deeper understanding of the Casper FFG and GHOST LMD consensus algorithm, I developed an interest in getting hands-on experience in modelling/simulating the multiple scenarios the beacon chain state can be under given the various actions the validators can take. Consequently, I signed up for the radCad Advanced Masterclass course to expand my knowledge further and gain deeper insights into cryptoeconomics throughout the program.
<h1>
Area of focus
</h1>
After looking at the complicated coherence issues that could arise at the consensus level I am drawn to increase the general security in the beacon chain. Two areas I am considering focusing on include:
- Simulating agent-based mechanism attacks on the beacon chain to find weaknesses that can be exploited in the future. There already is some research conducted by RIG through their agent-based modelling beacon runner notebooks which I will look into further.
- Improve security by tracking and identifying anomalous activity that occurs in the Beacon chain network, to create warning systems as a form of protection.
<!-- <h1>
Actions
</h1> -->
<!-- - Continue researching areas of focus and do some preliminary analysis using network data
- Reach out to Fredrik from General Security to get some insight on potential projects
- Continue the radCad course -->