简化版拜占庭共识 区块链领域的一个最大争论焦点是各个区块链采用的共识算法,因为共识算法决定了区块链的速度、可靠性和可扩展性。本文提出了一种简化版的拜占庭容错共识(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 —- 编译者/作者:头等仓 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
用于区块链应用的简化拜占庭容错(SBFT)
2019-10-26 头等仓 来源:区块链网络
LOADING...
相关阅读:
- 瑞士国有银行将推出加密服务2020-08-04
- DeFi YFI令牌叉Asuka的首席执行官在启动2天后退出骗局; 币安调查2020-08-04
- 【今日币快报】银保监会:鼓励财险公司利用区块链等对传统保险操作2020-08-04
- Travala为其加密预订平台增加了600,000多家酒店2020-08-04
- IPFS项目Filecoin为什么如此火热?是炒作出来的吗?2020-08-04