上一问讲到造成拜占庭将军问题的原因在于所有人没有达成共识,那么,在区块链中通过什么样的方式来达成共识呢?
之前提过POW、POS、DPOS等共识机制,就是为了解决拜占庭将军问题,小白可以回到数金博士第三问了解详情哦!
今天又双叒叕来讲一下另一个共识机制——实用拜占庭容错算法(PBFT),那么什么是PBFT呢?
PBFT机制是少数服从多数,根据信息在分布式网络中节点间互相交换后各节点列出所有得到的信息,一个节点代表一票,选择大多数的结果作为解决办法。
咦~这不就是投票选举代表吗?
PBFT采用了加密学算法保证恶意节点无法解密、篡改节点中的信息,只要恶意节点的总数不超过总节点数的1/3,就可以断定这个系统是可信的。
如何提高算法性能?
1、由于节点间的通信验证会影响系统性能,因此PBFT通过减少节点们传递给客户端的总数据传递量,来降低通信的消耗。
2、PBFT对所使用的加密算法数字签名和MAC(信息验证码)进行优化,在系统面临最高风险,需要选择新主节点的时候,采用数字签名,其他时候采用不怎么费资源的MAC。
联盟链的宠儿PBFT
PBFT算法可以说是最早的共识机制了,通常被应用于由于私有链和联盟链中,而公有链中常常使用POS算法和POW算法。
例如,数金链作为联盟链就运用了PBFT算法,对节点的加入进行权限控制。
除了数金链使用了PBFT算法,目前,蚂蚁区块链平台和央行所推出的区块链数字票据交易平台,也是使用优化后的PBFT算法。
结语
共识机制是区块链的灵魂,维系着区块链世界的正常运转,PBFT作为其中的一种共识机制具备高效、节能的特征,无需等待确认,耗能低。
领取专属 10元无门槛券
私享最新 技术干货