首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

编个故事解释拜占庭将军问题

往期,已经讲过时间戳、工作量证明和双重支付,相信大家已经有所了解,在比特币中,区块链就是通过时间戳和工作量证明机制解决了双重支付和拜占庭将军问题的。

拜占庭将军是谁?咳咳,开个小玩笑啦,拜占庭不是人名,拜占庭是中世纪的土耳其,很多人都听过拜占庭将军问题,但是不知道是什么意思。

在了解拜占庭将军问题之前,先看看Leslie Lamport为了描述分布式系统一致性问题编的小故事。

故事是这样的......

很久很久以前,有一个富饶而强大的帝国——拜占庭,周围10个邻邦垂诞已久,但拜占庭固若金汤,没有一个单独的邻邦能够成功入侵,需要10个邻邦共同进攻。

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

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

一键解锁拜占庭将军问题

拜占庭将军问题是指“在存在消息丢失的不可靠信道上,想要通过消息传递的方式达成共识是不可能的”。

在系统中存在除了消息延迟、不可送达的问题外,还包括消息被篡改、节点不按照协议进行处理等问题,这些都将潜在地对系统造成针对性的破坏。

由此可见,拜占庭将军问题中最核心的在于所有人没有达成共识,早在1982年这个问题就被提出来了,直到2008年中本聪提出比特币,这一问题才得以解决。

拜占庭将军问题的解决方式:

1、非对称的加密技术保证发出的信息不会被人修改;

2、POW工作量证明机制使得每个人发出的信息被人记录下来,并且打包的数据是一致的。

例如,比特币的工作机制POW完美地解决了拜占庭将军问题,比特币世界里,所有人能够达成统一的共识,认可同一个账本,任何人都可以随时加入比特币系统,读取、更新、记录账本,只要解题的速度够快且准确,就可以争取到比特币作为奖励。

结语

区块链上的共识机制主要解决由谁来构造区块,以及如何维护区块链统一的问题,拜占庭将军问题需要解决的也同样是谁来发起信息,如何实现信息的统一同步的问题,就是这么巧!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191108A0ET7P00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券