首页 » InfoTech »

什么是拜占庭将军问题?

2018年9月14日 / 15次阅读
比特币

打开支付宝首页,搜索“529018372”,即可领取红包!可重复领。

拜占庭将军问题(Byzantine Generals Problem)也被称为“拜占庭容错”。

拜占庭将军问题是Leslie Lamport(2013年的图灵讲得主)用来为描述分布式系统一致性问题(Distributed Consensus)在论文中抽象出来一个著名的例子。(分布式系统的共识)

拜占庭帝国即中世纪的土耳其,拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,固若金汤,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵。拜占庭帝国防御能力如此之强,至少要有十个邻邦中的一半以上同时进攻,才有可能攻破。

然而,如果其中的一个或者几个邻邦本身答应好一起进攻,但实际过程出现背叛,那么入侵者可能都会被歼灭。

于是每一方都小心行事,不敢轻易相信邻国。这就是拜占庭将军问题。

要想攻下拜占庭帝国,就必须要在10个邻邦之间达成共识。达成共识有一些困难:

1, 谁先提议?

2, 谁说了算?

3, 有人当叛徒怎么办?

4, 进攻之前,没法知道谁是叛徒,有多少叛徒?

所以,10个邻邦之间很难达成共识。

 

我们可以想象一下,有10台通过网络互连的计算机,它们要达成一个共识,比如确定一个下一次重启的时间,它们的目标是,让这10台计算机同时重启。

有1台说,今天凌晨12:00开始重启;

有1台说,明天早上5:00开始重启;

这两台同时向其它计算机发出消息,其它计算就要思考听谁的呢?难道我自己不能提出一个重启时间吗?....

我想现在可以理解了,这10台计算机要达成共识,是很困难的,因为它们之间缺少一个共同遵守的确定谁说了算的规则。

 

比特币网络提出的PoW机制,就是一个解决这个问题的办法。

谁先算出来这个HASH值,谁就可以先说话,其它人验证无误之后(计算很慢,验证飞快),必须接受,然后就达成了共识。

有人想搞破坏,它也必须先算出来HASH值,因为理论上,它必须拥有比其它任何人都更强的计算能力,先于别人计算出来,这就是所谓的51%攻击。

以上就是本人对拜占庭问题的简单理解。

本文链接:http://www.maixj.net/ict/byzantine-18900
云上小悟 麦新杰(QQ:1093023102)

相关文章

评论是美德

《什么是拜占庭将军问题?》有1条评论

无力满足评论实名制,评论对非实名注册用户关闭,有事QQ:1093023102.

  • 麦新杰

    PoW并没有彻底解决共识问题,比特币网络(包括其它区块链项目)还是存在51%攻击的可能性。 [ ]


前一篇:
后一篇:

栏目精选

云上小悟,麦新杰的独立博客

Ctrl+D 收藏本页

栏目


©Copyright 麦新杰 Since 2014 云上小悟独立博客版权所有 备案号:苏ICP备14045477号-1。云上小悟网站部分内容来源于网络,转载目的是为了整合信息,收藏学习,服务大家,有些转载内容也难以判断是否有侵权问题,如果侵犯了您的权益,请及时联系站长,我会立即删除。

网站二维码
go to top