信标链(Beacon)
信标链是一个由“空”区块组成的链, 类似与 web2 中的灰度测试,它与原有的 POW 工作量证明以太坊一起运行, 信标链也接受来自执行客户端的交易数据, 直到原有的以太坊客户端停止挖矿、区块传播及旧的共识逻辑,并将这一切转交给信标链。 这一事件称为 The Merge(合并)
在以太坊 2.0(信标链)中,Epoch(周期)、Slot(时隙)、Block(区块)和 Transaction(交易)是结构化的时间和操作单位,它们共同定义了网络如何处理和组织数据,信标链时间被分割成 Slot(时隙),每个时隙对应于一个可能的 block 区块生成机会(不一定会出块),多个Slot(时隙)组成一个 Epoch(周期), 在每个周期结束时,网络会进行状态更新,并可能更改验证者的职责分配
1. Epoch(周期)
Epoch 是信标链时间的大单位,是验证者职责轮换、状态更新和奖励/惩罚结算的周期性窗口。
- 长度:一个 Epoch 通常由 32 个 Slot 组成。也就是说,信标链的时间被分成多个 Epoch,而每个 Epoch 又包含多个 Slot。
- 职责:在每个 Epoch 开始时,信标链会重新分配验证者的职责,包括哪些验证者负责在特定的 Slot 中提议区块,哪些验证者负责验证和签名。
- 状态更新:在每个 Epoch 结束时,信标链会更新网络状态,包括验证者的奖励和惩罚,这些基于验证者在该周期内的表现。
2. Slot(时隙)
Slot 是信标链时间的基本单位,每个 Slot 对应于一次生成区块的机会。
- 长度:一个 Slot 的长度通常为 12 秒,即每 12 秒,网络都有一次生成一个新区块的机会。
- 职责分配:每个 Slot 会随机分配一个验证者来提议区块,其他验证者则负责对该区块进行验证和签名。
- 区块生成:在一个 Slot 内,如果分配的验证者提议了区块,区块会被验证并记录在信标链中。如果该 Slot 的区块没有成功生成(例如,验证者未能在时间内提议),该 Slot 将为空槽。
3. Block(区块)
Block 是信标链中包含数据的结构化单元,类似于以太坊 1.0 中的区块,但在信标链中,区块的生成和处理机制有所不同。
- 生成:每个 Slot 都有一次生成区块的机会,但并不是每个 Slot 都一定会生成区块。如果在一个 Slot 中,分配的验证者提议了区块并被其他验证者验证通过,则该 Slot 生成的区块会被添加到信标链中。
- 内容:信标链中的区块主要包含以下内容:
- 区块头:记录区块的元数据,如父区块哈希、区块高度、提议者签名等。
- 验证者的证明:记录其他验证者对区块的验证和签名。
- 状态根哈希:记录当前信标链状态的根哈希值。
- 交易数据:在信标链中,最初的区块不包含用户交易(这些交易发生在以太坊主网上)。但是随着信标链的发展和分片链的引入,区块将逐步支持和包含交易数据。
4. Transaction(交易)
Transaction 是用户发起的状态改变操作,例如发送 ETH、调用智能合约、是包含在区块内的
在信标链刚启动时,交易数据并不直接包含在信标链的区块中。以太坊 1.0 的 PoW 主网继续处理交易,并通过“合并”(The Merge)将其切换到 PoS 信标链上。
在以太坊2.0中,执行层(原以太坊1.0链)处理交易,而共识层(信标链)则负责验证和最终确认这些交易,两层之间的协作过程:
- 执行层处理交易并生成执行 Payload。
- 共识层的区块提议者从执行层获取执行 Payload。
- 提议者将执行 Payload 包含在新的信标区块中。
- 其他验证者验证该区块,包括执行 Payload 的有效性。
- 验证者就新区块达成共识。
- 一旦区块被最终确认,执行层就会更新其规范链视图
执行层客户端: Geth、Reth
共识层客户度: Prysm 、 Lighthouse
关系总结:
- 多个Epoch组成信标链
- 每个Epoch包含32个Slot
- 每个Slot可能包含0 或1 个Block
- 每个Block可以包含多个Tx
信标链
|
|-- Epoch 0
| |-- Slot 0 (Block 0 + Txs)
| |-- Slot 1 (Empty)
| |-- Slot 2 (Block 1 + Txs)
| ...
| |-- Slot 31 (Block 31 + Txs)
|
|-- Epoch 1
| |-- Slot 32 (Block 32 + Txs)
| |-- Slot 33 (Block 33 + Txs)
| ...
| |-- Slot 63 (Empty)
|
...