Work in progress!
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.
What to expect
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.
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, and there is no point in duplicating it. 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.
Specifically, unless otherwise stated, any reference to the consensus specifications is to the version tagged v1.3.0 (the Gamlum release).
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.
A note on Terminology
The "Ethereum 2.0" terminology is out of favour in some circles, but I don't really care. I will be happily using the terms "Ethereum 2.0", "Ethereum 2", "Ethereum 1", "Eth1", and "Eth2" throughout this book where it makes sense to me, and I'm pretty sure you'll know what I mean. I have more to say about this in the first chapter.
You will also notice that I unapologetically use British English spelling, punctuation, and quaint idioms. It's a feature, not a bug.
First and foremost, I want to thank my employer, ConsenSys. Much of the work has been in my own time, but ConsenSys has also been very cool with me working on this in the course of my day job. 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.