The Ethereum 2.0 Annotated Specification

Contents

Phase 0: The beacon chain

Phase 1: Shard chains

Phase 2: Execution environments

SSZ: Simple serialize

Preface

Welcome to my project to annotate the Ethereum 2.0 specifications! As the specs have developed and become formalised over time, a lot of the intuition, rationale, explanation and insight has been taken out. This is my attempt to put this back in before it's lost forever.

There are several sources for my comments. First is simply having followed, chronicled, and occasionally participated in the building of Eth2 over a long period. Part of my day job has been working with PegaSys on our Java Eth2 client, now called Teku. Another important source of info is GitHub archaeology (love that "blame" button!). Finally, for stuff that I couldn't figure out by myself, Danny Ryan has been a very patient answerer of questions 🙏

This project is going to take a while. Currently I'm still working through the beacon chain specification for Phase 0, which is the very first part. Check back for regular updates.

When I occasionally refer to "we" or "us" in the comments, I am talking about the wonderful Teku/Artemis Eth2 client development team in PegaSys that first assembled in November 2018 and continues to go from strength to strength.

Ben Edgington