当前位置:首页 > 物联网 > 区块链
[导读] 自2018年末推出以来,Lisk改进建议(或LIPs)与Lisk社区密切合作,帮助改善了生态系统。我们通过这个过程引入的许多网络特性之一是新的拜占庭容错(BFT)共识系统。在这篇博客文章中,我们

自2018年末推出以来,Lisk改进建议(或LIPs)与Lisk社区密切合作,帮助改善了生态系统。我们通过这个过程引入的许多网络特性之一是新的拜占庭容错(BFT)共识系统。在这篇博客文章中,我们已经讨论了Lisk协议共识算法的优点。在Lisk SDK 3.0.0中实现它之前,我想关注BFT共识的一个重要方面——计算块终结的过程,即保证某个特定块永远不会被还原。

BFT的主要好处是什么?

在深入讨论这个主题之前,让我们快速浏览一下BFT在区块链上改进的基本关键特性。

1. 安全性:如果网络中超过 2/3 的活动委托诚实地遵循协议,则两个冲突块永远无法在链上最终确定。

2. 活性:即使 1/3 的活动委托脱机,新块仍可在网络上完成。

3. 问责制:如果代表违反议定书,他/她将对此负责。

这是BFT为协议提供的三个高级值。它试图尽快从分叉中恢复过来,以更好地完成网络链的增长。这些特性都需要更广泛的理解。在这里,我们将更多地关注实现细节。

使用BFT共识,每个节点不仅仅维护了区块链。它还在内存中维护额外的元数据,以便根据算法定义的规则验证块。此信息还将部分保存在区块链本身上,以确保节点在崩溃时可以重建内存中的数据集。对于每个块,我们额外保留到区块链的一个属性是委托之前锻造的高度和锻造该块时预投票的最大高度。与此同时,每个节点将保持最终确定的高度,因此在链恢复的情况下,已经确定的块不能被恢复。

让我们进入今天的主题——代表们为块投票。

为块进行民主投票

在Lisk生态系统中,投票并不是什么新鲜事——它是所有授权的权益关系证明(DPoS)协商共识算法的核心。LSK代币持有者可以为代表投票,然后,根据他们的投票,系统选择有资格为特定一轮铸造新区块的最高代表。以前,投票制度只用于为代表投票。随着BFT的引入,这一概念得到了扩展。现在,每个委托者将为每个块投一票,唯一的区别是这些票将由各个节点维护和保存。只有少数计算出来的属性将与网络共享,而不是与整个投票分类账共享。系统中的数学公式和协议检查将确保每个节点投出适当的选票。

与任何投票系统一样,基本规则是,作为一个代表,您只能对特定高度的块投一次票。由于两个块不能在同一高度上存在,所以实际上可以为每个块投一次票。这个过程称为预投票。收集到块⅔以上的选票(多数)有资格获得下一轮的投票。

第二轮投票称为预提交,规则相同 - 一名代表可以预先提交一个块,合格的块即意味着已经获得了超过2/3的所有预投票。最终确定的最高块将被视为链的最终高度。所有高度低于最终确定的块也将被视为最终确定块,在任何情况下都不能还原。

还有一些其他的规则:

1. 代表不能预先投票,也不能预先提交他们没有参与的那轮投票的区块。这样做是为了避免垃圾投票。因此,我们需要跟踪委托何时开始活动。

2. 代表不能提预投票和预提交超过两轮,以提高整个系统的性能。

示例场景#1—四个委托,都是伪造的

为了更好地理解这个概念,让我们举一个小例子。假设网络中有四个活动的委托。完成任何块——至少⅔(三个代表)必须同意。

4名代表-全部锻造

让我们通过一个数据模拟来进一步理解这一点。

1. 应用区块链时,需要检查以下信息: 代表先前伪造的高度、已获得⅔的区块链中最高高度以及上一次委托处于活动状态的轮数

2. 委托检查前预提交和使所有导向块⅔票为止。考虑到规则,该委托不能两次预提交相同的块。委托也不能预先提交未激活的块。此外,由于性能原因,我们不会在链的当前高度之后的超过两轮执行这些预提交。

3.在每个块上,委托将对所有块进行预投票。考虑到委托不能对同一个块进行两次预投票的规则。代表不能在不活跃的时候提前投票。此外,出于性能原因,我们不会从当前链的高度执行超过两轮的预提交。

4. 如图所示,链中的第一个块在高度6处有三个预提交。这意味着该块已经完成,并且永远不会被还原。

5. 链中的其余块显然应用于链。为了解决网络中的分叉问题,可以适当恢复这些分叉。

6. 你可能会注意到的块⅔选票增加前的预提交。拥有更多预投票的块将有更多的预提交,并且有更多的机会被最终确定。

有一个重要的事实需要记住——终结性不是针对单个块的,而是针对特定块的高度。如果完成了一个块,这意味着它下面的所有块也都完成了。由于委托列表(确定锻造顺序的列表)中的更改,最终结果并不总是按顺序递增的。这意味着有可能有几个块没有完成,但是下一个块将会更早完成。在这种情况下,所有先前的块,高度低于刚刚完成的块,也将被视为完成。

示例场景#2—四个委托,缺少插槽

为了进一步理解这个预投票和预提交流程,让我们以具有相同四个代表的模拟为例,但是这一次代表开始丢失他们的插槽。这导致链的最终性没有平稳地增长,而是在最终块之间有间隙。

在这个数据模拟中,您将注意到第一个最终确定的块位于高度6,而链位于高度11。之所以会出现这种情况,是因为代表们错过了名额,无法预投票,也无法预先对之前的区块做出提交。但是由于高度6已经确定,所以在该高度之前的所有块也将被认为是最终确定的。

示例场景#3 -五个委托,全部切换

现在让我们再举一个例子,有五名代表正在伪造,但在第三轮之后,他们都被其他代表取代了。

在这个模拟中需要注意的关键事实是,最终的高度是如何从高度1持续增长到高度15的。然后从15到30保持静止状态。在每个块上,委托仍然为新块投票,但是由于委托不能在非活动期间预先提交任何块,所以它们没有预先提交旧块。网络将会增长,但不会考虑最后确定任何块。

示例场景#4 - 11个委托,一个委托开关

这个用例更类似于一个真实的网络,在这个网络中,委托列表在几轮中保持一致,然后只有少数几个委托交换它们的位置。在这个数据模拟中,我们还增加了委托的数量,这产生了一组令人难以置信的数字。

在这个例子中,我们可以看到这个网络的最终结果是连续增长到33,然后停止一段时间(4个块)。最终结果又开始增长。这种行为更接近实际生活中的网络。

为什么要进行这些模拟呢?

您可能想知道为什么我们要完成并开发所有这些数据密集型的模拟,尽管逻辑已经被记录下来了。但理解逻辑部分是复杂的,可能会在实现过程中导致错误。这些数据模拟使我们对数据流有了清晰的理解,并可视化了BFT共识性在各种情况下的行为。

与此同时,这些数据模拟帮助我们为实现编写测试,这不仅使实现变得合理,而且为我们提供了扩展和添加更多测试场景的方法。

我们希望这些数据模拟也能帮助您更好地理解BFT共识建议。再次重申,本文只涉及BFT LIP的一个方面,即预投票和预提交。在LIP中还有很多,比如分叉的选择规则和分叉的恢复机制,这些结合起来就可以完成拜占庭式的容错共识。
来源;区块网

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

9月2日消息,不造车的华为或将催生出更大的独角兽公司,随着阿维塔和赛力斯的入局,华为引望愈发显得引人瞩目。

关键字: 阿维塔 塞力斯 华为

加利福尼亚州圣克拉拉县2024年8月30日 /美通社/ -- 数字化转型技术解决方案公司Trianz今天宣布,该公司与Amazon Web Services (AWS)签订了...

关键字: AWS AN BSP 数字化

伦敦2024年8月29日 /美通社/ -- 英国汽车技术公司SODA.Auto推出其旗舰产品SODA V,这是全球首款涵盖汽车工程师从创意到认证的所有需求的工具,可用于创建软件定义汽车。 SODA V工具的开发耗时1.5...

关键字: 汽车 人工智能 智能驱动 BSP

北京2024年8月28日 /美通社/ -- 越来越多用户希望企业业务能7×24不间断运行,同时企业却面临越来越多业务中断的风险,如企业系统复杂性的增加,频繁的功能更新和发布等。如何确保业务连续性,提升韧性,成...

关键字: 亚马逊 解密 控制平面 BSP

8月30日消息,据媒体报道,腾讯和网易近期正在缩减他们对日本游戏市场的投资。

关键字: 腾讯 编码器 CPU

8月28日消息,今天上午,2024中国国际大数据产业博览会开幕式在贵阳举行,华为董事、质量流程IT总裁陶景文发表了演讲。

关键字: 华为 12nm EDA 半导体

8月28日消息,在2024中国国际大数据产业博览会上,华为常务董事、华为云CEO张平安发表演讲称,数字世界的话语权最终是由生态的繁荣决定的。

关键字: 华为 12nm 手机 卫星通信

要点: 有效应对环境变化,经营业绩稳中有升 落实提质增效举措,毛利润率延续升势 战略布局成效显著,战新业务引领增长 以科技创新为引领,提升企业核心竞争力 坚持高质量发展策略,塑强核心竞争优势...

关键字: 通信 BSP 电信运营商 数字经济

北京2024年8月27日 /美通社/ -- 8月21日,由中央广播电视总台与中国电影电视技术学会联合牵头组建的NVI技术创新联盟在BIRTV2024超高清全产业链发展研讨会上宣布正式成立。 活动现场 NVI技术创新联...

关键字: VI 传输协议 音频 BSP

北京2024年8月27日 /美通社/ -- 在8月23日举办的2024年长三角生态绿色一体化发展示范区联合招商会上,软通动力信息技术(集团)股份有限公司(以下简称"软通动力")与长三角投资(上海)有限...

关键字: BSP 信息技术
关闭
关闭