一文详解拜占庭容错

作者: 黑猫编程 | 来源:发表于2019-09-27 16:19 被阅读0次

    马云说过:未来30年数据将成为生产资料,计算会是生产力,互联网是一种生产关系。

    如今,区块链技术在互联网协议信息转移的基础之上,实现了价值转移,作为一种新型的生产关系。

    区块链作为一种分布式、不可篡改的账本,与传统分布式系统相比有什么优势?

    传统的分布式网络具有数据冗余备份,单一节点故障不影响全局,但是无法解决节点作恶问题。

    因此区块链网络可以解决节点作恶影响,即可以容忍拜占庭错误。

    拜占庭的n个将军围攻敌人,忠诚的将军希望通过某种协议达成一致命令,比如约定好某个时间一起进攻,但是,其中被判的将军会发出错误信息误导忠诚将军达成命令上的一致,如果同时发起进攻的将军数量少于m个,就会被敌人歼没,如何保证至少n个将军同时进攻取得胜利的问题就是拜占庭将军问题。

    拜占庭将军必须满足n >= 3f + 1,n为全部将军数量,f为叛变将军数量,fault节点。

    我们以n = 4,f = 1的情况为例:

    将军3收到将军1的1:00攻城

    收到将军2的0:00攻城

    收到将军3的1:00攻城 决定1:00攻城

    将军4收到将军1的1:00攻城

    收到将军2的0:00攻城

    收到将军3的1:00攻城 决定1:00攻城

    将军2的错误信息并没有得逞,忠诚将军们依然全歼敌人取得胜利!

    拜占庭共识算法,节点之间相互通信,相互校验,少数服从多数,但是任何时候系统中都会出现多个提案,并且提案的成本很低,完成一致性确认容易受到干扰,因此,公链不会采用拜占庭共识,而是Pow、Pos、DPos等共识机制。

    系列文章

    一文近距离了解区块链
    一文详解区块链挖矿机制
    一文详解零知识证明

    相关文章

      网友评论

        本文标题:一文详解拜占庭容错

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