Welcome to my book about upgrading Ethereum: Ethereum on proof of stake and beyond.
I am writing this book backwards. Bottom up. Starting with the details and working towards the big picture.
The first pretty much complete part is Part 3: The Annotated Spec. These are the guts of the machine. Like the innards of a computer, all the components are showing and the wires are hanging out: everything is on display. But with the guts in place, everything else can be built around them with the messiness all neatly tucked away.
I'm now working on Part 2: Technical Overview which wraps a first, hopefully more accessible, layer around the Annotated Spec. Again, I'm writing this backwards, starting with the protocol's Building Blocks and its Incentive Mechanisms and working forwards towards a higher level narrative of how it all fits together. The current focus is on the Consensus chapter.
Warning: until Edition 1.0 is out, anything may change. I'll try not to change URLs and anchors in the Annotated Spec part, but no promises. Anything else, including entire chapters and sections, should be considered unstable.
This is a book for those who want to understand Ethereum 2.0 – Ethereum on proof of stake – at a technical level. What does it do? How does it work? Why is it like this?
Who am I writing for? For people like me! People who enjoy understanding how things work. But more than that, who like to know why things are the way they are. This is not intended to be an academic work; I am more interested in insight than in rigour. But I try to link out to relevant academic papers and formal analyses where relevant.
Although I am an Ethereum staker and an Ethereum user, I am not writing primarily for stakers or users here. Some of the generic material on Staking may be relevant (once I have written it), but you will find better help in places like the excellent EthStaker community.
The scope of the book concerns (what I consider to be) the Ethereum 2.0 protocol. Ethereum 2.0 has become a less well-defined term recently. But for me, it broadly includes,
- all things proof of stake and the beacon chain,
- the process of The Merge by which Ethereum moved to proof of stake,
- in-protocol data sharding, and
- an array of potential future enhancements.
I will not be covering any of the historic Ethereum 1.0 protocol, except as it touches upon The Merge. The Mastering Ethereum book is an excellent resource, though rather out of date now. Although rollups and other so-called layer 2 solutions have rapidly become part of the overall Ethereum 2.0 system, they are by definition not in-protocol, and I will not be covering them here. I will not be discussing, DeFi, DAOs, NFTs, or any of the wonderful things that can be built on top of this amazing technology.
It's a chunky list of exclusions, but there's still plenty to talk about.
This edition covers the Capella version of the deployed Ethereum 2.0 consensus layer. The beacon chain went live with Phase 0 on December 1st, 2020. It was upgraded to Altair on October 27th, 2021, to Bellatrix on September 6th, 2022, and to Capella on April 12th, 2023.
Historical and current versions of Upgrading Ethereum are available online:
- The old Altair spec version,
- The old Bellatrix spec version,
- The current Capella spec version, and
- The latest version, which is currently Capella.
My original annotated specification for the Phase 0 version is also available, though largely of historical interest and now subsumed into this book.
When I started this writing project, Ethereum on proof of stake was universally known as Ethereum 2.0, Eth2 for short, as it had been since 2014. This reflects the fact that the Ethereum 2.0 vision diverged from the original Ethereum 1.0 implementation in many respects. The direction of travel was well-captured in the Ethereum.org 2.0 Mauve Paper in 2016. The details of our eventual implementation differ from what's presented there, but the elements were all in place even then. Eth2 was to deliver not only proof of stake, but new cryptography, new peer-to-peer networking, new cryptoeconomics, and new directions in scalability, among other things. This is what we achieved.
In 2022, the Ethereum Foundation declared that we must emphasise continuity over discontinuity by rebranding Ethereum 2.0 back to plain old Ethereum. With the way that the Merge was coming together, that made some sense from an Ethereum user's point of view. The user and developer experience was to be almost unchanged by the move to proof of stake.
However, I am not writing primarily as a user of Ethereum or as a developer on Ethereum. From the point of view of a protocol engineer, the Merge was a moment of profound discontinuity. Ethereum on proof of stake is utterly different from Ethereum on proof of work - the size and complexity of this book is ample evidence of that. With Ethereum's new architecture we have delivered a good chunk of what the Mauve Paper laid out all those years ago.
This is why I often continue to refer to Ethereum on proof of stake as Ethereum 2.0 or Eth21, and I make no apology for that. I am confident that you will understand what I mean, and that it will help clarify rather than confuse.
Above all, I want to thank my employer, Consensys. Much of the writing has been done in my own time, but Consensys has been increasingly supportive of me working on this in the course of my day job. In particular, during Q2 2023, the company granted me three months of writing leave to work full-time on the book. They also allowed me to put a liberal licence on everything. All this is extremely cool of them, and I am deeply grateful. Consensys is a wonderful employer, a terrific force for good in the ecosystem, and an incredible place to work.
So much of what I do involves writing about other people's work, and pretty much everything in this book is other people's work. I deeply value the openness and generosity of the Ethereum community. For me, this is one of its defining characteristics. Many people's contributions are cited throughout this book, and I am indebted to all of you. Being part of the Eth2 dev community has been the best experience of my life.
Thank you to the many GitCoin grant supporters who donated in support of the original annotated specification and my regular What's New in Eth2 newsletter. And to generous crypto friends, anon and otherwise, for your kind gifts over the years. Your support has encouraged me hugely as I've wrestled with the minutiae of the spec. I bloody love this community.
Shout-out to the EthStaker community: you rock!
Finally, to circle back to Consensys: working daily with such brilliant, talented, generous, and knowledgeable people is a joy. The Protocols group, PegaSys, has been my home for the past five-plus years. It is where I helped establish the fabulous Protocols R&D team, and later kicked off the project that became Teku. Thank you for all your support and encouragement. I love working with all you wonderful people.
- That, and being a bloody-minded reactionary who dislikes being told what to do and say by a centralised authority. The EF's claim that, "As of late 2021, core developers stopped using the terminology" is laughably untrue.↩