首页 > 世链号 > 【虚拟数字货币如何投资】用于区块链应用的简化拜占庭容错(SBFT)
韭菜包子  

【虚拟数字货币如何投资】用于区块链应用的简化拜占庭容错(SBFT)

摘要:区块链领域的一个最大争论焦点是各个区块链采用的共识算法,因为共识算法决定了区块链的速度、可靠性和可扩展性。

简化版拜占庭共识

区块链领域的一个最大争论焦点是各个区块链采用的共识算法,因为共识算法决定了区块链的速度、可靠性和可扩展性。本文提出了一种简化版的拜占庭容错共识(sBFT),此版共识改进了当前的实用拜占庭容错共识(PBFT)标准,简化版拜占庭容错出自MiguelCastro和BarbaraLiskov(link)之手,目前瑞波等项目应用了该共识。

区块链技术在数据不可变和可靠性方面发挥重要作用,涉及金融科技(即加密货币)到医疗、生产、研究以及其他行业和应用。因此,用户对区块链功能有很大的改进需求。

 

实用拜占庭容错(PBFT)

要了解PBFT的工作原理,可以阅读以下精选文章:

· https://medium.com/coinmonks/pbft-understanding-the-algorithm-b7a7869650ae

· https://medium.com/coinmonks/implementing-pbft-in-blockchain-12368c6c9548

总而言之,PBFT是一个达成共识的绝佳方案,但由于发送的消息数会伴随网络增长而呈指数增长,因此它的扩展性很差。最大的消息数计算公式如下:

M=1+3f+3f²+(3f)(3f+1)+3f+1

其中f为给定网络大小为N的允许故障节点数,f的计算公式为:

f=(n-1)/3

也就是说,针对一个拥有7个节点,允许2个故障或损坏节点的网络而言,达成实用拜占庭容错共识至少要发送92条信息。10个故障节点则需要发送191条消息,40个故障节点需要3,161条消息。每创建一个新区块就要重复发送这些消息。

 

为什么需要简化拜占庭容错(SBFT)?

与PBFT相比,SBFT只需发送它的1/3消息数,达成共识的速度更快,绝大多数情况只需0.2秒,SBFT的消息数计算方法如下:

M=(3f+1)(2f+1)+1

因此,如果有7个故障节点的网络,只需发送36条消息。有10个故障节点则发送71条消息,40个故障节点则发送1081条信息。

 

SBFT如何工作?

SBFT是专门为区块链应用而设计的,它引入了三种新的机制:

· 将委托中的节点分组,第一节点为领导人,第二个节点为第二领导人,以此类推。

· 每个新区块都由一个事先确定好是“打开”或“关闭”时间戳的特定委托来维护。委托中的其他节点会共享这个时间戳信息。

· 每个节点都有自己采取特定行动的时间以及特定的行动指令。

 

基础时间轴

假设一个有着4个节点(N=4)的委托允许一个故障节点(f=1),并设定所有节点都知道的新区块“关闭”时间t=0s。而且,每个节点都有那些即将纳入新区块的未决交易。

当t=0时,所有节点自动开启共识过程,各自生成自己区块的哈希和交易,并将区块哈希发送给委托中的其他节点。同时,节点们开始监听其他节点发送的区块哈希。

 

共识过程

让我们从节点1号(N1,即委托中的第一个节点)的角度来了解共识过程,N1具有最高优先权。A(n)和B(n)是其他节点的哈希。在本例中,N3是一个故障节点,其哈希(B3)不一致。对于一个4节点系统,至少要3个节点达成共识。

如下图所示,一旦第3个节点的哈希一致,N1就认为达成共识了。在本例中,N1是节点共识池的领导人,它负责广播新区块。

 

其他情况

从N2的角度来看看上面的例子。在这种情况下,N2也可以达成共识,但由于它不是领导节点,所有无权做任何事情。这种情况说明消息的传入顺序并不重要。

 

时间问题

SBFT共识的另一个好处是,系统不需要等待所有节点的响应,即使领导节点出现故障或延迟,系统也是健壮的。

在下面的例子中,我们假设N=5,至少需要3个节点达成共识。从N2的角度来看,如果所有节点对N1节点的故障达成共识,那么N2就会提升为领导节点,并向网络广播他的区块。委托还能处理潜在领导节点的延迟消息,因为任何正在广播区块的节点都与其他节点达成了共识,所以达成共识后N1的响应不再紧要。

 

结语

SBFT共识中的每个节点都能自主操作,无需与其他节点来回通信,仅通过一组发送出去的消息达成整体共识。

原文标题 | Simplied Byzantine Fault Tolerance(SBFT) For Blockchain Applications

作者 | Poya Rahmati

翻译 | Tracey_头等仓,翻译由头等仓(First.VIP)提供,转载请保留文末信息。
 

原文:https://medium.com/altcoin-magazine/simplified-byzantine-fault-tolerance-sbft-for-blockchain-applications-499ca0b90938

稿源(译):https://first.vip/shareNews?id=2337&uid=1

来源链接:https://www.8btc.com/media/502070
转载请注明文章出处


免责声明
世链财经作为开放的信息发布平台,所有资讯仅代表作者个人观点,与世链财经无关。如文章、图片、音频或视频出现侵权、违规及其他不当言论,请提供相关材料,发送到:2785592653@qq.com。
风险提示:本站所提供的资讯不代表任何投资暗示。投资有风险,入市须谨慎。
世链粉丝群:提供最新热点新闻,空投糖果、红包等福利,微信:juu3644。