(propose block)或者对由其他验证者提议的区块进行证明(attest to blocks),提议区块的验证者称为 「提议者」,证明区块的验证者称为「证明者」。每个 slot 期间仅会有 1 名提议者和多名证明者,这些证明者将负责证明该区块中的所有信息,包括来自 eth1 的数据和来自信标链的数据。证明者通过对信标链的「三个方面」的当前值(current values)进行正确地投票来获得奖励,这三个方面分别是:区块链的链头(即顶端区块)、被证明的检查点以及被敲定的检查点。02. eth2 中的 MEVMEV (最大可提取价值)是区块提议者通过对他们提议的区块内的交易进行重新排序、审查或者加塞交易,从而获得的所有可能的价值。为了理解 eth2 中的交易排序,我们首先来了解一下被用来对交易进行排序的软件(即 eth2 客户端)的内部工作原理。 1. eth2 客户端由于 eth2 本质上是合并在一起的两条链(即 eth1 链和信标链),因此 eth2 客户端由两个「子客户端」(sub-clients)组成也就不足为奇了:其中一个是执行引擎客户端,另一个是共识客户端。值得注意的是,当前的 PoW 以太坊客户端(即 eth1 客户端)将继续存在于 eth2 中,并与 信标客户端 一起运行,彼此分工不同。 其中,eth2 中的 eth1 客户端是对当前的 PoW 以太坊客户端剥离掉其共识职责,而仅专注于 eth1 链的交易池、eth1 执行和 EVM;而信标客户端负责共识和分配验证者的职责(比如对信标区块的证明和提议)。这两个客户端并行运行,各自维护自己的 p2p 网络堆栈(信标客户端维护 libp2p,eth1 客户端维护 devp2p)。 eth2 客户端可能看起来就像下图这个经修改的示意图(源自 Danny Ryan 撰写的文章 [1]) 图 1 2. eth1 的区块提议正如在当前的 PoW 以太坊中一样,eth2 中的 eth1 客户端将维护一个本地的交易池(mempool),其中包含了来自其 p2p 网络中接收到的交易。正如 Rayonism 规范 [2] 中所描述的,信标客户端将与 eth1 客户端交互,从而形成一个 eth1 区块。虽然该规范中的(两个客户端之间的)通信途径细节可能会在生产中发生变化,但大致的方式很可能会保持一致:
|