ETH节点
上期回顾 - 运行ETH客户端
每个ETH节点需要运行两个客户端软件,一个是
执行客户端
,一个是共识客户端
执行客户端
:负责提供远程调用方法
供Web3钱包用户调用,负责交易处理
(EVM)、交易广播
、状态管理
共识客户端
:处理使节点与以太坊网络保持同步
的全部逻辑,负责区块构建
、区块广播
,处理共识逻辑。不参与
对区块的证明或提议
——这是由验证者
完成的,而验证者是共识客户端的一种可选附加组件
验证者
:节点可以在存款合约
中存入32
个以太币来为其共识客户端添加一个验证者。验证者客户端与共识客户端捆绑
在一起,并且可随时添加到节点中
没有验证者的共识客户端
只会追踪链头
,使节点保持同步
,咱们 运行节点的文章中就是没有验证者的共识客户端
节点示意图
这张图借用自 geth.ethereum.org
通信机制
- 所有的
执行客户端
之间通过对等(p2p)网络保持通信 - 所有的
共识客户端
之间通过对等(p2p)网络保持通信 - 这两组对等网络之间是隔离的,即
执行客户端网络
和共识客户端网络
不是互相通信,这样做能有效的隔离风险 - 一组客户端通过验证后是可以进行通信的(不然的话就没办法构建区块了)