「定投第27天」拜占庭将军问题到底nan bu nan

「定投第27天」拜占庭将军问题到底nan bu nan

拜占庭问题是容错计算中的一个老问题,由莱斯特兰伯特等人在1982年提出。拜占廷帝国为公元395年直至1453年的东罗马帝国,拜占庭城邦拥有巨大的财富,令他的十个邻邦垂涎已久,但是拜占庭高墙耸立,固若金汤,没有任何一个单独的邻邦能够成功入侵,任何单个城邦的入侵行动都会失败,而入侵者的军队也会被歼灭,使得其自身反而容易遭到其它九个城邦的入侵。这十个城邦之间也互相觊觎对方的财富并经常爆发战争。

在拜占庭将军问题模型中,有两个假设:

假设一

所有忠诚的将军受到相同的命令后,执行这条命令,得到的结果-定是相同的,它的含义是所有节点对命令的解析和执行是一样的,这个命令必须是一个确定性的命令,不能存在随机性,也不能依赖节点自身的状态,也就是说这个秘密不能是心情好,就攻击敌人,心情不好就原地休息

假设二

如果命令是正确的,那么所有忠诚的将军必须执行这条命令,换句话说,忠诚的将军需要判断,接收到的命令是不是正确的

对于将军们的通讯过程,在”拜占庭将军问题”中也是有默认假设的:点对点通信是没有问题的,也就是说在这里,我们假设A将军要给B将军一条命令 "M”,那么派出去的传令兵一定会准确的把命令"M”传给B将军。

但问题在于,如果每个城邦向其他九个城邦派出一名信使, 那么就是这十个城邦每一个都派出了九名信使,也就是在任何一个时间有总计90次的信息传输,并且每个城市分别收到九条信息,可能每一条都写着不同的进攻时间,除此以外,信息传输过程中,如果叛徒想要破坏原有的约定时间,就会自己修改相关信息,然后发给其他城邦以混淆试听,这样的结果是,部分城邦收到错误信息后,会遵循一个或者多个城邦已经修改过的攻击时间相关信息,从而背叛发起人的本意。这样一来,遵循错误信息的城邦(包含叛徒) ,将重新广播超过一条信息的信息链,整个信息链会随着他们所发送的错误信息,迅速变成不可信的信息和攻击时间,变成一个相互矛盾的纠结体。

针对这个问题,人们主要提出了两种解决方法,一个是口头协议算法另一个是书面协议算法

口头协议算法的核心思想:要求每一个被发送的消息都能被正确投递,信息接收者明确知道消息发送者的身份,并且信息接收者知道信息中是否缺少信息。采用口头协议算法,若叛徒数少于1/3时,则拜占庭将军问题可以很容易解决。但是口头协议算法存在着明显的缺点,那就是消息不能溯源。

为解决该问题,提出了书面协议算法。该算法要求签名,不可伪造,一旦被篡改即可发现,同时任何人都可以验证签名的可靠性。

就算是书面协议算法,也不能完全解决拜占庭将军问题,因为该算法没有考虑信息传输延迟、签名体系难以实现的问题。且签名消息记录的保存,也难以摆脱中心化机构。针对这个问题,人们主要提出了两种解决方法,一个是口头协议算法;另一个是书面协议算法。

口头协议算法的核心思想:要求每一个被发送的消息都能被正确投递,信息接收者明确知道消息发送者的身份,并且信息接收者知道信息中是否缺少信息。采用口头协议算法,若叛徒数少于1/3时,则拜占庭将军问题可以很容易解决。但是口头协议算法存在着明显的缺点,那就是消息不能溯源。

为解决该问题,提出了书面协议算法。该算法要求签名,不可伪造,一旦被篡改即可发现,同时任何人都可以验证签名的可靠性。

就算是书面协议算法,也不能完全解决拜占庭将军问题,因为该算法没有考虑信息传输延迟、签名体系难以实现的问题。且签名消息记录的保存,也难以摆脱中心化机构。

将比特币的共识机制引入拜占庭问题,就形成了这样一种情况, 城邦A向其他九个城邦发送进攻相关信息,是直接将相关信息及其当时发送的时间,附加在通过哈希算法加密的信息中,并且加上独属于自己的数字签名传递给其他城邦。等其他城邦中相应的机器已经收到,并验证通过这个有效哈希值和附加在上面的签名信息,他们就会停止他们当下的计算,使用新的信息更新他们总的进攻信息,然后将新更新的信息作为哈希算法的输入,再发给其他城邦。其他城邦接受消息后,重复此流程直至所有城邦都收到消息。如此这般,网络持续同步着,所有网络上的电脑都使用着同一个总账本。

如果有人想要修改进攻信息来误导其他城邦时,其他城邦的机器会立刻识别到异常信息,同步的虚假信息将不被认可,依旧会同步其他大部分相同一致的信息,这样叛徒就失败了,他无法破坏十个城邦当中的大多数节点,也就是至少六个节点,这样信息的一致性就得到了保证,完美解决了拜占庭问题。

这就是区块链共识机制为何如此特别的关键,他为一个算法上的难题提供了解决方案,区块链的共识机制,通过不断同步各个节点的信息,使得各分布式节点之间达到一种平衡,保证了绝大多数节点的一致性,即达成了共识。

「定投第27天」拜占庭将军问题到底nan bu nan

「定投第27天」拜占庭将军问题到底nan bu nan

「定投第27天」拜占庭将军问题到底nan bu nan

3大交易所实时持仓图

━ ━ ━ ━ ━

2018.12.27

定投平台:Huobi

定投金额:100USDT

买进币种:HT

「定投第27天」拜占庭将军问题到底nan bu nan

汇总

「定投第27天」拜占庭将军问题到底nan bu nan

「定投第27天」拜占庭将军问题到底nan bu nan

「定投第27天」拜占庭将军问题到底nan bu nan

投资有风险,进场须谨慎

推动普及区块链知识

实时追踪行业动态


分享到:


相關文章: