PBFT是实用拜占庭容错算法,这个算法初衷是为一个低延迟存储系统所设计,降低算法的复杂度,该算法可以应用于吞吐量不大但需要处理大量事件的数字资产平台。它允许每个节点发布公钥,任何通过节点的消息都由节点签名,以验证其格式。
验证过程分为三个阶段:预备,准备,落实。如果已经收到超过三分之一不同节点的批准,服务操作将是有效的。
使用PBFT,区块链网络N节点中可以包含f个拜占庭恶意节点,其中f=(N-1)/3。换句话说,PBFT确保至少2f+1个节点在将信息添加到分布式共享账簿之前达到共识。目前,HyperLedger 联盟,中国ChinaLedger联盟等诸多区块链联盟都在研究和验证这个算法的实际部署和应用。
其实如何在分布式系统中高效地达成共识是分布式计算领域的一个重要研究课题。区块链的共识层的作用就是在不同的应用场景下通过使用不同的共识算法,在决策权高度分散的去中心化系统中使得各个节点高效地达成共识。