区块链-重回拜占庭

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/jingcheng345413/article/details/82830881

一、起源:
拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息。 在战争的时候,拜占庭军队内所有将军和副官必须达成一致的共识,决定是否有赢的机会才去攻打敌人的阵营。但是,在军队内有可能存有叛徒和敌军的间谍,左右将军们的决定又扰乱整体军队的秩序。在进行共识时,结果并不代表大多数人的意见。这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,这就是“拜占庭将军问题”。

二、两军问题:
军队与军队之间相隔很远,传递信息的信差可能在途中阵亡,或因军队距离不能在得到消息后即时回复,发送方也无法确认消息确实丢失的情形,导致不可能达到一致性。在分布式计算上,试图在异步系统和不可靠的通道上达到一致性是不可能的,因此对一致性的研究一般假设信道是可靠的,或非异步系统上运行。

三、“拜占庭将军问题”在通讯领域的意义
无论我们把“叛变的将军”替换成以下哪种,该问题都成立:
1.一个出故障的,向其它计算机不停发出不同错误信息的服务器;
2.一份为获取暴利而做出来的金融票据;
3.一份失效的医疗纠纷合同;
4.一份含糊不清的保单;
5.一个可以发出消息,做出行动的错误信息节点。
而这里,每一个错误节点可以做任何事情:不响应;发送错误信息;对不同节点发送不同决定;不同错误节点联合起来攻击其它节点等。没准会出现更严重、更荒谬的错误。

四、“拜占庭将军问题”在现实计算机系统中的体现:
1.如果建设容错性的分布式计算系统;
2.如何建设一个点对点的,不需要第三方权威认证(去中心化)的电子现金支付系统。

猜你喜欢

转载自blog.csdn.net/jingcheng345413/article/details/82830881