Recap: Ethereum Sharding Workshop in Taipei

2018–01–28

Vitalik: BTW what do you think about doing a sharding-specific internal kickoff mini-event in Taipei in mid-March, inviting Status, Prysmatic, Pegasys, Parity
Me: Sounds interesting

Turns out it’s not as “mini” as I thought. :D

Image for post
Image for post
Photo credit: Jason Yeh

This was a 3-day internal research workshop hosted by Ethereum Foundation with sharding client implementers and sharding researchers. It’s a great honor and pleasure to have many brilliant Ethereum experts attend this workshop — in Taiwan!

Here, I will recap some of the topics covered during our workshop.

⟠ New specification, new roadmap

Also, here is the accompanying infographic we made.

On the day 1 morning, Karl Floersch and I gave a general overview of Ethereum sharding and disclosed some spoilers of the workshop agenda.

The first thing everyone needs to know is — Vitalik and Justin introduced the proposing-collating mechanism: assume you already know that the collation is the block-like structure in the shard chain — the proposer prepares a collation, proposes a proposal (only collation header) with a “bid”, and then publishes the collation body. The eligible collator (i.e., the one who has the right to append a collation) choose the proposal with the highest bid and collate this proposal into collation. In this scheme, the collators only have to deal with the availability of collation bodies and don’t have to execute state transitions.

The whole proposing-collating “game” is more complicated. If you’re interested, please visit https://ethresear.ch.

This new phase 1 spec only introduces consensus of availabilitybut not any transaction execution and state transition with EVM! The design rationale is that the new roadmap will be more friendly to collator shuffling and more compatible to the Ethereum 2.0 end game.

If you wonder why the collators have to shuffle, here are some explanations with outdated terminologies.

The execution scheme will be introduced in phase 3. Our current research direction is with the new light client protocol: the executors can make claims of the form “I think the state root of block N is H”, then the light client can download the claims because, under honest majority model, the rational executors would provide the correct claims to avoid losing their deposit. Moreover, there’s the improved protocol applied with Truebit-style interactive verification.

One important core of Ethereum sharding mechanism is the Sharding Manager Contract (SMC), a special contract located on the main chain (Ethereum mainnet). Mai-Hsuan Chia introduced the collator shuffling mechanism. This includes: 1) lookahead: the process of providing advance notice to eligible collators before their assigned period; 2) windback: the process of attempting to determine the head by winding back recent collation headers, checking the availability of collation bodies, and applying the fork choice rule.

⟠ Protocol changes for Ethereum 2.0

An important model that Vitalik promoted is the stateless client model. The stateless client only has to store the state root and apply state transitions with witness data, i.e., Merkle branches proofs; therefore, data storage would be largely decreased. However, there are still some optimizations we can perform on the shard chains for reducing witness overheads. Also, during the workshop, Vlad Zamfir suggested that the mechanism of “executing state transition with the witness data” does not have to be not limited to “stateless” and could be conceptually called a “self-authenticating blocks” scheme — the client could choose to store state optionally under this scheme.

⟠ Rent is the new black

There is an inspiring discussion about the rent topic in the following Taipei Ethereum Meetup.

⟠ P2P networking

⟠ What’s-a what’s-a what’s-a what’s-a WASM!

⟠ Binary consensus and sharding

⟠ Mechanism design

1) Execution-minimization and state-minimization

2) Cross everything

And, in synchronous communication models, the problem is how to make cross-shard atomic synchronous transactions. Atomic transactions are essential as otherwise sending Ether (or making calls) from one shard to another may be dangerous — it could cause Ether to disappear or to duplicate. In Vlad’s sharding paradigm, the fork-choice rule enforces atomicity of merge blocks.

Another method is to generalize the cross-shard contract locking scheme and the yanking scheme that Vitalik and Piper Merriam just came up with during the workshop!

3) Scalable data availability checking

Another interesting idea is the concept of Proof-of-Custody introduced by Vlad which allows you to prove that you have custody of an entire file. Furthermore, Justin discussed a DFinity-style scheme using BLS signatures and an honest majority assumption to build availability proofs.

4) Security models

In phase 1, we have security under the honest majority and the uncoordinated majority model. However, the proposing-collating scheme creates a perfect environment for bribers. How to resist bribing attacks in the sharding protocol is an issue we need to figure out in phase 5 — tight coupling.

Ethereum 2.0 end game

1) Full Casper integration

2) Forkful or Fork-free

Resources

🦄 Also, Vitalik updated the Sharding FAQ after the workshop.

Acknowledgments

Thank you to our ED Aya Miyaguchi, researcher Jon Choi, and admin assistant Toya Budunggud for your helpful advice on how to organize the event. Thank you to our advisor Albert Ni for helping review this post.

Thank you to the Ethereum Foundation research team, especially Justin Drake, for the excellent sharding research work that brightened up this workshop, Karl Floersch for being my Amy Poehler, Nate Rush for giving constructive input in the workshop and helping to review this report, and Vlad Zamfir for the inspiring sci-vlarding wubba lubba dub dub!

Thank you to my favorite guests (yep, I’m not impartial): Piper Merriam (Ethereum Foundation Python implementation team, Trinity), Péter Szilágyi and Felix Lange (Ethereum Foundation Go implementation team, geth). One of the best things in this workshop was the communication between research and implementation.

Thank you to the eWASM team for the remote presentation. Sorry for the rushed plan — you are awesome!

Thank you all the attendees from different organizations who came to Taiwan from a great distance for the same goal — scaling Ethereum: Status Research & Development GmbH, ConsenSys, Parity Technologies, Prysmatic Labs, Drops of Diamond, brainbot technologies AG, Web3 Foundation, IC3, Cornell Tech, Cornell University, Singapore University of Technology and Design, L4, Counterfactual, Barcelona Supercomputing Center, and AMIS. Thank you for spending your valuable time, participating and engaging this workshop, and devoting yourself to Ethereum. You built this.

Big thanks to Vitalik Buterin for being a genius, suggesting this great idea, and all the support!

Image for post
Image for post
Request for the gesture of Ethereum.

By the way, Ethereum research team is looking for more talented devs to join our sharding implementation work. 🦄️

And thank you for reading!

Image for post
Image for post
Nicholas, Chih-Cheng, and Mai-Hsuan made all the badges one day before the workshop ❤

Written by

"Ice Bear has committed no crime….today."

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store