在分布式计算上,不同的计算机通过信息交换尝试达成共识,但有时候,系统中的协调计算机或者成员计算机可能因系统错误,而交换错误信息,以致影响最终的系统一致性。对于拜占庭将军问题,若根据错误计算机的数量,寻找可能的解决办法,这其实无法找到一个绝对的答案,只可以用来验证一个机制的有效程度。
而拜占庭将军问题的可能解决方法为:在N≥3F+1的情况下,一致性是可能实现的(N为计算机总数,F为有问题的计算机总数)。信息在计算机间互相交换后,各计算机列出所有得到的信息,以大多数的结果作为解决办法。
最早由卡斯特罗和利斯科夫在1999年提出的使用拜占庭容错(PBFT)是第一个得到广泛应用的拜占庭算法。只要系统中有2/3的节点是正常工作的,就可以保证一致性。
使用拜占庭容错机制是一种采用“许可投票、少数服从多数”来选举领导者并进行记账的共识机制,该共识机制允许拜占庭容错,允许强监督节点参与,具备权限分级能力,性能更高,耗能更低,而且每轮记账都会由全网节点共同选举领导者,允许33%的节点作恶,容错率为33%。
由于特别适合
联盟链的应用场景,实用拜占庭容错机制及其改进算法为目前使用最多的联盟链共识算法,其改进算法为目前使用最多的联盟链共识算法,其改进算法在以下方面进行了调整:修改底层网络拓扑的要求,使用P2P网络;可以动态地调整节点数量;减少协议使用的消息数量。
版权申明:本内容来自于互联网,属第三方汇集推荐平台。本文的版权归原作者所有,文章言论不代表链门户的观点,链门户不承担任何法律责任。如有侵权请联系QQ:3341927519进行反馈。