拜占庭将军问题

在互联网里有个很麻烦的问题,叫拜占庭将军问题。它提出了一个疑问,在所有平等的通信节点中,如果发生信息丢失、或被篡改,整个网络怎么维持工作。

为了方便大家理解,它的提出人兰伯特先生用中世纪活跃在地中海沿岸的拜占庭帝国的模拟场景来举例说明,因此这个互联网世界的论点被称为拜占庭问题。

假设有十个拜占庭将军分别率领十支军队包围了敌人的一个城市,他们分散在敌城周边,随时准备进攻。注意:这十位将军完全平等,没有主帅。

由于敌人也不是吃干饭的,必须有六支以上的拜占庭军队联合行动才能击败敌军占领城市。

这时候拜占庭将军们就将面临一个问题了。

比如一号将军决定在明天下午一点发动进攻,为保证胜利,他必须把行动时间和地点通知其余九位将军,让他们和自己同时发起攻击。

这个信息是要靠通信兵来传达的,通信兵是不是可靠,或者是不是傻子记性特别差,都不能保证,而且一号将军也不能确定其余九位将军中,有没有人已经被敌军收买叛变了。

一个看似简单的战役,在这里由于出现这些问题,变得复杂起来。

比如去二号将军那里的通信兵已经被敌军收买了,本来明天下午一点的总攻时间,被他擅自更改到后天下午一点。

这就等于二号将军已经退出了这次行动,如果到明天下午一点,收到正确信息的将军只有五个,那么拜占庭大军就会被敌人击败。

这里可能大家还会说,哪有那么傻的将军,二号将军再派个传令兵去一号将军哪里核实一下就可以了嘛。

对不起,提出这个问题的科学家真不是傻子,拜占庭将军问题,是在信息通道绝对没问题的情况下的假设,也就是说不管收到的是正确的、还是错误的信息,对方肯定能收到信息。

要是你说派人核实,那就是另一个事了,这个叫作“二军问题”。也很复杂,稍微说一下:

比如一号将军和二号将军之间,有敌军驻扎或者频繁巡逻,为了安全起见,二位将军不能冒险去对方那里开会商量,免得在路上被敌军干掉。那就得派通信兵来负责联系。

于是,这个看似简单的事情,在这种通信通道里就会出现一个很无聊循环,具体如下:话说二号将军接到了错误的指令信息后,派出一个通信兵去一号将军那里核实:“我家将军叫我来问问,您是不是叫我们后天下午一点一起进攻?”

一号将军一听,气的暴跳如雷,跟二号将军的通信兵说:“犊瘪子玩意儿,老子非宰了那个通信兵不可,我说的是明天下午一点。”

二号通信兵回去和二号将军一说,二号将军一听,还好还好,幸亏我聪明,派了个人核实一下。赶紧再派一个人去一号将军那里通知一声,我同意明天下午一点和你一起进攻。

好了,无聊的循环开始了。

一号将军也学聪明了,也派了个通信兵去二号将军那里回答:“我知道你同意明天下午一点一起进攻了。”

二号将军不放心,于是又派了一个通信兵去一号将军哪里说:“OK,我知道你知道我同意明天下午一起进攻了。”

一号又派通信兵去二号,“好的,我知道你知道我知道你同意明天下午一起进攻了。”

二号又来,“行,我知道你知道我知道你知道我明天下午一起进攻了”

一号再来:“我知道你知道我知道你知道我知道……”

二号:“我知道你知道我知道………………………”

一号:“我知道………………………………………………”

二号:“……………………………………………………………”

一号……………………………………………………………………

怎么感觉有点混字数的嫌疑。

看起来网络通信的核实是个没法确认的大麻烦,要是通信成了这个样子,我们就没法干活了。不过我们这里就先不说“二军问题”的解决办法了,大概知道这事挺麻烦就行。

那么怎么解决拜占庭问题呢?

拜占庭将军问题在现实里是不可能发生的,将军和通信兵的家属们都在国内呢,谁敢叛变或者不负责任的瞎传消息,导致大军惨败,拜占庭皇帝可以杀了他全家。

在区块链技术出现之前,这个问题在互联网中又是无法解决的。你不可能说为了保证各个节点的忠实性,让他们交押金,谁敢乱传信息就扣谁的钱吧。

这里要注意一下,我们说的是在所有节点平等的互联网里无法解决这个拜占庭将军问题。大家都是将军,都是平等的,没有谁是权威或者主将。

上面所举的例子还只是十个拜占庭将军的通信兵不靠谱,还没说这十个平等的将军搞在一起,能搞出多少幺蛾子来呢。

比如二号将军平时就是看不惯一号将军,凭啥你说明天下午一点进攻,我就得屁颠屁颠的跟着你卖命啊,我偏不,你明天自己去吧。

好了,这种人在十个将军里,只要有五个,拜占庭大军就必败无疑。

现实中的互联网节点是不平等的,所以不存在这个问题。比如一个新闻网站的主编发个邮件给下面的编辑,让他发篇文章,说明天会下雨。结果编辑不知道哪根筋搭错了,像那个叛变的通信兵一样,昧着良心说:明天晴空万里,后天会下雨。

现实世界里的互联网公司处理这种事很简单,把这个编辑开除了事,杀鸡儆猴,看谁以后还敢乱发新闻,就跟现实中的拜占庭皇帝一样。

于是,所有的互联网公司都是中心化而非去中心化分布式的,因为在没有区块链技术之前,没有人能解决拜占庭问题,也就是没人能想出办法来,让一群平等的、互不相识的人(节点)为了共同的一个社区或者公司分工协作,共同发展。

区块链是怎么做到解决拜占庭将军问题的呢?怎么能够让一群互不相识、从未谋面的人,在一个体系里以平等的身份,共同努力维护这个系统呢?

靠价值共识,以前的文章说过一些比特币的问题。大家都知道比特币是有价值的,一个比特币好几万人民币呢。

如果现在你是一个比特币的矿工,我相信你是绝对不会故意自己去在这个系统里为非作歹、故意捣乱的,而且你一个人也不可能有这个能力。

但是,如果像你这样的人多了,超过了比特币网络节点的百分之五十一,你们这帮捣乱份子神经病发了,一起决定要毁掉比特币,那我也没办法。

不过那你就是在跟自己过不去,自己让自己花大价钱买来的矿机、耗时耗电的辛辛苦苦挖来的比特币变成一串毫无价值的代码,对你有什么好处?

因此在比特币的系统里,是没有拜占庭将军问题的,没有哪个通信节点会传出不实的信息,做出不利于自己、不利于比特币系统的决定。就算有疯子这么干了,比特币的系统也不会承认他发出区块,大家只认正常人维护的最长链。

当然,就像现在的公司竞争一样,如果有一个公司或者个人,想出钱收买足够的比特币叛徒,来搞垮比特币,那也不是不行。

截止2018年2月,比特币的全网算力为:22.7EH/s(1EH=1000PH=1000000TH),按照比特大陆蚂蚁S9型矿机的13.5T的算力计算:22.7*1000*1000T /13.5=1680000台全球约有168万台蚂蚁S9矿机在运行,

考虑到还有很多矿工用的是老型号的矿机,保守估计吧,全网共有200万台矿机。

要改变比特币区块链的记录,需要超过51%的节点达成共识,那你就需要收买102万台矿机。

现在比特币大约挖出了80%,约1600万枚。也就是每个矿机平均每人8个比特币。

现在可以核算成本了,蚂蚁S9矿机大约14万一台,比特币一个大约是42000元人民币,8个336000元,一台矿机你得先陪人家48万。102万台就是4896亿人民币。

还没计算人家挖矿过程中的电费,所有矿机一年的电费和挪威全国一年的电费相当。102万台矿机,挖了几年赔几年,自己去算吧。

这还只是你赔给人矿工的本钱,102万矿工总得有利可图才会跟着你干这事吧,不然谁谁疯了,把自己挣钱的系统摧毁掉?那这个数字还得翻几番才有诱惑力吧,翻五倍就是二万五千亿。

算到这里,你觉得代价已经够大了吧,还没完呢。还没有计算拥有大量比特币的大佬们,在受到攻击时的反击力量,这就不知道还得往上翻多少倍,你才能击败他们了,因为他们背后还有98万没被收买的矿工,这个力量无法估算。

可惜,令人绝望的是:就算你成功的收买了51%的比特币叛徒改变了比特币账本,可那剩下的98万矿工每人都保留了那条正确的区块链,完全可以另起炉灶,继续他们的游戏,这在区块链技术里,叫做分叉。

而且你一定要相信,那51%的叛徒不久还会回到那个不可篡改的比特币网络里,继续参加游戏的,而那个系统压根不在乎他们是不是忠诚。一切都白忙活了。

有没有一种“抽刀断水水更流”的感觉?

现在,你觉得谁有这个本钱和动力去破坏这条区块链?

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容