## Week 11 Update: Getting started This week I dived right into [the EPF wiki](https://epf.wiki/#/). I have some high level experience working with Ethereum having developed some app projects over the past couple of years but this is the first time going deep into the protocol. Having joined the program so late my first instinct is to try and speedrun the learning process, with the goal to start contributing as soon as possible. After careful consideration I think this would be a disservice to myself in the context of my overall goal, which is to make meaningful contributions to the ecosystem. > Slow is smooth and smooth is fast. > — Navy SEAL proverb ### Overall Roadmap / Plan My plan is to build a really solid foundation as I work through the material on the wiki. There is a treasure trove of information on there and one can spend hours on individual resources and links. The best way to learn is through iteration and understanding. Understanding often comes through iteration and different angles of description and explanation over the same topics. You can consume various different sources about the same topic, gaining a rudamentary understanding, but then have one video, presentation, or article provide the "lightbulb" and "ah ha!" moment that draws it all together and solidfys your grasp on the topic. ![image](https://hackmd.io/_uploads/HyQ6n6Gqlx.png) To that end, I am taking the wiki page by page, pausing in areas to ensure that I understand the key concepts to build this base to begin contributing from. The pausing here might take the form of a deeper dive until I hit the "lightbulb" moment by consuming various different resources on the subject, or diving into building small MVPs in code to understand the concepts on a practical level. Once I feel comfortable enough with a foundational knowledge base of the CL and EL, I'm going to study this line by line breakdown of [RETH](https://www.youtube.com/watch?v=gPQ-uXj03iQ) and then explore where's a good place to start. ### This Week - Mostly worked through the introduction to the Consensus layer - Read [Byzantine Generals Problem](https://www.microsoft.com/en-us/research/wp-content/uploads/2016/12/The-Byzantine-Generals-Problem.pdf) which I found to be particularly dense - Subequently read [PBFT](https://www.scs.stanford.edu/nyu/03sp/sched/bfs.pdf), [Gasper](https://arxiv.org/pdf/2003.03052), and the [Eth2Book](https://eth2book.info/capella/) which I found to be much more accessible. - One of my favourite videos was [Anatomy of a slot](https://www.youtube.com/watch?v=EswDO0kL_O0) by Chris Meisl. Having built a solid foundation of Gasper, it does a great job of showing you what happens in reality. - At the end of the week started to look into the introduction to the Execution Layer. - Built out a [Rust implementation of a Radix trie](https://github.com/Charlie-Mack/rust-simple-radix-trie) to begin to understand trie structures. - Started a mini project to build out a Rust implementation of a Merkle Patricia Trie, with persistence via Levels/RocksDB according to specs ### Next Week - Continue on working on the MPT project as I believe its a core concept to understand on a deep level. - Once done, continue on the wiki with the Execution Layer deep dive.