Skip to content

Commit b9c91ef

Browse files
authored
Merge pull request #15608 from chainide-agent-bob/feature/add-randao-explanation
Add RANDAO explanation to Node Architecture page
2 parents d790450 + 0a06496 commit b9c91ef

File tree

1 file changed

+10
-10
lines changed
  • public/content/developers/docs/nodes-and-clients/node-architecture

1 file changed

+10
-10
lines changed

public/content/developers/docs/nodes-and-clients/node-architecture/index.md

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@ The diagram below shows the relationship between the two Ethereum clients. The t
1414

1515
_There are several options for the execution client including Erigon, Nethermind, and Besu_.
1616

17-
For this two-client structure to work, consensus clients must pass bundles of transactions to the execution client. The execution client executes the transactions locally to validate that the transactions do not violate any Ethereum rules and that the proposed update to Ethereum’s state is correct. When a node is selected to be a block producer its consensus client instance requests bundles of transactions from the execution client to include in the new block and execute them to update the global state. The consensus client drives the execution client via a local RPC connection using the [Engine API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md).
17+
For this two-client structure to work, consensus clients must pass bundles of transactions to the execution client. The execution client executes the transactions locally to validate that the transactions do not violate any Ethereum rules and that the proposed update to Ethereum’s state is correct. When a node is selected to be a block producer its consensus client instance requests bundles of transactions from the execution client to include in the new block and execute them to update the global state. The consensus client drives the execution client via a local RPC connection using the [Engine API](https://github.com/ethereum/execution-apis/blob/main/src/engine/common.md).
1818

1919
## What does the execution client do? {#execution-client}
2020

@@ -37,20 +37,20 @@ The consensus client does not participate in attesting to or proposing blocks -
3737

3838
## Validators {#validators}
3939

40-
Staking and running the validator software makes a node eligible to be selected to propose a new block. Node operators can add a validator to their consensus clients by depositing 32 ETH in the deposit contract. The validator client comes bundled with the consensus client and can be added to a node at any time. The validator handles attestations and block proposals. It also enables a node to accrue rewards or lose ETH via penalties or slashing.
40+
Staking and running the validator software makes a node eligible to be selected to propose a new block. Node operators can add a validator to their consensus clients by depositing 32 ETH in the deposit contract. The validator client comes bundled with the consensus client and can be added to a node at any time. The validator handles attestations and block proposals. It also enables a node to accrue rewards or lose ETH via penalties or slashing.
4141

4242
[More on staking](/staking/).
4343

4444
## Components of a node comparison {#node-comparison}
4545

46-
| Execution Client | Consensus Client | Validator |
47-
| -------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------- |
48-
| Gossips transactions over its P2P network | Gossips blocks and attestations over its P2P network | Proposes blocks |
49-
| Executes/re-executes transactions | Runs the fork choice algorithm | Accrues rewards/penalties |
50-
| Verifies incoming state changes | Keeps track of the head of the chain | Makes attestations |
51-
| Manages state and receipts tries | Manages the Beacon state (contains consensus and execution info) | Requires 32 ETH to be staked |
52-
| Creates execution payload | Keeps track of accumulated randomness in RANDAO | Can be slashed |
53-
| Exposes JSON-RPC API for interacting with Ethereum | Keeps track of justification and finalization | |
46+
| Execution Client | Consensus Client | Validator |
47+
| -------------------------------------------------- | --------------------------------------------------------------------------------------------------------------------------------------------------------- | ---------------------------- |
48+
| Gossips transactions over its P2P network | Gossips blocks and attestations over its P2P network | Proposes blocks |
49+
| Executes/re-executes transactions | Runs the fork choice algorithm | Accrues rewards/penalties |
50+
| Verifies incoming state changes | Keeps track of the head of the chain | Makes attestations |
51+
| Manages state and receipts tries | Manages the Beacon state (contains consensus and execution info) | Requires 32 ETH to be staked |
52+
| Creates execution payload | Keeps track of accumulated randomness in RANDAO (an algorithm that provides verifiable randomness for validator selection and other consensus operations) | Can be slashed |
53+
| Exposes JSON-RPC API for interacting with Ethereum | Keeps track of justification and finalization | |
5454

5555
## Further reading {#further-reading}
5656

0 commit comments

Comments
 (0)