From ffd2a91264411731021af1f799394a62c423df35 Mon Sep 17 00:00:00 2001 From: bt3gl <1130416+bt3gl@users.noreply.github.com> Date: Sat, 24 Sep 2022 00:05:09 -0700 Subject: [PATCH] =?UTF-8?q?=F0=9F=8C=AD=20add=20notes=20on=20network=20add?= =?UTF-8?q?resses=20and=20block=20creation?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- nodes/running-a-node-advanced.md | 56 +++++++++++++++++++++++++++++++- 1 file changed, 55 insertions(+), 1 deletion(-) diff --git a/nodes/running-a-node-advanced.md b/nodes/running-a-node-advanced.md index 0a7d3fc..9e2ea32 100644 --- a/nodes/running-a-node-advanced.md +++ b/nodes/running-a-node-advanced.md @@ -10,7 +10,8 @@

-### tl;dr + +### tl;dr architecture
@@ -29,6 +30,22 @@
+---- + +### tl;dr block creation + +
+ +1. execution clients gossip transactions over the execution-layer peer-to-peer network (encrypted communication) +2. a validator is selected to propose a block, and transactions from the node's local transaction pool is passed to consensus clients via a local RPC connection, which will be packaged into Beacon blocks +3. consensus clients then gossip Beacon blocks across their p2p network +4. the process requires two separate p2p networks: one connecting execution clients for transaction gossip and one connecting consensus clients for block gossip + + + + +--- + ### validator lifecycle
@@ -43,6 +60,41 @@ The sequence of states that a validator can exist in:
+---- + +#### network addresses + +
+ +* three standardized formats that any Ethereum node can understand + + +##### multiaddr + +* universal format designed for peer-to-peer networks +* for example, a classic IPv4 listing to TCP port 33000 `/ip4/192.168.22.27/tcp/33000`, plus an node id (a hash of the pub key) + + +
+ +##### enode + +* identify an Ethereum node using a URL address format + +
+ +##### ethereum node records (ENRs) + +* allow greater informational exchange between nodes +* contains a signature, sequence number and fields detailing the identity scheme used to generate and validate signatures +* key-value pairs contain the node's IP address and information about the sub-protocols the node is able to use +* consensus clients use a specific ENR structure to identify boot nodes + + +
+ +--- + ### the JSON-RPC interface
@@ -52,6 +104,8 @@ The sequence of states that a validator can exist in:
+---- + ### setting a dedicated hardware