问小白 wenxiaobai
资讯
历史
科技
环境与自然
成长
游戏
财经
文学与艺术
美食
健康
家居
文化
情感
汽车
三农
军事
旅行
运动
教育
生活
星座命理

以太坊2.0信标链工作原理

创作时间:
作者:
@小白创作中心

以太坊2.0信标链工作原理

引用
CSDN
1.
https://blog.csdn.net/zhanglh046/article/details/140171065

以太坊2.0的信标链(Beacon Chain)是其核心创新之一,引入了PoS共识机制并为未来的分片方案奠定了基础。本文将详细介绍信标链的工作原理,包括其区块状态管理、与主链的交互机制以及在共识管理和验证者管理方面的具体作用。

一 什么是信标链

1.1 信标链存在的背景

第一: 以太坊1.0网络可扩展性不足,导致交易处理速度慢和交易费用高
第二: 对能源消耗不友好: PoW需要大量的计算资源和电力来解决复杂的数学难题,从而验证交易。这种高能源消耗对环境不友好。
第三: 需要消耗大量硬件资源: PoW对硬件设备有高要求,通常需要专门的矿机,这增加了成本并导致中心化问题。

1.2 什么是信标链以及信标链作用

第一: 信标链是以太坊2.0核心组成部分,是独立于以太坊主链的一条链,但是和以太坊主链互相交互和协作
第二: 通过引入新的PoS共识机制,从而降低对能源消耗和硬件资源的消耗
第三: 为后期的分片方案提供了基础
第四: 主链作为执行层,负责执行智能合约和更新区块全局状态,以及区块写入链上;信标链主要作为共识层,负责从执行层交易池捞取数据生成区块,并进行验证

二 信标链commitment level

信标链中,区块的状态分为unsafe、safe、finalized, 那什么时候区块的状态会发生改变呢?这里就涉及到slot和 epoch。

2.1 Slot

Slot代表一个时间间隔,这个时间间隔是12s, 每隔12秒验证者就会从执行层的交易池捞取交易数据进行区块打包,我们也可以认为每个12秒就会打包一个区块。

2.2 Epoch

Epoch是每隔32个slot的时间间隔,也就是 12s * 32 = 6.4分钟。

2.3 unsafe、safe、finalized转换

第一: 当slot到期,验证者就会打包一个区块,此时区块状态是unsafe, 一个区块被称为unsafe意味着该区块还没有经过足够的验证者投票确认,可能会被重组或替换。
第二: 当32个slot到期,也就是6.4分钟,这时候会产生一个epoch, epoch内的所有区块的commitment level 会修改为safe 状态。该区块已经过大多数验证者的验证和投票,且在短期内被撤销或替换的可能性非常低, 它仍然有微小的可能性会被重组
第三: 当下一次epoch到期,即12.8分钟后,不仅会将当前epoch内的区块修改为safe, 并且还会把前一个epoch内的区块状态修改为finalized。一旦一个区块被最终确认,它和它之前的所有区块都不可更改,这意味着所有包含在这些区块中的交易状态都是永久性的。

三 信标链有哪些作用

3.1 共识管理

信标链提供了PoS权益证明共识机制,可以减少对能源的消耗,和硬件的依赖。验证者对执行层的区块进行提案和验证,达成共识

3.2 验证者管理

信标链负责管理验证者质押、激活和退出等。

质押: 验证者必须质押32个ETH
激活: 验证者质押后,并不会立即参与到验证者委员会的选举,而是放入到一个队列中等待被激活
退出: 质押者也可以退出

四 信标链如何和主链交互

4.1交易提交和进入交易池

#1用户创建并签名交易后,将其广播到以太坊网络。
#2 执行层节点接收交易,并进行初步验证,验证通过的交易被放入交易池(mempool)。

4.2 交易执行和区块生成

交易执行:执行层节点从交易池中选择交易进行执行,包括智能合约的执行和状态更新。
区块生成:执行层在本地节点上生成一个包含已执行交易和状态变化的区块。

4.3 区块提议和提交

调用GetPayload():信标链通过PoS机制随机选择一个验证者,验证者调用Engine API的GetPayload()函数,从执行层获取已经生成并打包好的区块。
提交新区块:验证者将获取到的区块通过Engine API的NewPayload()函数提交给信标链。

4.4 区块验证和投票

验证和投票:信标链中的其他验证者对新区块进行验证和投票,确保区块和交易的有效性。
达成共识:如果区块获得足够多的验证者投票支持,则该区块被确认并添加到区块链中。

4.5 状态更新和最终性

状态同步:信标链通过Engine API的ForkChoiceUpdated()通知执行层其他节点更新或者同步状态,并将区块写入区块链。
最终性确认:信标链确保区块的最终确认和不可篡改性。

五 信标链共识层和以太坊执行层

第一: 信标链共识层属于信标两;以太坊执行层属于以太坊主链
第二: 信标链共识层的客户端节点有自己的P2P网络;以太坊执行层客户端有自己的P2P网络,如图示:

第三: 信标链共识客户端的作用就是共识管理、验证者管理等;执行层客户端作用就是收集交易,放入交易池,本地执行交易和同步共识层达成共识的区块
第四: 信标链共识客户端和执行层客户端是通过Engine API进行通讯的

© 2023 北京元石科技有限公司 ◎ 京公网安备 11010802042949号