PDBFT共识算法

作者: f34534e8684a | 来源:发表于2019-05-09 18:03 被阅读1次

早期的公有链系统大多采用基于工作量证明(POW,proof of work)的共识机制,在这种机制下,硬件性能直接决定算力,也就是能成功生成区块的能力。基于POW的共识算法, 一方面会消耗大量算力,导致TPS不高,通常Bitcon的TPS为3-7。另一方面POW算法存在分叉的可能,例如50%攻击,这就使得用户需要等待较多的区块防止攻击。

为了克服上述问题,PCHAIN采用了全新的基于权益证明的PDBFT共识机制。在PDBFT中,每个validator需要预先抵押一定数量的代币(token)获得相应的投票权,然后通过投票达成共识以产生新的区块。相比雨联盟链较为安全的网络环境,公链中的validator更容易被攻击或者主动作恶,被称之为拜占庭节点,从而在行为上表现出更多的不确定性,比如,提出非法的区块,故意投反对票,给不同的节点发送不同的投票,甚至所有的拜占庭节点联合作恶等。这些行为都会影响到区块链网络的共识,对公链是不小的挑战。目前整个业界大都采用基于PBFT的改进算法以提升系统的性能, 如Hyperledger fabric 0.6、IstanbulBFT和Tendermint等。虽然PBFT协议能够解决拜占庭容错的问题,但是存在以下问题制约着它在大规模公链中的应用:

1、PBFT假设ValidatorSet是不变的,但在公链中,validator应该能够较为自由地加入和退出。

2、PBFT不会主动更换leader,只有发生超时才会进入换主机制。一方面leader更容易被攻击,另一方面leader可以进行选择打包,使得某些交易一直无法得到执行。

3、PBFT中,所有validator的投票都需要广播给所有节点,因此整体的通信开销是O(n2),这就极大限制了其在更大规模中网络中的应用。

PCHAIN团队经过长期研究和开发,提出了全新的共识协议-PDBFT,成功解决以上问题,使其更适合于大规模公链应用,主要特点包括如下方面:

1、定期更换ValidatorSet。使得validator能够较为自由的加入和退出,每个validator都可以选择是否参与下一个Epoch的ValidatorSet竞选,然后通过共识确定下一个Epoch的所有validator。新的ValidatorSet在当前Epoch结束后生效。

2、主动更换leader,使得针对leader的攻击变得更加困难。 PDBFT每一轮共识后,无论是否达成共识产生区块,都会更换leader。新一轮共识的leader由上一个区块的共识信息随机产生,且能够被其他validator验证。由于新的leader的产生仅仅依赖于前一个区块的共识和当前共识状态,因此没有节点提前获知下一个leader,使得攻击成功的概率大大降低。

3、将投票的通讯总量由O(n2)降低至O(n)。不同于全网广播投票,每个validator将投票发给当前的leader,leader收到 2f+1的投票后,通过聚合签名算法将其进行聚合。聚合后的签名的体积于单个签名相同,且各validator通过验证该聚合签名即可确认2f+1节点已经正确投票。Leader最后将聚合广播给所有validator,至此即可将协议的通信开销压缩至O(n), 从而大大提高了协议的扩展性,使得大规模应用成为可能。

相关文章

  • PDBFT共识算法

    早期的公有链系统大多采用基于工作量证明(POW,proof of work)的共识机制,在这种机制下,硬件性能直接...

  • 2020-01-09 本体的VBFT共识算法

    概括 共识节点 共识候选节点 共识网络构建 随机节点完成共识 算法概述 VBFT算法可以认为是传统BFT算法在可验...

  • 区块链常见问题

    1:以太坊的共识算法 在以太坊中,默认使用ethash(pow)共识算法进行网络正确性的保障,这种共识算法采用的是...

  • IoTex将区块链应用在物联网的尝试

    共识算法 iotex提出了自己的Roll-DPos共识算法,结合DPoS、PBFT,以及random beacon...

  • Paxos 算法

    共识算法:Paxos 算法 1. 目录 [TOC] 2. 共识问题 [1] 什么是共识问题?粗略地说,该问题是在一...

  • 共识算法系列之一:私链的raft算法和联盟链的 pbft 算法

    对数据顺序达成一致共识是很多共识算法要解决的本质问题Fabic的pbft算法实现现阶段的共识算法主要可以分成三大类...

  • 007.认识区块链(三)-共识算法

    共识算法就是指让区块链内容所有人区块认可新增的区块。目前有两种比较核心的共识算法:异步拜占庭共识模型(BTF共识模...

  • 共识算法解读-天下武功唯快不破Conflux共识算法

    共识算法解读-天下武功唯快不破Conflux共识算法 串行交易引发的吞吐量瓶颈 上次我们讲到GHOST算法,它在中...

  • EOS技术白皮书翻译1-DPOS

    共识算法DPOS EOS.IO系统利用唯一的分布式共识算法DPOS(Delegated Proof of Stak...

  • 共识算法

    所谓共识算法,就是每个节点对于本区块的正确性达成共识。 共识是一切交易的基础,达成共识越分散(参与度越高),其效率...

网友评论

    本文标题:PDBFT共识算法

    本文链接:https://www.haomeiwen.com/subject/tdsgoqtx.html