「币众课堂」第二讲——拜占庭将军问题是什么?

「币众课堂」第二讲——拜占庭将军问题是什么?

币众每天三分钟区块链课堂


区块链的拥趸认为区块链核心贡献是解决多点信息交互过程中的信任问题——“拜占庭将军问题”。本期的币众课堂第二讲,就为大家介绍拜占庭将军问题。

拜占庭将军问题

实际上这个问题并不是起源于5世纪的拜占庭罗马帝国,而是在1982年,由Leslie Lamport与另外两人提出来的。设定的场景是:由于帝国国土辽阔,帝国军队的将军们在地理上是分隔开来的,并且将军中存在叛徒,叛徒会误导将军决策,从而使得他们无法获胜,而让将军们基于正确的信息达成一致决议成为了一个难题。

在那原始的战争时代,将军与将军、将军与下属之间只能靠“出行靠走,通讯靠吼”的口头传输。在这种情况下,真伪很难辨别。科学家针对拜占庭问题进行研究最终得出结论:只有当叛徒总数不超过1/3时,形成“拜占庭容错系统”时,才能实现最终的一致行为。而在只有三个将军的前提下,其中一个是叛变者的话,那么此时无解。



如何解决拜占庭将军问题


科学家们提出了口头信息方案和书面协议两个方案。但这两个方案都存在很明显的缺点。口头协议并不会告知消息的上一个来源是谁,也就是消息不可追根溯源,出现信息不一致也很难找到叛徒在哪。书面协议相比口头协议,所有的消息都是有记录的,解决了追根溯源的问题。但在现实中仍然可能面临各种问题,例如无法避免签名造假的问题。真正解决“拜占庭将军问题”的便是中本聪。他在系统中加入了发送信息的成本,即:一段时间内只有一个节点可以传播信息。引入了“工作量证明 ”和现代的加密技术。同时设计了时间戳,为每个将军在解好题的时间(出块时间)盖上时间印章。将一个不可信的分布式网络变成了一个可信的网络。


拜占庭将军问题需要解决的是谁来发起信息,如何实现信息的统一同步的问题。而区块链上的共识机制主要解决由谁来构造区块,以及如何维护区块链统一的问题。中本聪对拜占庭将军问题的解决方案,实际上是融合了各种高新技术,为解决任何核心问题是分布式网络上缺乏信任的领域提供了一个新思路。



每天三分钟,读懂区块链技术,了解更多区块链知识,欢迎收看币众区块链知识小课堂。


分享到:


相關文章: