metadata: {"type": "project", "title": "Upgrading Ethereum Book", "logoImg": "bafkreicjjaaygbvc2imdvvmnnczomw5wgt2uo4ndksh6hnwjpoy3bm3udq", "website": "https://eth2book.info/latest/", "bannerImg": "bafkreigxn3lbjrrk4j63jjf4mle24dfrlkdp5mcvpkfjxpqln57atfv47a", "createdAt": 1681887412224, "userGithub": "benjaminion", "credentials": {"twitter": {"type": ["VerifiableCredential"], "proof": {"jws": "eyJhbGciOiJFZERTQSIsImNyaXQiOlsiYjY0Il0sImI2NCI6ZmFsc2V9..oP3tplAj90blV7FQnQCJcRymSa9TeqYeEnPe1piO0dZpyXoI-3aVUJ73W-Q-L5EWJOb1Px4fa5-NwlQ2z6AhBQ", "type": "Ed25519Signature2018", "created": "2023-10-31T16:16:58.946Z", "proofPurpose": "assertionMethod", "verificationMethod": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC#z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC"}, "issuer": "did:key:z6MkghvGHLobLEdj1bgRLhS4LPGJAvbMA1tn2zcRyqmYU5LC", "@context": ["https://www.w3.org/2018/credentials/v1"], "issuanceDate": "2023-10-31T16:16:58.946Z", "expirationDate": "2024-01-29T16:16:58.946Z", "credentialSubject": {"id": "did:pkh:eip155:1:0x41997060113Af630A591e6Cb23E1bC15fc90dc73", "hash": "v0.0.0:W7C8vqNBdOBESFy0kMPSQ0zbEMkMDiJxGl9L92g0x0A=", "@context": [{"hash": "https://schema.org/Text", "provider": "https://schema.org/Text"}], "provider": "ClearTextTwitter#benjaminion_xyz"}}}, "description": "# Upgrading Ethereum\n\n> A technical handbook on Ethereum's move to proof of stake and beyond\n\nI am writing the go-to reference on Ethereum's consensus layer. It is available [online](https://eth2book.info/latest/) and in prototype [PDF form](https://eth2book.info/latest/book.pdf).\n\nSo far, I've written over 135,000 words, with 126 illustrations, amounting to 367 pages when formatted as a PDF. I feel like I am about 60% done \ud83d\ude05\n\n**Upgrading Ethereum** aims to thoroughly document and explain the current design, the history, and the decision making around our proof of stake protocol. Anyone who has spent time studying the workings of Ethereum's consensus layer knows that so much information is scattered and hard to find, out of date, or incomplete. I am working hard on fixing that.\n\nThe guts of the book is the [annotated specification](https://eth2book.info/latest/annotated-spec/). This is essentially complete and up to date, and covers the entire state transition and fork choice.\n\nVarious more didactic sections are also done: a chapter on the [incentive mechanisms](https://eth2book.info/latest/part2/incentives/), a chapter on [deposits and withdrawals](https://eth2book.info/latest/part2/deposits-withdrawals/), a chapter on the [funky algorithms](https://eth2book.info/latest/part2/building_blocks/) we use. I'm currently working on the crucial [consensus](https://eth2book.info/latest/part2/consensus/) chapter.\n\nMuch remains to do, however. In particular, the more introductory material. I want to offer useful material for all levels of experience, keeping it current, accurate, insightful and useful. The book's [contents page](https://eth2book.info/latest/contents/) indicates the scope of what I expect to cover.\n\nThis project grew out of my original Eth2 [Phase0 annotated specification](https://benjaminion.xyz/eth2-annotated-spec/phase0/beacon-chain/) - I think I have demonstrated a decent track record of maintaining things since then. I am very grateful to past GitCoin contributors for all your support and encouragement \ud83d\ude4f.\n\nThe source material &ndash; the book text, the image source files, and everything needed to build the thing &ndash; is all available [on GitHub](https://github.com/benjaminion/upgrading-ethereum-book), and the licence is liberal.\n\n---\n\nSome recent kind testimonials from the site fka Twitter: [@Miyinan2](https://twitter.com/Miyinan2/status/1686804629353361422), [@_prestwich](https://twitter.com/_prestwich/status/1678097001064562688), [@proofofjk](https://twitter.com/proofofjk/status/1663801453746749442), [@MalionDiaz](https://twitter.com/MalionDiaz/status/1676526913651900417) (Japanese), [@StaderHispano](https://twitter.com/StaderHispano/status/1673477288287936512) (Spanish), [@casparschwa](https://twitter.com/casparschwa/status/1654382077008068608), [@jedicarter](https://twitter.com/jedicarter/status/1660083726812848128), [@kraveez](https://twitter.com/kraveez/status/1657151543643086849), [@hotpot_dao](https://twitter.com/hotpot_dao/status/1660036628759425028), [@purplepill3m](https://twitter.com/purplepill3m/status/1657094176897392684), [@MattKunke](https://twitter.com/MattKunke/status/1654459641978339336).", "logoImgData": {}, "bannerImgData": {}, "projectTwitter": "benjaminion_xyz"}
name: Upgrading Ethereum Book