1.问题-二忠一叛
例子:齐楚燕去商议攻打秦国,怎么达成一致的消息.
拜占庭问题点在于,消息不一定是可靠的,如果不可靠,如下图,齐国和燕国一个说攻,一个说退.楚如果是叛徒,对燕说攻,对齐说退,那么燕肯定完蛋了.
拜占庭存在的问题2.如何解决
2.1口信消息型
如果叛将人数为 m,将军人数不能少于 3m + 1 ,那么拜占庭将军问题就能解决
2.2 签名消息型
对消息进行签名,既然消息有可能是假的,那么就去对假消息进行验证
3.总结
拜占庭将军问题非常复杂,一般在内部系统中,不会出现虚假消息这种.
因此根据有无叛徒,可分为
1.拜占庭容错算法
PBFT
PoW
2.非拜占庭容错算法
paxos
raft
zab协议
网友评论