--- title: Ethereum 2.0 Devs Handbook and FAQs image: https://storage.googleapis.com/ethereum-hackmd/upload_7c003d3efc6d51733bcbe92d617b4524.png tags: FAQ, eth2, Serenity description: check the (hopefully) latest information of Ethereum 2.0 resource logo: Icons made by <a href="https://www.flaticon.com/authors/eucalyp" title="Eucalyp">Eucalyp</a> from <a href="https://www.flaticon.com/" title="Flaticon">www.flaticon.com</a></div> --- # ![handbook](https://storage.googleapis.com/ethereum-hackmd/upload_5757ff71b998715ddb4e1f82f4037f26.png =50x50) Ethereum 2.0 Devs Handbook and FAQs > tags: `FAQ` `eth2` `Serenity` ## What is it? :::info * It's a collaborative doc for training Ethereum 2.0 developers immediately. * It's a collection of collections; the same resource may overlap in different links. Although we would try to sort by difficulty levels. ::: ## Headline :::warning * 2020 Jan 24th: [Spec v0.10.1 release](https://github.com/ethereum/eth2.0-specs/releases/tag/v0.10.1)! Also the spec comprehensive resources have been updated to v0.10.x. ::: [Toc] ## Learning Ethereum 2.0 ### πŸ‘ΆπŸ» Level 1: Introduction for newbies * **[2018 Nov @Devcon4]** 🎞️ [@vbuterin: Ethereum 2.0 - the road to scaling Ethereum](https://slideslive.com/38911602/latest-of-ethereum) * An overview of the history and future roadmap. * **[2019 Oct @Devcon5]** 🎞️ [@djrtwo - eth2.0; tldr video](https://slideslive.com/38919931/eth-20-tldr) and [slides](https://docs.google.com/presentation/d/1_C_79ilyX0BsyMnSY84M3DoItPU9hBNxnvUEWOOLN7k/edit#slide=id.p1) * The latest high-level introduction of Ethereum 2.0 phases. * **`Update irregularly`** [ethereum.org collection](https://ethereum.org/learn/#eth-2-0) * Useful links to more learning resources. * **[2020 February]** [Beacon Chain Ethereum 2.0 explainer](https://ethos.dev/beacon-chain/) by ethos.dev * [ConsenSys Knowledge Base - Ethereum 2.0](https://consensys.net/knowledge-base/ethereum-2/) ### πŸ€“ Level 2: If you want to fully understand the core protocols * 🌟 **`Update irregularly`** [Ethereum 2.0 Specifications](https://github.com/ethereum/eth2.0-specs) * Core spec comprehensive reading * **`Update irregularly`** [@vbuterin: Serenity Design Rationale](https://notes.ethereum.org/@vbuterin/rkhCgQteN) - v0.10.0 * **`Update irregularly`** [@protolambda: Phase 0 Specs Diagrams](https://github.com/protolambda/eth2-docs) - v0.10.0 * **`Update irregularly`** [@djrtwo: Phase 0 for Humans](https://notes.ethereum.org/@djrtwo/Bkn3zpwxB) - v0.10.0 * **[2019 Oct @Devcon5, spec v8]** Phase 0 deepdive [slides](https://docs.google.com/presentation/d/1MZ-E6TVwomt4rqz-P2Bd_X3DFUW9fWDQkxUP_QJhkyw/edit?pli=1#slide=id.g621e1673fb_21_195) and [video](https://www.youtube.com/watch?v=N5DdClfLQfw) * [Casper FFG explainer](https://www.adiasg.me/2020/03/31/casper-ffg-explainer.html) and [Casper FFG in Eth2.0](https://www.adiasg.me/2020/04/09/casper-ffg-in-eth2-0.html) by @adiasg ### 🧐 Level 3: Deeper reading materials #### Forums * πŸ’‘Ethereum Research discourse ethresear.ch - [sharding](https://ethresear.ch/c/sharding) and [Casper](https://ethresear.ch/c/casper) topics. #### Sharding, scalalibility * **`Update irregularly`** [Sharding FAQ](https://github.com/ethereum/wiki/wiki/Sharding-FAQ) * What is blockchain sharding? The different tradeoffs of different cross-shard communication approaches? * **`Update irregularly`** [Ethereum Sharding Research Compendium](https://notes.ethereum.org/@serenity/H1PGqDhpm?type=view) * Vitalik's collection notes. Also including some proof-of-stake related resources. * **`Update irregularly`** [@vbuterin: Eth2 sharding mindmap](https://www.mindomo.com/zh/mindmap/eth2-sharding-4408ec348bee4501aa125c3e3cd251d3) * **[2018 July @IC3-Ethereum Crypto Boot Camp]** 🎞️ @vbuterin: Sharding: Making blockchains scalable, decentralized and secure - [video](https://vod.video.cornell.edu/media/Sharding+-+Vitalik+Buterin/1_1xezsfb4/97851101) and [slides](https://vitalik.ca/files/Ithaca201807_Sharding.pdf) #### Proof-of-Stake, Casper * **`Update irregularly`** [Proof of Stake FAQ ](https://github.com/ethereum/wiki/wiki/Proof-of-Stake-FAQ) * **`Paper`** [Casper the Friendly Finality Gadget](https://arxiv.org/abs/1710.09437) ## What's happening? * πŸŽ™ [ETH2.0 Implementers Bi-weekly Calls](https://github.com/ethereum/eth2.0-pm/) * πŸ—‚ [eth2.info](https://eth2.info) - by Ben Edgington (PegaSys, ConsenSys) * Regular publications * πŸ¦„ [Ethereum Foundation blog - eth2 quick update](https://blog.ethereum.org/category/research-and-development/) * πŸ“£ [Week in Ethereum News](http://www.weekinethereum.com/) - by Evan Van Ness * πŸ†• [What's New in Eth2?](http://eth2.news) - by Ben Edgington (PegaSys, ConsenSys) * Client teams updates * πŸ’  [Prysmatic Labs Biweekly Development Update](https://medium.com/prysmatic-labs) * ☁️ [Nimbus Update](https://our.status.im/tag/nimbus/) * πŸ”† [Lighthouse Update](https://lighthouse.sigmaprime.io/) ## Research topics ### Randomness * 🎞️ [@justindrake: Ethereum 2.0 randomness - using a VDF- 2018 Nov @Devcon4](https://slideslive.com/38911623/ethereum-20-randomness) * [Verifiable Delay Functions (VDF) Research Effort](http://vdfresearch.org/) ### Phase 2: state execution * **`Update irregularly`** [ETH 2 Phase 2 WIKI](https://hackmd.io/@villanuevawill/H1hgfATkB) * Execution Environments (EEs), Fee markets * **[2019 Oct, Devcon 5]** [@villanuevawill: Phase 2 Dev Experience ](https://docs.google.com/presentation/d/1Oj96cudOsR1ZvlWneZPk4mo7YWo0wRVX-R-bsNvJStQ/edit#slide=id.g5d36bcd2da_0_0) ### Economics * [EIP-1559: Fee market](https://github.com/ethereum/EIPs/blob/master/EIPS/eip-1559.md) * [@econoar: Fixing the Ethereum Fee Market (EIP-1559)](https://medium.com/@eric.conner/fixing-the-ethereum-fee-market-eip-1559-9109f1c1814b) ## Bounties * [Ethereum Foundation - Ethereum Bounties](https://challenges.ethereum.org/): RSA, Legendre PRF, MiMC Hash, VDFs, Ethereum infrastructure, Eth2 Phase 0 ... and more are coming! ## Events outputs * [Sharding/Eth2.0/Serenity workshops collection](https://github.com/ethereum/eth2.0-pm/blob/master/meetups/collection.md) --- # ![handbook](https://storage.googleapis.com/ethereum-hackmd/upload_5757ff71b998715ddb4e1f82f4037f26.png =50x50) FAQs > Part of the previous [EF Research AMAs](https://docs.ethhub.io/other/ethereum-2.0-ama/) may be outdated. ## Roadmaps, plans ### What's the Ethereum 2.0 roadmap? > Latest update: 2020, March 20th * See [@djrtwo - eth2.0; tldr video](https://slideslive.com/38919931/eth-20-tldr) and [slides](https://docs.google.com/presentation/d/1_C_79ilyX0BsyMnSY84M3DoItPU9hBNxnvUEWOOLN7k/edit#slide=id.p1). * [Vitalik's approximate view of what the next ~5-10 years of eth2 and beyond might look like](https://twitter.com/VitalikButerin/status/1240365047421054976) (2020, March 19th) ### How and when to merge eth1 chain into eth2? > Latest update: 2020, Jan 25th Two possible routes 1. [Converting eth1 EVM and history as one of the eth2 Phase 2 Execution Environments (EEs)](https://ethresear.ch/t/the-eth1-eth2-transition/6265). It will minimize the migration requirements for DApps. Before Phase 2 system is ready, the current PoW eth1 chain and PoS eth2 chain will both exist for a while. 2. [Alternatively](https://ethresear.ch/t/alternative-proposal-for-early-eth1-eth2-merge/6666), with Eth1 stateless client software (Eth 1.x WIP), we can make the state of shard 0 houses the state root of the eth1 system. The registered Eth1-friendly validators, may be randomly selected as shard 0 block proposer, would have to maintain Eth1 nodes. #### Reference * [Posssible eth1 -> eth2 transition technical proposal on ethresear.ch](https://ethresear.ch/t/the-eth1-eth2-transition/6265) * [Alternative proposal for early eth1 <-> eth2 merge](https://ethresear.ch/t/alternative-proposal-for-early-eth1-eth2-merge/6666) ## Phase 0 beacon chain ### What I need to do to be a beacon chain validator? > Latest update: 2019, Oct 24th, need to update the numbers of bandwidth requirements from the spec v0.9 patch. 1. In the current proposal, the minimum deposit is 32 ethers. 2. A normal computer. 3. Stable network environment. ### When will Phase 0 beacon chain be launched? > Latest update: 2019, Oct 24th Before launching beacon chain, we have serveral tasks in parrallel: 1. The BLS standardization: see [Deposit Contract section from the quick updates](https://blog.ethereum.org/2019/10/23/eth2-quick-update/) 2. The audit: 1. Beacon chain protocol 2. Deposit contract (almost done by Runtime Verification team) 3. Client software 3. Fuzzing tests 3. The stable multi-client beacon chain testnet: it's expected that the long-term testnet will be launch in November. The launching progress is depending on how does the stable multi-client beacon chain testnet works. The testnet will provide valueable data for us to optimize both the efficiency and user experience. ### How's the liquidity in phase 0 and phase 1? > Latest update: 2019, Oct 24th Phase 0 (beacon chain) is launching without transfer functionality. The transfer functionality is planned be added in phase 1 or 2. ## Phase 1 data chain ### What is data availability? Why is it important? See [ data availability notes](https://github.com/ethereum/research/wiki/A-note-on-data-availability-and-erasure-coding#what-is-the-data-availability-problem). ### What is proof of custody? See [Serenity Design Rationale - The proof of custody game](https://notes.ethereum.org/@vbuterin/rkhCgQteN?type=view#The-proof-of-custody-game) ## Phase 2 state execution ### What are all the cross-shard transations mechanisms? See [Phase 2 WIKI - Cross Shard Transactions](https://hackmd.io/UzysWse1Th240HELswKqVA#Cross-Shard-Transactions). ## Misc ### Why not EIP-1011 (Casper FFG Contract)? * [@djrtwo - signatures, competing games, and tx parallelization](https://notes.ethereum.org/s/rJDrKoBOQ) * [@djrtwo - Casper β™₯ Sharding (June 2018)](https://medium.com/@djrtwo/casper-%EF%B8%8F-sharding-28a90077f121) ### How to become an Ethereum 2.0 developer? 1. Look around the [client teams repositories](https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth2.0-teams/teams-building-eth2.0/), find an issue, and solve it! * Even finding typos would be appreciated! :) * If you have your language preference, there are Go, Java, JavaScript, Nim, Python, Rust... languages! * Some of the teams are still hiring, don't be afraid to ask. 2. Get familar with [specs](https://github.com/ethereum/eth2.0-specs). See if you can [find a bug and get 5 ETH](https://github.com/ethereum/eth2.0-specs/issues/1345). ## Still have question? * Welcome to the [discord](https://discord.gg/hpFs23p) or [bridged gitter channel](https://gitter.im/ethereum/sharding)! πŸ‘‹ --- <style> html, body, .ui-content { background-color: #333; color: #ddd; } .markdown-body h1, .markdown-body h2, .markdown-body h3, .markdown-body h4, .markdown-body h5, .markdown-body h6 { color: #ddd; } .markdown-body h1, .markdown-body h2 { border-bottom-color: #ffffff; color: #81D8D0; } .markdown-body h3 { color: #68aea8 ; } .markdown-body h1 .octicon-link, .markdown-body h2 .octicon-link, .markdown-body h3 .octicon-link, .markdown-body h4 .octicon-link, .markdown-body h5 .octicon-link, .markdown-body h6 .octicon-link { color: #fff; } .markdown-body img { background-color: transparent; } .ui-toc-dropdown .nav>.active:focus>a, .ui-toc-dropdown .nav>.active:hover>a, .ui-toc-dropdown .nav>.active>a { color: white; border-left: 2px solid white; } .expand-toggle:hover, .expand-toggle:focus, .back-to-top:hover, .back-to-top:focus, .go-to-bottom:hover, .go-to-bottom:focus { color: white; } .ui-toc-dropdown { background-color: #333; } .ui-toc-label.btn { background-color: #191919; color: white; } .ui-toc-dropdown .nav>li>a:focus, .ui-toc-dropdown .nav>li>a:hover { color: white; border-left: 1px solid white; } .markdown-body blockquote { color: #bcbcbc; } .markdown-body table tr { background-color: #5f5f5f; } .markdown-body table tr:nth-child(2n) { background-color: #4f4f4f; } .markdown-body code, .markdown-body tt { color: #eee; background-color: rgba(230, 230, 230, 0.36); } a, .open-files-container li.selected a { color: #5EB7E0; } </style>