主页 > imtoken钱包手机app > 微众银行BCOS平台共识算法PBFT和RAFT
微众银行BCOS平台共识算法PBFT和RAFT
文章选自BCOS白皮书
共识机制不仅是计算机之间的算法和数据共识,也是伙伴之间合作的共识。 共识机制使区块链的参与者通过约定的方式进行共同记账,保证伙伴之间记账的正确性、一致性、连续性,防止少数故障节点影响网络运行,防范破坏少数恶意行为者。 比特币、以太坊等公链采用的共识算法通常是工作量证明或权益证明等比特币采用的共识机制,可以根据投资股权和记账的行为,为记账人制定奖惩制度。 公链上的共识算法一般需要很长时间才能确认,或者需要更多的算力投入。
联盟链的共识机制设计目标与公有链不同。 BCOS平台不会根据记账计算量来奖励记账人,而是鼓励参与者共同维护联盟链,促进生态发展,促进商业发展。 在合作过程中获得价值或利益。 在此过程中产生的争议或违法行为将通过监管审计和法律仲裁相结合的方式解决。 BCOS平台共识机制的实现满足联盟链场景需求,可以避免算力浪费,防止分叉,提高运行稳定性。
BCOS平台采用高效的PBFT和RAFT共识算法,插件化设计实现。 通过修改系统配置,可以在一个联盟链中使用不同的共识机制。 参与该联盟链的所有节点必须采用相同的共识配置。
BCOS平台采用的PBFT共识算法的特点包括:
1、共识节点轮流出块,具有相同的记账权,体现参与者的平等性,防止个别记账人作恶
2、秒级出块,可配置1秒到几秒出块,满足短期交易响应需求;
3、支持1/3容错,如果整个系统中小于或等于1/3的节点发生故障或作恶,不影响共识;
4. 区块同步时严格验证签名,确保数据安全。
PBFT共识具有高一致性、高可用性、强大的反欺诈能力。 是联盟链中比较实用的共识算法。 经过流程优化,效率也很高。
BCOS平台使用的RAFT共识算法的特点包括:
共识节点满足出块条件,即以当前区块作为候选区块发起选举,所有共识节点的投票权重相同,体现了参与者的平等性;
只有超过半数的赞成票才会将候选区块提交到区块链,保证高度一致性;
如果在超时时间内没有收集到超过半数的回复票数,则重新发起选举,以保证系统的容错和恢复能力;
秒级出块,可配置为1秒以上;
支持1/2节点容错,如果整个系统中少于1/2的节点故障,不影响共识;
在选举过程和区块同步过程中严格验证签名,确保数据安全。
RAFT共识具有高效率、高一致性和高可用性。 相对于PBFT共识的拜占庭容错特性,RAFT共识并未严格保证抗欺诈性,适用于互信度较高的联盟链。
联盟链的共识算法可以在节点总数较少、网络规模不太大的情况下提供高并发的交易处理能力。 但是随着节点数量的增加,比如达到数百个共识节点的规模,由于共识节点之间需要交换更多的信息,性能会有明显的下降。 因此,在联盟链中,一般通过协商,在保证公平公开的前提下,控制参与方同意的节点数量,以保证共识算法的效率。
BCOS平台的共识算法根据联盟链所需的身份等价性、交易响应时间、并发能力、服务器算力和网络带宽进行了深度优化,可以提高计算效率,减少重复工作,降低带宽消耗. 在保证高并发的同时,可以保证交易可以在短时间内得到确认比特币采用的共识机制,一旦确认,在联盟链中达成共识,不可篡改。