Skip to content

Commit 5b9625d

Browse files
authored
Apply suggestions from code review
1 parent 00d3da4 commit 5b9625d

File tree

1 file changed

+9
-4
lines changed
  • src/content/developers/docs/nodes-and-clients/node-architecture

1 file changed

+9
-4
lines changed

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

Lines changed: 9 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -4,13 +4,13 @@ description: Introduction to how Ethereum nodes are organized.
44
lang: en
55
---
66

7-
An Ethereum node is composed of two clients: an [execution client](https://ethereum.org/en/developers/docs/nodes-and-clients/#execution-clients) and a [consensus client](https://ethereum.org/en/developers/docs/nodes-and-clients/#consensus-clients).
7+
An Ethereum node is composed of two clients: an [execution client](/developers/docs/nodes-and-clients/#execution-clients) and a [consensus client](/developers/docs/nodes-and-clients/#consensus-clients).
88

99
When Ethereum was using [proof-of-work](/developers/docs/consensus-mechanisms/pow/), an execution client was enough to run a full Ethereum node. However, since implementing [proof-of-stake](/developers/docs/consensus-mechanisms/pow/), the execution client needs to be used alongside another piece of software called a [“consensus client”](/developers/docs/nodes-and-clients/#consensus-clients).
1010

11-
The relationship between the two Ethereum clients is shown in the schematic below. The two clients each connect to their own respective peer-to-peer (P2P) networks. This is because the execution clients gossip transactions over their P2P network enabling them to manage their local transaction pool. The consensus clients gossip blocks over their P2P network, enabling consensus and chain growth.
11+
The diagram below shows the relationship between the two Ethereum clients. The two clients connect to their own respective peer-to-peer (P2P) networks. Separate P2P networks are needed as the execution clients gossip transactions over their P2P network, enabling them to manage their local transaction pool, whilst the consensus clients gossip blocks over their P2P network, enabling consensus and chain growth.
1212

13-
![node-architecture](node-architecture-text-background.png)
13+
![](node-architecture-text-background.png)
1414

1515
_This image is borrowed from geth.ethereum.org and uses the Geth logo to represent execution clients - there are other options for the execution client including Erigon, Nethermind and Besu_
1616

@@ -39,7 +39,11 @@ The consensus client does not participate in attesting to or proposing blocks -
3939

4040
Node operators can add a validator to their consensus clients if 32 ETH is 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. They enable a node to accrue rewards or lose ETH via penalties or slashing. Running the validator software also makes a node eligible to be selected to propose a new block.
4141

42-
Read more about [staking](/staking).
42+
[More on staking](/staking/).
43+
44+
## Components of a node comparison {#node-comparison}
45+
46+
4347
| Execution Client | Consensus Client | Validator |
4448
| -------------------------------------------------- | ---------------------------------------------------------------- | ---------------------------- |
4549
| Gossips transactions over its p2p network | Gossips blocks and attestations overs its p2p network | Proposes blocks |
@@ -48,6 +52,7 @@ Read more about [staking](/staking).
4852
| Manages state and receipts tries | Manages the Beacon state (contains consensus and execution info) | Requires 32 ETH to be staked |
4953
| Creates execution payload | Keeps track of accumulated randomness in RANDAO | Proposes blocks |
5054
| Exposes JSON-RPC API for interacting with Ethereum | Keeps track of justification and finalization | Can be slashed
55+
5156
## Further reading {#further-reading}
5257

5358
- [Proof-of-stake](/developers/docs/consensus-mechanisms/pos)

0 commit comments

Comments
 (0)