Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Embracing the Beacon Chain 🤝 #10356

Merged
merged 4 commits into from
May 31, 2023
Merged

Conversation

SebastianSupreme
Copy link
Contributor

Improved version of #9589


The Beacon Chain was a foundational component for [the secure, environmentally friendly and scalable Ethereum we have now](/roadmap/vision/).
The Beacon Chain is the name given to a ledger of accounts that conducted and coordinated the network of Ethereum [stakers](/staking/) before those stakers started validating real Ethereum blocks. It does not process transactions or handle smart contract interactions though because that is being done in the execution layer.
The Beacon Chain is responsible for things like block and attestation gossip, running the fork choice algorithm, following the head of the chain, and [much more](/developers/docs/nodes-and-clients/node-architecture/#node-comparison).
Copy link
Contributor

@jmcook1186 jmcook1186 May 31, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Just to make this a little less ambiguous

Suggested change
The Beacon Chain is responsible for things like block and attestation gossip, running the fork choice algorithm, following the head of the chain, and [much more](/developers/docs/nodes-and-clients/node-architecture/#node-comparison).
The Beacon Chain is responsible for things like block and attestation handling, running the fork choice algorithm, and managing rewards and penalties.
Read more on our [node architecture page](/developers/docs/nodes-and-clients/node-architecture/#node-comparison).


The Beacon Chain was the name of the original proof-of-stake blockchain that was launched in 2020. It was created to ensure the proof-of-stake consensus logic was sound and sustainable before enabling it on Ethereum Mainnet. Therefore, it ran alongside the original proof-of-work Ethereum. Switching off proof-of-work and switching on proof-of-stake on Ethereum required instructing the Beacon Chain to accept transactions from the original Ethereum chain, bundle them into blocks and then organize them into a blockchain using a proof-of-stake based consensus mechanism. At the same moment, the original Ethereum clients turned off their mining, block propagation and consensus logic, handing that all over to the Beacon Chain. This event was known as [The Merge](/roadmap/merge/). Once The Merge happened, there were no longer two blockchains; there was just one proof-of-stake Ethereum chain.
The Beacon Chain is the name of the original proof-of-stake blockchain that was launched in 2020. It was created to ensure the proof-of-stake consensus logic was sound and sustainable before enabling it on Ethereum Mainnet. Therefore, it ran alongside the original proof-of-work Ethereum. Switching off proof-of-work and switching on proof-of-stake on Ethereum required instructing the Beacon Chain to accept transactions from the original Ethereum chain, bundle them into blocks and then organize them into a blockchain using a proof-of-stake based consensus mechanism. At the same moment, the original Ethereum clients turned off their mining, block propagation and consensus logic, handing that all over to the Beacon Chain. This event was known as [The Merge](/roadmap/merge/). Once The Merge happened, there were no longer two blockchains; there was just one proof-of-stake Ethereum chain. The Merge also introduced a modular blockchain design, which is why Ethereum now consists of two layers that communicate through the Engine API. Those layers are the consensus layer (i.e. the imported Beacon Chain) and the execution layer (i.e. the original Ethereum blockchain).
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Modular blockchains generally refers to systems that use separate networks for their data availability, computation and/or consensus. I do understand where you are coming from calling out the modularity of the two clients, but I think it could confuse people because Ethereum is still monolithic (one chain handles execution, consensus and data availability), at least for now.

Suggested change
The Beacon Chain is the name of the original proof-of-stake blockchain that was launched in 2020. It was created to ensure the proof-of-stake consensus logic was sound and sustainable before enabling it on Ethereum Mainnet. Therefore, it ran alongside the original proof-of-work Ethereum. Switching off proof-of-work and switching on proof-of-stake on Ethereum required instructing the Beacon Chain to accept transactions from the original Ethereum chain, bundle them into blocks and then organize them into a blockchain using a proof-of-stake based consensus mechanism. At the same moment, the original Ethereum clients turned off their mining, block propagation and consensus logic, handing that all over to the Beacon Chain. This event was known as [The Merge](/roadmap/merge/). Once The Merge happened, there were no longer two blockchains; there was just one proof-of-stake Ethereum chain. The Merge also introduced a modular blockchain design, which is why Ethereum now consists of two layers that communicate through the Engine API. Those layers are the consensus layer (i.e. the imported Beacon Chain) and the execution layer (i.e. the original Ethereum blockchain).
The Beacon Chain is the name of the original proof-of-stake blockchain that was launched in 2020. It was created to ensure the proof-of-stake consensus logic was sound and sustainable before enabling it on Ethereum Mainnet. Therefore, it ran alongside the original proof-of-work Ethereum. Switching off proof-of-work and switching on proof-of-stake on Ethereum required instructing the Beacon Chain to accept transactions from the original Ethereum chain, bundle them into blocks and then organize them into a blockchain using a proof-of-stake based consensus mechanism. At the same moment, the original Ethereum clients turned off their mining, block propagation and consensus logic, handing that all over to the Beacon Chain. This event was known as [The Merge](/roadmap/merge/). Once The Merge happened, there were no longer two blockchains; there was just one proof-of-stake Ethereum chain.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Would it be ok to just swap modular for layered?
Because I do think it's important to create that connection between Beacon Chain and consensus layer here in this paragraph that introduces and defines the Beacon Chain.
And there's just no way of doing that without mentioning the two layers.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ok, fair point. How about just being very explicit about it? Something like:

"Since The Merge, Ethereum nodes have had to run two clients: one responsible for gossiping and executing transactions and managing Ethereum's state, and one that handles block gossip and consensus logic. Each of these clients has its own peer-to-peer network, which is why it is common to refer to the "execution layer" and "consensus layer". The two layers can communicate with one another using the Engine API. Up until The Merge, the Beacon Chain was a chain of 'empty' blocks created by the consensus layer, before it started accepting transaction data from execution clients."

Copy link
Contributor

@jmcook1186 jmcook1186 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

left some nitpicks, once they are resolved this sgtm - thanks!

@gatsby-cloud
Copy link

gatsby-cloud bot commented May 31, 2023

✅ ethereum-org-website-dev deploy preview ready

@SebastianSupreme
Copy link
Contributor Author

@jmcook1186 Should be good to go now

Copy link
Contributor

@jmcook1186 jmcook1186 left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

lgtm!
thanks :o)

@jmcook1186 jmcook1186 merged commit a4e1041 into ethereum:dev May 31, 2023
@SebastianSupreme SebastianSupreme deleted the patch-1 branch May 31, 2023 17:05
This was referenced Jun 7, 2023
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
content 🖋️ This involves copy additions or edits
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants