---
# System prepended metadata

title: Ethereum Learning Road Map

---

## The Future
- https://eth2book.info/
-
## Suggested Prework
- https://hackmd.io/@eenagy/r16O7JVKn
- https://www.youtube.com/playlist?list=PL4cwHXAawZxpzxfiXGTOfAz263sQB1D2F
- https://github.com/djrtwo/writing/blob/main/docs/2023-02-23_2023-Reflections.md

## EPF-Cohort 4 Interests
- https://ethereum.github.io/rig/
- https://efdn.notion.site/RIG-Open-Problems-ROPs-c11382c213f949a4b89927ef4e962adf
- https://github.com/status-im/nimbus-eth1


# Ethereum Learning Road Map

- https://github.com/eth-protocol-fellows/cohort-three/blob/master/program-guide/reading.md
- https://github.com/cbrzn/cohort-one/blob/master/notes/cesarbrazon/0_notes.md
- https://hackmd.io/@vbuterin/evm_feature_removing
- https://corepaper.org/ethereum/
- https://ethresear.ch/t/an-updated-roadmap-for-stateless-ethereum/9046
- https://github.com/ethereum/stateless-ethereum-specs/blob/master/portal-network.md
- https://ethresear.ch/t/block-access-list-v0-1/9505
- https://hackmd.io/@vbuterin/state_expiry_paths
- https://ethereum-magicians.org/t/increasing-address-size-from-20-to-32-bytes/5485
- https://github.com/tvanepps/EthereumDiscordGuidebook
- https://ethereum-magicians.org/
- https://github.com/eth-protocol-fellows/cohort-one/tree/master/notes/cesarbrazon
- https://github.com/eth-protocol-fellows/cohort-one/blob/master/notes/j-cook/update-1.md
- https://ethresear.ch/c/cryptography/28
- https://ethresear.ch/c/data-structure/30
- https://github.com/eth-protocol-fellows/cohort-one/blob/master/notes/seroze/eth2_key_terminologies.md
- https://ethereum.org/en/developers/docs/data-structures-and-encoding/patricia-merkle-trie/
- https://github.com/eth-protocol-fellows/cohort-zero/blob/main/notes/Nhlanhla.md
- https://preethikasireddy.medium.com/how-does-ethereum-work-anyway-22d1df506369
- https://docs.soliditylang.org/en/latest/abi-spec.html
-    [ETHEREUM VIRTUAL MACHINE](https://ethereum.org/en/developers/docs/evm/)
  - [Explaining core system Ethereum Virtual Machine](https://hackmd.io/@Nhlanhla/SyIOqbUyK)
  - [This is a guide to understanding the EVM, its relationship with solidity, and how to use some debugging tools.](https://hackmd.io/@Nhlanhla/BJVHIOibt)
- https://github.com/eth-protocol-fellows/cohort-zero/blob/main/notes/albus.md
- https://archive.fosdem.org/2019/schedule/event/nimbus/
- https://research.polytope.technology/state-(machine)-proofs
- https://github.com/tvanepps/EthereumDiscordGuidebook/tree/main/state-expiry

# VKT 
- https://github.com/weiihann/awesome-verkle
- https://www.youtube.com/watch?v=F1Ne19Vew6w&themeRefresh=1
- https://www.youtube.com/watch?v=RGJOQHzg3UQ
- https://vitalik.ca/files/misc_files/verkle.pdf
- https://notes.ethereum.org/_N1mutVERDKtqGIEYc-Flw
- https://notes.ethereum.org/nrQqhVpQRi6acQckwm1Ryg
- https://github.com/jsign/verkle-vs-patricia
- https://hackmd.io/@jsign/verkle-tries-exploration-about-keccak-vs-pedersen-commitments
- https://github.com/coniks-sys/coniks-go/blob/master/merkletree/merkletree.go
- https://github.com/algorand/go-algorand/tree/master/crypto/merkletrie
- https://verkle.dev/docs/intro


# MPT
   - [Merkle trees: a visual introduction](https://blog.iden3.io/merkle-trees-visual-introduction.html)
   - [Sparse Merkle trees: a visual introduction](https://blog.iden3.io/sparse-merkle-trees-visual-introduction.html)
   - [Vitalik's explanation of the Markle trees](https://vitalik.ca/general/2021/06/18/verkle.html)
   - [Vitalik's Merkling in Ethereum](https://blog.ethereum.org/2015/11/15/merkling-in-ethereum/)
   - [Merkle-Patricia-Tree](https://hackmd.io/@Nhlanhla/SkGDJZB0d)
   - https://github.com/algorand/go-algorand/blob/master/crypto/merkletrie/trie_test.go

# RLP
- https://medium.com/coinmonks/data-structure-in-ethereum-episode-1-recursive-length-prefix-rlp-encoding-decoding-d1016832f919

# DEVP2P
  Resources
  - [Ethereum SNAPSHOT Protocol](https://hackmd.io/@Nhlanhla/Bykc2YXGY)
  - [The RLPx Transport Protocol](https://hackmd.io/@Nhlanhla/SJv3wnhMK)
  - [Ethereum Wire Protocol (ETH)](https://hackmd.io/@Nhlanhla/HkIHa9r7K)
  - [Light Ethereum Subprotocol (LES)](https://hackmd.io/@Nhlanhla/Bk0dDeJ4Y)


## Stateless Ethereum

Enable validators to be able to validate blocks without requiring state. Instead 
use block witnesses to validate the resulting state root.

### Resources

- Starting point: 
    - https://hackmd.io/@vbuterin/state_size_management
    - https://blog.ethereum.org/2019/12/30/eth1x-files-state-of-stateless-ethereum/
    - https://ethresear.ch/t/an-updated-roadmap-for-stateless-ethereum/9046
    - https://dankradfeist.de/ethereum/2021/02/14/why-stateless.html
- Cryptography attack:
    - Elliptic curve pairings: https://vitalik.ca/general/2017/01/14/exploring_ecp.html
    - Kate polynomial commitments: https://dankradfeist.de/ethereum/2020/06/16/kate-polynomial-commitments.html

- Block access lists: https://ethresear.ch/t/block-access-list-v0-1/9505


# Zk Rollups/EVM

- https://github.com/eth-protocol-fellows/cohort-zero/blob/main/notes/yingtong/update_1.md
- https://www.preethikasireddy.com/post/a-normies-guide-to-rollups
- https://ethresear.ch/t/defining-zkoracle-for-ethereum/15131
 -  [Zero Knowledge Proofs for Engineers Introduction](https://blog.zkga.me/intro-to-zksnarks)
  -  [ZKPs for Engineers: A look at the Dark forest ZKPs](https://blog.zkga.me/df-init-circuit)
  -  [Istanbul, zkRollup, and Ethereum throughput limits: an analysis](https://blog.iden3.io/istanbul-zkrollup-ethereum-throughput-limits-analysis.html)
  -  [From zkRollup to accessible identities for all](https://blog.iden3.io/zkrollup-to-universal-identities.html)
  -  [Create your first zero-knowledge snark circuit using circom and snarkjs](https://blog.iden3.io/first-zk-proof.html)
  -  https://zkp.science/
  -  https://zcash.github.io/halo2/concepts.html
  -  https://barnabe.substack.com/p/understanding-rollup-economics-from

# Node Networking
- https://github.com/ethereum/devp2p/blob/master/discv5/discv5.md
- 
# Smart Contract
- https://programtheblockchain.com/posts/2018/03/09/understanding-ethereum-smart-contract-storage/
- https://medium.com/@hayeah/diving-into-the-ethereum-vm-6e8d5d2f3c30
- https://hackmd.io/@vbuterin/selfdestruct
- https://github.com/x676f64/secureum-mind_map
- https://www.youtube.com/watch?v=K18LzGharGM

# The Merge
- https://www.preethikasireddy.com/post/how-does-the-new-ethereum-work
 - [Eth2 Upgrades](https://ethereum.org/en/eth2/)
 - https://members.delphidigital.io/reports/the-hitchhikers-guide-to-ethereum#clients-after-the-merge

# Random
- https://dankradfeist.de/ethereum/2021/02/14/why-stateless.html
- https://snakecharmers.ethereum.org/the-winding-road-to-functional-light-clients
- https://eth2book.info/capella/contents/

# MEV
- https://www.youtube.com/watch?v=-3LIHehjzBA

# Account Abstraction
- https://github.com/eth-protocol-fellows/cohort-three/blob/master/notes/garvit.
- https://medium.com/infinitism/erc-4337-account-abstraction-without-ethereum-protocol-changes-d75c9d94dc4a

# Go Repository
> **NB**  use release to explore version to look into https://github.com/ethereum/go-ethereum/releases, from support of Merkle to Verkle trie.

 - https://www.javatpoint.com/rsa-encryption-algorithm
 - https://www.youtube.com/watch?v=4zahvcJ9glg
 - https://github.com/ethereum/go-ethereum
 - https://github.com/ethereum/go-ethereum/tree/v1.0.0
 - https://github.com/cbergoon/merkletree/tree/master
 - https://github.com/zhangchiqing/merkle-patricia-trie
 - https://github.com/polytope-labs/solidity-merkle-trees
 - https://github.com/ethersphere/bee
 - https://github.com/bnb-chain/bsc-relayer
 - https://github.com/corvus-ch/shamir
 - https://github.com/hashicorp/vault
 - https://github.com/barkyq/gnost-relay
 - https://github.com/zhangchiqing/concurrency
 - https://github.com/lbryio/lbcd
 - https://github.com/ameensol/privacy-pools


# Additional Learning (Golang + Cryptography + Foundational Engineering)

- https://www.youtube.com/@introductiontocryptography4223/videos
- https://www.youtube.com/watch?v=oOcTVTpUsPQ
- https://asecuritysite.com/golang
- https://blog.cloudflare.com/a-relatively-easy-to-understand-primer-on-elliptic-curve-cryptography/
- https://igor.io/2013/08/28/stack-machines-fundamentals.html
- https://compilerbook.com/
- https://medium.com/@chiqing
- https://research.polytope.technology/
- https://www.youtube.com/playlist?list=PLrw6a1wE39_tb2fErI4-WkMbsvGQk9_UB 
- https://docs.google.com/spreadsheets/d/1DTtlVThmfg2elEheCPvqZP4uvNmnRzq9OkhGuHMMV_Y/edit?usp=sharing


## MPC
- [Fast Secure Two-Party ECDSA Signing](https://eprint.iacr.org/2017/552)
- [Fast Secure Multiparty ECDSA with Practical Distributed Key Generation and Applications to Cryptocurrency Custody](https://eprint.iacr.org/2018/987.pdf)
- [Two-Party ECDSA from Hash Proof Systems and Efficient Instantiations](https://eprint.iacr.org/2019/503.pdf)
- [Fast Multiparty Threshold ECDSA with Fast Trustless Setup](https://eprint.iacr.org/2019/114.pdf)
- [Secure Two-party Threshold ECDSA from ECDSA Assumptions](https://eprint.iacr.org/2018/499.pdf)