拜占庭将军问题是说有几位将军各自带领一支军队从各个方向要去进攻拜占庭这座城堡,这座城堡挺坚固,单独或者较少军队进攻攻不破,必须要大多数军队一起进攻才能攻破它。
但是那时候通讯不发达,大家就提前商量投票,比如说明天早晨8点我们一起发动进攻,如果一半以上的军队同意,我们就进攻,这样也能攻破城堡。
现在问题是将军中有叛徒,他可能说假话,那怎么办呢?这时如果总人数大于三倍的叛徒数量,其实是可解的,没问题的,能成功攻破城堡的。具体解决过程不写了。
这个问题其实是说,在分布式网络中,如果存在恶意节点,比如说宕机的和黑客,那良性节点还能保持一致性和正确性吗?
答案是能,并且解决方案还是多种多样的。除了上面这种口头协议,还有能解决网络延迟的PBFT,还有区块链技术中的POW工作量证明机制,它是耗电计算,增加作恶难度。
网友评论