赞
踩
在前面两期中,主要对区块链的基本概念和基本设计原则进行说明,现在有了这些背景知识后,再去学习更深层的知识将会更加容易。本期我们一起研究一下拜占庭将军问题,这是区块链解决的一个核心难题,通过理解这个问题的来龙去脉,相信大家会对区块链的底层知识会有一个更深入的思考。
一、先讲个故事
从前有个帝国叫做拜占庭,这个国家派出5位将军去共同围攻一座城市,他们5支军队分开驻扎在这个敌城周围,这5个将军之间只能通过信使联系,只有5个将军一起进攻敌城才会胜利。
于是在他们5个人出发之前一起商量了进攻的策略,少数服从多数,当超过3个及以上的人都同意进攻,则5个人一起进攻,否则就一起撤退。
但是,如果他们5个人之前出现了一个叛徒,就可能导致最终的行动不一致。如下图:
将军1234都按照服从多数人的规则来执行,图中的将军01和02跑了,将军03和04去攻打了,违背了开始他们一起进退的约定。最终导致进攻失败,打了败仗。
其中,坏蛋将军05就可以理解为一个作恶的节点,他向不同的节点传递不同的消息,让系统内部的信息出现了不一致。
从这个故事可以看出:几个相互协同的人,如果其中有个人作恶的话,可能不同的成员得出的最终结论不一致,从而破坏了系统的一致性。这就是拜占庭将军问题,这个问题一直是协同合作中难以解决的问题。
二、现代版拜占庭将军
大家都知道了区块链是一套去中心化的分布式系统,既然是分布式系统
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。