4. Ethereum 1.x
This Rabbithole Talk is a two part series and this part was covered by Lane Rettig
earlier in this event.
Link to Lane’s slides
This slide is not part of the presentation, but available here for a link to more info
on Ethereum 1.x.
5. Phase 0 - Beacon Chain
Original diagram by Hsiao-Wei Wang
Beacon
Chain
Validator Registry
Reward / Penalties
Shuffling / Randomness
Proof of Stake Finalization
● 1 way deposit via deposit contract
● 32 ETH minimum to join
● 18 ETH ejection balance
● Exits / Withdraws
● Calculated during epoch transition
● Randomly distributed validator pool
● Verifiable delay function (at some
point)
● Calculated every epoch
● Validator slashing
● Liveness penalty
● Participation reward
● Block justification via Casper FFG
● Allows finalization of ETH 1.x
6. Phase 0 - Beacon Chain
Original diagram by Hsiao-Wei Wang
How to become a validator
1. Generate an Ethereum 2.0 validator address and withdrawal address
2. Send 32 ETH deposit with signed information about you as a validator
3. After 1024 PoW blocks, existing validators vote on your deposit
4. After a 16 epoch voting period, your validator enters the activation FIFO queue
5. Activation queue is processed within the maximum validator churn limits
Current as of eth2.0-specs@bb44d25
7. Phase 0 - Beacon Chain
Original diagram by Hsiao-Wei Wang
The role of a validator
● Propose blocks
○ Includes ETH1 data, slashings, voluntary exits, crosslinks (in phase 1)
● Create attestations
○ Attesting to their view of the world by fork choice rule
Current as of eth2.0-specs@bb44d25
8. Phase 0 - Beacon Chain
Original diagram by Hsiao-Wei Wang
● Blocks are produced every slot (6 seconds)
● An epoch is 64 slots (6.4 minutes)
● Epochs are considered finalized after two justified epochs
● Validator exits are delayed by 4 epochs + churn rate
● Validator withdraws are delayed by 256 epochs (~27 hours)
Current as of eth2.0-specs@bb44d25
9. Phase 1 - Shard Chains
Shard N
Shard 1
● Mostly research complete
● Introduces the independent
shard chains into the system
● Shard chains are linked to the beacon chain by crosslinks once per epoch
● 1024 shards initially
● No meaningful state execution on layer 1… yet
● Data layer available for layer 2 protocol execution
Original diagram by Hsiao-Wei Wang
10. Phase 2 - State Execution in Shards
● Replace EVM with eWASM
● Asynchronous cross shard transactions
● Contract yanking (migrating shards)
● Ethereum 2.0 becomes useful to average contract developer / users
● In research and design phase, development likely to start early 2020
● Development can start in parallel to phase 0 and phase 1
11. Beacon Chain
provides random
numbers
Shard Chain
provides data
Shard N
B1 B2 B3 B4 B5
VM
provides state
execution result
Shard 1
Main Chain
provides staking
State State State State State
PoW
Casper / PoS
Original diagram by Hsiao-Wei Wang
12. Phase 3 - Light Clients / Stateless Clients
● Minimize on chain data by moving as much as possible off chain
● Likely target beyond 2021
● Very much still in research
● https://ethresear.ch/tags/stateless
13. The Numbers - Minimum to Start Ethereum 2.0
Amount of ETH to be a Validator = 32 ETH
Number of Shards in Ethereum 2.0 = 1024 Shards
Minimum Validators per Committee = 111 Validators per Committee
Minimum Validators to Start ETH2.0 = 1024 * 111 = 113,664 Validators
Minimum Ether at Stake = 113,664 * 32 = 3,637,248 ETH
Maximum Annual Validator Rewards = ~4.206%
More at https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-economics/Current as of eth2.0-specs@bb44d25
14. The Numbers - Ideal for Crosslinking
Amount of ETH to be a Validator = 32 ETH
Number of Shards in Ethereum 2.0 = 1024 Shards
Ideal Minimum Validators per Committee = 256 Validators per Committee
Ideal Minimum Validators to for Crosslinking = 1024 * 256 = 262,144 Validators
Ether at Stake = 262,144 * 32 = 8,388,608 ETH
Annual Validator Rewards = ~2.769%
More at https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth-2.0-economics/Current as of eth2.0-specs@bb44d25
15. Ethereum 2.0 - Where Are We Today?
Ethereum 1.X
Phase 0
Beacon Chain
Phase 1
Shard Chains
Phase 2
Shards’ EVM
(State Execution)
Phase 3
Light Clients
● In progress! ● Testnet is months
away
● ETA late 2019
● Research nearly
complete
● Development not
yet started
● ETA early 2020
● Research still in
progress
● Development from
ETH 1.x carries
over
● ETA late 2020 or
early 2021
● Minimal research
● ETA 2021 or later
Note: Estimates are subject to change and you should not consider this an official timeline!
16. Ethereum 2.0 - Who Is Working On It?
More at https://docs.ethhub.io/ethereum-roadmap/ethereum-2.0/eth2.0-teams/teams-building-eth2.0/
Team / Company Name Client Name Primary Language
Prysmatic Labs Prysm Go
ChainSafe Lodestar JavaScript / TypeScript
PegaSys Artemis Java
Harmony Harmony Java
Parity Substrate Shasper Rust
Sigma Prime Lighthouse Rust
Status Nimbus Nim
Ethereum Foundation Trinity Python
Yeeth Yeeth Swift