1 of 32

Ethereum 2.0 �a.k.a. Serenity Update

Ethereum Research

NodeTokyo�November 19th, 2018

2 of 32

英語が上手くない

日本語が下手くそ

電波系でごめんね

Hello Tokyo!

I Am Hsiao-Wei Wang

GitHub/gitter @hwwhww�Twitter @icebearhww

王筱維(おうしょうい!?)

英語が良いです

日本語が下手くそ

電波系でごめんね

こんにちは!

I Am Danny Ryan

GitHub/gitter @djrtwo�Twitter @dannyryan

ダニー ライアン

3 of 32

4 of 32

5 of 32

We plan to upgrade...

  • From Proof-of-Work to Proof-of-Stake
  • Scaling the blockchain throughput capacity
    • Computation
    • Faster
    • Network latency
  • Extending the existing Ethereum mainnet that is still running!

6 of 32

Serenity

Ethereum 1.0

Beacon Chain

Shard Chains

7 of 32

Beacon Chain

(PoS Root Chain)

provides random numbers

Shard Chain

provides data

Shard 1024

State Execution Engine

provides state �execution result

Shard 1

PoW Main Chain

provides staking

state root

state root

state root

state root

state root

state root

8 of 32

Random Number Generation

Needs randomness for selecting beacon chain & shard chains’ block proposer and attestation committee

9 of 32

Random Number Generation

RANDAO scheme + �(Nice to have) Un-biasable VDF (Verifiable Delay Function) scheme

= Non-exploitable Randomness

10 of 32

Proof-of-Stake

  • Casper FFG (the Friendly Finality Gadget)

11 of 32

Beacon Chain

<> Shard Chain

The selected attester has to send the “attestation” to attest that:

      • some parent blocks are in the beacon chain
      • a block hash is in a shard�

12 of 32

Beacon Chain

<> Shard Chain

The selected attester has to send the “attestation” to attest that:

      • some parent blocks are in the beacon chain
      • a block hash is in a shard�

Sign for the parent blocks

13 of 32

Beacon Chain

<> Shard Chain

The selected attester has to send the “attestation” to attest that:

      • some parent blocks are in the beacon chain
      • a block hash is in a shard�

Crosslink: “confirm” segments of the shard chains into the beacon chain

14 of 32

Only data-consensus

Block bodies are just blobs, no state root in the header

Verify the data availability

Shard Chain

15 of 32

State Layer

Ethereum flavored WebAssembly (eWASM)

16 of 32

Roadmap

Beacon Chain

PoS

17 of 32

Roadmap

  • Shards as�data chains

Beacon Chain

PoS

18 of 32

Roadmap

  • State transitions
  • Shards as�data chains

Beacon Chain

PoS

19 of 32

Roadmap

  • State transitions

+

  • Shards as�data chains

Beacon Chain

PoS

Improvements

20 of 32

Implementation

21 of 32

22 of 32

23 of 32

To Buidlers

24 of 32

Ethereum 2.0 Buidlers

GitHub: ethresearch/eth2.0-pm

gitter: ethereum/sharding

Danny Ryan

25 of 32

ethresear.ch

26 of 32

We are looking for ...

Blockchain Researchers

P2P Masters

Experienced Engineers

27 of 32

  • Scalability
  • Usability
  • Security
  • Hackternship

28 of 32

Thank you!

29 of 32

Vector Icons by Matthew Skiles

Presentation template designed by Slidesmash

Photographs by unsplash.com and pexels.com

CREDITS

Special thanks to all people who made and share these awesome resources for free:

Icons made by Becris from www.flaticon.com is licensed by CC 3.0 BY

30 of 32

Presentation Design

This presentation uses the following typographies and colors:

Colors used

Free Fonts used:

https://www.fontsquirrel.com/fonts/nunito

31 of 32

Beacon Chain

provides random numbers

Shard Chain

provides data

Shard 100

B1

B2

B3

B4

B5

VM

provides state �execution result

Shard 1

Main Chain

provides staking

B1 �state root

B2 �state root

B3�state root

B4 �state root

B5�state root

32 of 32

Beacon Chain

(PoS Root Chain)

provides random numbers

Shard Chain

provides data

Shard 1024

State Execution Engine

provides state �execution result

Shard 1

PoW Main Chain

provides staking

state root

state root

state root

state root

state root

state root