拜占庭问题

拜占庭问题阐述

  拜占庭帝国想要进攻一个强大的敌人,为此派出了10支军队去包围这个敌人。

  这个敌人虽不比拜占庭帝国,但也足以抵御5支常规拜占庭军队的同时袭击。

  这10支军队在分开的包围状态下同时攻击。他们任一支军队单独进攻都毫无胜算。

  除非有至少6支军队(一半以上)同时袭击才能攻下敌国。

  他们需要依靠通信兵骑马相互通信来协商进攻意向及进攻时间。

  困扰这些将军的问题是,他们不确定他们中是否有叛徒,叛徒可能擅自变更进攻意向或者进攻时间[1]。

  

拜占庭错误

  叛徒发送前后不一致的进攻提议,被称为“拜占庭错误”,

  而能够处理拜占庭错误的这种容错性称为「Byzantine fault tolerance」,简称为BFT。

 

BS架构的解决方式

  通过 Paxos算法 解决分布式一致性

  比如Zookeeper 通过实现 Paxos 算法实现分布式一致性问题

 

P2P 网络的解决方式

  btc 通过 “工作量证明"(POW) 解决这个问题

 

 

 

-----------------------------------------------------------------------------------

[1] :https://zhuanlan.zhihu.com/p/410585084

 

posted @ 2022-07-01 09:36  apeNote  阅读(218)  评论(0编辑  收藏  举报