哈尔滨工程大学计算机学院2021年区块链技术课程
实用拜占庭容错算法
作者:段玉龙2018201112 、朱江2018201116、卢薪丞2017201116
背景提出——拜占庭将军问题
拜占庭将军问题是由Leslie Lanport提出的分布式对等网络通信融资问题,那么它具体是什么呢,我们来打个比方,如果你是一支拜占庭军队的将军,并且准备攻击一座敌方城市,在城市周围有几支有其他将军领导的军队,如果大家一起合作进攻,那么一定会大获全胜。但是如果大家各顾各,零散攻击,那么会导致进攻失败。这个时候作为将军的你,决定在傍晚攻击。在那个时期你并没有办法通过电话商量,也没有办法发送可能被敌方看到的信号弹,来联系所有的将军,让大家达成共识一起发动傍晚的攻击。所以您只能通过传令兵来传递信息。那么问题来了,如果传令兵在路途中被杀害怎么办,被敌方逮捕换成假信息怎么办,再者其他将军又如何判定你的传令兵递送的消息就是你的消息呢?更要命的是如果其中有叛军故意发送同意攻击的信息,但是实际进攻中不出兵又怎么办,这样各支军队的一致协同就遭到了破坏,所以你该怎么确保所有的军队会达成共识,并且同时出击呢?这个就是困扰了近千年的拜占庭将军问题,他问题的核心就是:单独个体如何可以不带任何条件地相信彼此。
由此引出拜占庭容错算法。