Serenity or Ethereum 2.0 is the long awaited and even longer in the works move of the Ethereum network from Proof-of-Work to Proof-of-Stake, together with some huge upgrades on the scalability side.
An important milestone on this has been the spec freeze of the first phase of development and we can now start seeing the results of the incredible amount of hard work that was put into research and development.
When we started looking into Serenity (or Ethereum 2.0!), the first thing that made me feel at a loss was the abundance of completely new terms.
What the heck is a crosslink? Is a slot a block?[Spoiler, no, it isn’t].
Is an attestor the same thing as a validator?
The following list tries to describe the most used terms in the Ethereum two point ohh universe for the mildly technical Ethereum user. Keep in mind this is not an exhaustive list, but focuses on the most prominent details you might have questions about.
- one chain to rule them all
- proof-of-stake chain
- includes beacon blocks
- the consensus layer for everything
- manages validators
- applies rewards and penalties
- serves as an anchor point for the shards through cross-links
- 1024 of them
- semi independent chains
- include shard blocks
- periodically the state of the shard blocks is recorded on the beacon chain through crosslinks.
- once a block on the beacon chain is finalized, the shard blocks referenced in the included crosslinks are considered finalized.
- each shard has a committee of validators attesting blocks
- a summary of the shard’s state.
- only reference of the shards in the beacon chain.
- period of time in which a block proposer propose a block for attestation
- slots might be empty
- slots are filled with attested blocks
- a number of slots (currently 64) after which validators are reshuffled in committees
- users that have deposited 32eth in the validator deposit contract and run a validator node
- they can be inactive (don’t run as an actual validator yet), active (validating), pending (opted into becoming a validator but stuck in the entry queue) and exiting (no longer want to validate and stuck in the exit queue)
- random validators chosen by the beacon chain to propose blocks for validation/attestation.
- there will be one block proposer per slot for the beacon chain and one proposer per slot for each of the shards
- votes in regards to the validity of a shard block or beacon
- random groups of validators chosen by the beacon chain to attest the validity of blocks (beacon & shard)
- target of minimum 128 validators per committee
ETH2 or BETH
- base currency of the beacon chain
- will be obtained initially from rewards and by locking ETH1 in the validator deposit contract
Validator Deposit Contract:
- smart contract on the POW chain (in our case, the Ethereum Mainnet)
- once ETH1 funds are locked in this smart contract, and event log is emitted that should be read by the beacon chain and the same amount of ETH2 should be allocated to the account, now considered a validator
- this mechanism might change in the future!
- until phase 2 ends the transfer of ETH1 to ETH2 is a one way street, can’t get ETH1 back, but there is an escape hatch to sell your stake once transfers between validators become possible.
Ethereum 2.0 phases:
Phase 0 — The beacon chain
- managing validators and stakes
- organizing and electing committees and proposers
- applying consensus rules
- rewarding and penalizing/slashing
Phase 1 — Shards
- constructing the shard chains and blocks
- anchoring (cross-linking) shard blocks to beacon chain
- ability to do bETH transfers between validators (this might come sooner as it’s not technically linked to work on sharding)
Phase 2 — Execution Environments
- Ewasm based virtual machine for execution of the… execution environments
- every shard has access to all execution environments
- ability to make transactions within execution environments
- ability to run and interact with smart contracts
- cross-shard communication