品牌网站建设公司哪好,哪里可以建设网站,长春网站建设报价,中国舆情在线网概要
ETH网络是一个P2P网络#xff0c;整个网络又区分为“执行层”与“共识层”。“执行层”节点负责交易交换#xff0c;“共识层”节点负责区块打包、区块验证、区块同步和链同步。
执行层
执行层分为“服务发现”与“DevP2P”#xff0c;两者共同并行执行。
服务发现…概要
ETH网络是一个P2P网络整个网络又区分为“执行层”与“共识层”。“执行层”节点负责交易交换“共识层”节点负责区块打包、区块验证、区块同步和链同步。
执行层
执行层分为“服务发现”与“DevP2P”两者共同并行执行。
服务发现
建立在UDP协议上通过PING-PONG方式同步执行层节点信息PING中包含当前发现的所有节点信息PONG理解为PING的哈希值。当节点从PING-PONG中发现新的节点则会与新节点之间建立新的PING-PONG交互。
DevP2P
建立在TCP协议上与其他节点进行加密通信在权益证明的当下DevP2P使用有线协议进行交易交换交易交换值对等节点之间互相同步未打包交易池的交易数据。
交易执行
在当前节点的共识客户端为区块生产者时执行层会负责选择交易池中的交易进行执行并打包交由共识客户端记录并广播传递。 若当前节点的共识客户端不上区块生产者执行层会从共识客户端获取交易从其他共识客户端同步的新区块中的交易并进行执行与验证将验证结果返回共识客户端。
共识层
共识层也有“服务发现“与执行层发现类似但是有一定细节区别。 共识层通过P2P协议与其他共识层节点进行区块同步和链同步。
连接执行客户端和共识客户端
共识客户端和执行客户端并行运行。它们需要连接起来以便共识客户端可以向执行客户端提供指令并且执行客户端可以将交易束传递给共识客户端以包含在 Beacon 块中。两个客户端之间的通信可以使用本地RPC连接来实现。称为“Engine-API”的 API在新选项卡中打开↗定义两个客户端之间发送的指令。由于两个客户端都位于单个网络身份后面因此它们共享一个 ENR以太坊节点记录其中包含每个客户端的单独密钥eth1 密钥和 eth2 密钥。
控制流摘要如下所示相关网络堆栈位于括号中。
当共识客户端不是区块生产者时 共识客户端通过区块八卦协议接收区块共识 p2p 共识客户端预先验证该块即确保它来自具有正确元数据的有效发送者 块中的交易作为执行负载发送到执行层本地 RPC 连接 执行层执行交易并验证块头中的状态即检查哈希值匹配 执行层将验证数据传递回共识层块现在被视为已验证本地 RPC 连接 共识层将块添加到自己的区块链头部并对其进行证明通过网络广播证明共识 p2p
当共识客户端是区块生产者时 共识客户端收到通知表明它是下一个区块生产者共识 p2p 共识层调用create block执行客户端中的方法本地RPC 执行层访问已由交易八卦协议填充的交易内存池执行p2p 执行客户端将交易捆绑到区块中执行交易并生成区块哈希 共识客户端从执行客户端获取交易和块哈希并将它们添加到信标块本地 RPC 共识客户端通过区块八卦协议广播区块共识 p2p 其他客户端通过区块八卦协议接收提议的区块并如上所述进行验证共识 p2p 一旦该块被足够的验证者证明它就会被添加到链的头部经过验证并最终确定。