拜占庭将军区块链故事
⑴ 如何理解拜占庭将军问题
拜占庭将军问题,其实看似一个军事问题,实质上是一个政治问题,这也算是涉及到拜占庭的地缘政治问题吧,在国际上也算是热点问题。
⑵ 理论上区块链怎么解决拜占庭将军问题
拜占庭将军问题(以下简称“共识问题”)的正式表述是:如何在一个不基于信任的分布式网络中就信息达成共识?这个表述听起来有些晦涩,但其本质并不复杂,下面的例子与共识问题虽然并不完全一致,但却有助于我们的理解[9]。
想象一下在遥远的拜占庭时代,有一个富饶的城邦,金银珠宝绫罗绸缎应有尽有,它的领主哆啦A梦独享着这一切奢华与荣耀。而在城邦的外围,四位拜占庭将军大雄、胖虎、小夫和静香都觊觎着哆啦A梦的财富,于是他们决定联手攻占哆啦A梦的城邦。根据双方的实力对比,必须有超过半数的将军同时发起进攻方能克敌制胜,因此获胜条件就是四人中至少三个人可以就进攻时间达成一致。那么四位将军的胜算有多少呢?
这个问题的答案就要取决于四个人的合作方式了,如果是集中式系统,有一个盟主,比如胖虎(相当于中央服务器),那么他们的胜利是毫无悬念的,因为就进攻时间达成一致非常简单,只要胖虎召集大雄、小夫和静香开个会讨论一下就可以了,即使大家意见有分歧胖虎也可以在最后予以定夺。下面让我们回到拜占庭将军问题的假设里,在不基于信任的分布式网络中,四位将军的胜算又如何呢?
?
首先由于四位将军之间缺乏信任,因此聚到小黑屋里开个密谋会的可能性被排除了(一旦在小黑屋里被胖虎绑架了怎么办?);其次由于没有盟主,四个人的意见都会被同等的看重。在这种情况下,四位将军只能通过信使在各自营地之间传递消息,来商定进攻时间了。比如大雄觉得早上6点是发动进攻的好时机,他就会派信使将自己的意见告诉胖虎、小夫和静香,与此同时,胖虎可能认为晚上9点发动突袭更好,小夫更喜欢下午3点出击,而静香希望是上午10点,他们三人也会在同一时间派出自己的信使。这样一来,在第一轮通信结束后,四位将军每个人都有了四个可供选择的进攻时间,他们各自要在下一轮通信中把自己选定的时间告知另外三人。由于四个人的决策都是独立做出的,因此最终的选择结果就有256种可能,而只有当三人以上都恰好选择了同一时间的时候,共识才被达成,而这样的结果才64种,也就是说达成共识的概率仅为1/4。这还只是四位将军的情况,如果将军的人数是10人,100人,1000人呢?我们稍加计算就可以发现随着人数的增加,达成共识的希望会变得越来越渺茫。
把上面例子中的将军换成计算机网络中的节点,把信使换成节点之间的通信,把进攻时间换成需要达成共识的信息,你就可以理解共识问题所描述的困境了。达成共识的能力对于一个支付系统来说重要性不言而喻,如果你给家里汇了一笔钱买车,第二天去银行核实的时候柜台告诉你“关于你汇了多少钱的问题,我们的系统里有三个版本的记录”,这样的银行你显然是不敢把钱存进去的。在比特币出现之前共识问题是很难被完美解决的,要保证达成共识就需要采用集中式系统(除非节点满足特定条件),要想去中心化共识就无法保证。那么区块链技术又是如何解决这一难题的呢?(关注公众号weoption,回复“区块链”,可查看全文。)
⑶ 刚刚了解,谁能告诉我区块链是什么通俗解释一下区块链技术的方法
大家共同记账的方式,也被称为“分布式”或“去中心化”,因为人人都记账,且账本的准确性由程式算法决定,而非某个权威机构。
这就是区块链,核心讲完了,区块链就这么简单,一个共同记账的账本
区块链技术六大核心算法:
区块链核心算法一:拜占庭协定
拜占庭的故事大概是这么说的:拜占庭帝国拥有巨大的财富,周围10个邻邦垂诞已久,但拜占庭高墙耸立,固若金汤,没有一个单独的邻邦能够成功入侵。任何单个邻邦入侵的都会失败,同时也有可能自身被其他9个邻邦入侵。拜占庭帝国防御能力如此之强,至少要有十个邻邦中的一半以上同时进攻,才有可能攻破。然而,如果其中的一个或者几个邻邦本身答应好一起进攻,但实际过程出现背叛,那么入侵者可能都会被歼灭。于是每一方都小心行事,不敢轻易相信邻国。这就是拜占庭将军问题。
区块链核心算法二:非对称加密技术
在上述拜占庭协定中,如果10个将军中的几个同时发起消息,势必会造成系统的混乱,造成各说各的攻击时间方案,行动难以一致。谁都可以发起进攻的信息,但由谁来发出呢?其实这只要加入一个成本就可以了,即:一段时间内只有一个节点可以传播信息。当某个节点发出统一进攻的消息后,各个节点收到发起者的消息必须签名盖章,确认各自的身份。
区块链核心算法三:容错问题
我们假设在此网络中,消息可能会丢失、损坏、延迟、重复发送,并且接受的顺序与发送的顺序不一致。此外,节点的行为可以是任意的:可以随时加入、退出网络,可以丢弃消息、伪造消息、停止工作等,还可能发生各种人为或非人为的故障。我们的算法对由共识节点组成的共识系统,提供的容错能力,这种容错能力同时包含安全性和可用性,并适用于任何网络环境。
区块链核心算法四:Paxos 算法(一致性算法)
Paxos算法解决的问题是一个分布式系统如何就某个值(决议)达成一致。一个典型的场景是,在一个分布式数据库系统中,如果各节点的初始状态一致,每个节点都执行相同的操作序列,那么他们最后能得到一个一致的状态。为保证每个节点执行相同的命令序列,需要在每一条指令上执行一个“一致性算法”以保证每个节点看到的指令一致。一个通用的一致性算法可以应用在许多场景中,是分布式计算中的重要问题。 节点通信存在两种模型:共享内存和消息传递。Paxos算法就是一种基于消息传递模型的一致性算法。
区块链核心算法五:共识机制
区块链共识算法主要是工作量证明和权益证明。拿比特币来说,其实从技术角度来看可以把PoW看成重复使用的Hashcash,生成工作量证明在概率上来说是一个随机的过程。开采新的机密货币,生成区块时,必须得到所有参与者的同意,那矿工必须得到区块中所有数据的PoW工作证明。与此同时矿工还要时时观察调整这项工作的难度,因为对网络要求是平均每10分钟生成一个区块。
区块链核心算法六:分布式存储是一种数据存储技术,通过网络使用每台机器上的磁盘空间,并将这些分散的存储资源构成一个虚拟的存储设备,数据分散的存储在网络中的各个角落。所以,分布式存储技术并不是每台电脑都存放完整的数据,而是把数据切割后存放在不同的电脑里。就像存放100个鸡蛋,不是放在同一个篮子里,而是分开放在不同的地方,加起来的总和是100个。想了解更多可以多利用网络搜索,网络搜索结果-小知识
⑷ 攻克拜占庭故事梗概
在黑暗时代和中世纪,拜占庭是一个非常强盛并且持久的优秀文明。在罗马灭亡之前,古罗马帝国由两部份组成:西罗马帝国以意大利为中心,东罗马帝国则环绕着整个土耳其和黑海区域。当罗马遭到野蛮民族进攻,最终四分五裂之后,帝国的西半部份一直保持着昔日辉煌的荣誉称号。而从公元十五世纪到中世纪的末期,帝国的东半部份定都在拜占庭(Byzantium,就是原来的君士坦丁堡),这一称号的始创者是十四世纪古罗马的君士坦丁大帝。
从那时候起,拜占庭王朝所面临的最大问题,就是如何应付那些处于黑暗时代的野蛮民族的疯狂进攻。按照ES的说法,Byzantine一词是从原本的Byzantium演变而来,后者是古希腊的一座城市,靠近博斯普鲁斯海峡(Bosphorus),是连接黑海与爱琴海的重要通道。当整个罗马帝国崩溃于野蛮民族的入侵时,君士坦丁堡倚仗着固若金汤的防御工事和便捷的海上通道而幸免于难。在那个时代,任何其它文明都无法与拜占庭王朝的舰队相抗衡,即使陆上的补给线被土耳其、波斯和一些东部的野蛮民族完全切断,拜占庭仍然能够通过海上通道获得所需要的一切物资。这一特殊的地理位置使得拜占庭能够通过海上贸易积累大量的财富,而且这还是当时西方与中国之间唯一的贸易通道。ES的工作人员谈到,Nomisma,一种拜占庭的货币,在地中海区域流通了将近800年。拜占庭的海军能充份保证贸易航线的自由畅通,许多阿拉伯的舰队都被其彻底击溃。拜占庭的海军使用着在当时西方比较先进的希腊火器。除了强大的海军之外,拜占庭人还拥有一支训练有素、纪律严明的陆上部队。拜占庭的军队里。有来自罗马、希腊、哥特和中东地区的士兵,他们都受过很好的训练,装备了精良的武器,拜占庭的陆军是当时最出色的军团之一。
历史上的拜占庭王朝,一直努力着想恢复昔日古罗马帝国的荣耀时代。最初的尝试者是查士丁尼一世(Justinian I),拜占庭王朝的第一任统治者。他的将军,贝利萨留(Belisarius)统率着那一时代西方最强大的军团,贝利萨留曾经在意大利打败了奥托哥特人,在东方击退波斯帝国的入侵,并将拜占庭的势力范围扩大到了北非,这使得拜占庭的周边国家都心甘情愿地向其俯首称臣。然而阿拉伯势力的进攻,使得这些辉煌的胜利逐渐蒙上阴影。在公元七世纪和八世纪,阿拉伯人先后攻占了埃及、北非和西班牙不断侵蚀着拜占庭王朝的领土,就连小亚细亚也在公元十一世纪初被攻克了,这使得拜占庭王朝失去了最重要的食物与马匹的供给来源。同时,拜占庭王朝还要应付意大利盟友的突然反叛。
在遭到邻邦意大利的背叛,并疲于应付阿拉伯和土耳其进攻的拜占庭王朝,最终灭亡了。公元十四世纪,土耳其人占领了埃迪尔内(Adrianople)。公元1453年,土耳其的军队攻陷了君士坦丁堡,终结了盛极一时的拜占庭王朝。
君士坦丁王朝
君士坦丁一世 Constantine the Great 306年—337年 原为四帝共治制中的西帝,后击败其他诸帝,成为罗马帝国唯一的统治者
君士坦提乌斯二世 Constantius II 337年—361年 君士坦丁一世之子,统治帝国东部,其弟君士坦斯二世死后统治整个罗马
叛教者朱利安 Julian the Apostate 361年—363年 君士坦丁一世的侄子,在君士坦提乌斯二世死后统治整个罗马,死于与波斯的战争
军人统治
约维安 Jovian 363年—364年 瓦伦丁尼安一世之弟,被兄长任命为东部皇帝
瓦伦丁尼安-狄奥多西亚王朝
瓦伦丁尼安一世 Valentinian I 364年—375年 军人,在约维安暴卒后被军队拥立为全罗马皇帝,但不久将东部交给其弟瓦伦斯管理,自己只统治西部
瓦伦斯 Valens 364年—378年 军人,瓦伦丁尼安一世之弟,被兄长任命为东部皇帝
格拉蒂安 Valens 378年—379年 瓦伦丁尼安一世之子,原为西部皇帝,在瓦伦斯阵亡后为全罗马皇帝,不久将东部帝国交给狄奥多西一世,自己只统治西部
狄奥多西一世 Theodosius I 379年—395年 军人,被格拉蒂安任命为东部皇帝,与瓦伦丁尼安一世的女儿结婚,后成为全罗马帝国的皇帝;狄奥多西一世去世后,罗马帝国永久分裂,东部帝国发展为拜占庭帝国
狄奥多西亚王朝(395年—457年)
阿卡狄奥斯 Arcadius 395年—408年 狄奥多西一世之子
狄奥多西二世 Theodosius II 408年—450年 阿卡狄奥斯之子
马尔基安 Pulcheria 450年—457年 拜占庭军人,由权臣阿斯帕尔拥立,与阿卡狄奥斯之女结婚
利奥王朝
利奥一世 (拜占庭) Leo I 457年—474年 在马尔基安死后由阿斯帕尔拥立
利奥二世 (拜占庭) Leo I 457年—474年 利奥一世的外孙,芝诺之子
芝诺 (罗马帝国) Zeno 474年—475年 利奥一世的女婿,被军人和贵族集团推翻
巴西利斯库斯 Basiliscus 475年—476年 利奥一世的妻弟,被阴谋集团拥立为帝,后皇位被芝诺夺回
芝诺 (罗马帝国) Zeno 476年—491年 复位
阿纳斯塔修斯一世 Anastasius I 491年—518年 朝臣,被元老院推举为皇帝,与芝诺的遗孀结婚
查士丁尼王朝
查士丁一世 518年 - 527年,守卫帝都的将领
查士丁尼一世 527年 - 565年,查士丁一世之侄
查士丁二世 565年 - 578年,查士丁尼一世之侄
提比略二世 578年 - 582年,查士丁二世的养子
摩里士 582年 - 602年,提比略二世的女婿,被弗卡斯推翻
弗卡斯 602年 - 610年,拜占庭军人,推翻摩里士,导致萨珊王朝国王库思老二世出兵干预,被希拉克略推翻并杀死
希拉克略王朝
希拉克略 610年 - 641年,亚美尼亚贵族,拜占庭帝国的阿非利加行省总督之子,击退库思老二世,推翻弗卡斯夺取皇位
君士坦丁三世 641年,希拉克略之子
赫拉克洛纳斯 641年,希拉克略之子,被推翻
君士坦斯二世 641年 - 668年,君士坦丁三世之子
君士坦丁四世 668年 - 685年,君士坦斯二世之子
查士丁尼二世 685年 - 695年,君士坦丁四世之子,被列昂提推翻
列昂提 695年 - 698年,拜占庭将领,推翻查士丁尼二世夺取皇位,被废黜并处决
提比略三世 698年 - 705年,拜占庭将领,推翻列昂提夺取皇位,被废黜并处决
查士丁尼二世 705年 - 711年,在保加利亚国王帮助下复位,后被菲利皮科斯推翻并被杀害
711年至717年
菲里皮科斯 711年 - 713年,亚美尼亚军人,推翻查士丁尼二世夺取皇位,被军队废黜
阿纳斯塔修斯二世 713年 - 715年,菲里皮科斯的秘书,被军队拥立为皇帝,又被军队推翻
狄奥多西三世 715年 - 717年,税官,被军队拥立为皇帝,被利奥三世推翻
伊苏里亚王朝
利奥三世 717年 - 741年,生于叙利亚的拜占庭将领,推翻狄奥多西三世夺取皇位
君士坦丁五世 741年,利奥三世之子,被阿尔塔瓦兹德推翻
阿尔塔瓦兹德 741年 - 743年,亚美尼亚军人,利奥三世之女婿,推翻君士坦丁五世,后被打败并废黜
君士坦丁五世 743年 - 775年,复位
利奥四世 775年 - 780年,君士坦丁五世之子
君士坦丁六世 780年 - 790年,利奥四世之子
伊琳娜女皇 780年 - 790年,利奥四世的妻子,君士坦丁六世之母,与君士坦丁六世共治
君士坦丁六世 790年 - 797年,792年前为唯一皇帝,之后与伊琳娜共治
伊琳娜女皇 792年 - 797年,与君士坦丁六世共治
伊琳娜女皇 797年 - 802年,唯一皇帝,被帝都贵族废黜
802年至820年
尼基弗鲁斯一世 802年 - 811年,财政大臣,被贵族拥立为皇帝
斯陶拉基奥斯 811年,尼基弗鲁斯一世之子,被米海尔一世推翻
米海尔一世 811年 - 813年,尼基弗鲁斯一世的女婿,推翻斯陶拉基奥斯夺取皇位,被军队推翻
利奥五世 813年 - 820年,拜占庭将领,受军队支持登上皇位,被谋杀
弗里吉亚王朝
米海尔二世 820年 - 829年,君士坦丁六世之女婿,谋杀利奥五世夺取皇位
狄奥菲洛 829年 - 842年,米海尔二世之子
米海尔三世 842年 - 867年,狄奥菲洛之子,被亲信巴西尔一世推翻并杀害
马其顿王朝
巴西尔一世 867年 - 886年,马其顿农民,属亚美尼亚族;杀害米海尔三世夺取皇位
利奥六世 886年 - 912年,名义上是巴西尔一世之子,实际上可能是米海尔三世的儿子
亚历山大 912年 - 913年,巴西尔一世的第三子
君士坦丁七世 913年 - 959年,利奥六世之子
罗曼努斯一世 919年 - 944年,君士坦丁七世的岳父
罗曼努斯二世 959年 - 963年,君士坦丁七世之子
尼基弗鲁斯二世 963年 - 969年,卡帕多细亚贵族,与罗曼努斯二世的遗孀赛奥法洛结婚,被谋杀
约翰一世 969年 - 976年,赛奥法洛的情夫,谋杀尼基弗鲁斯二世夺取皇位
巴西尔二世 976年 - 1025年,罗曼努斯二世之子
君士坦丁八世 1025年 - 1028年,罗曼努斯二世之子
佐伊 1028年 - 1041年,君士坦丁八世之女
罗曼努斯三世 1028年 - 1034年,佐伊的第一任丈夫,与妻子共治
米海尔四世 1034年 - 1041年,佐伊的第二任丈夫,与妻子共治,被侄子推翻,不久病死
米海尔五世 1041年 - 1042年,米海尔四世的侄子,被提升为共治皇帝,发动政变废黜米海尔四世和佐伊一世,成为唯一的皇帝,后被帝都贵族废黜
佐伊 1042年 - 1050年,复位
狄奥多拉 1042年,佐伊之妹,与其姐共治
君士坦丁九世 1042年 - 1050年,佐伊的第三任丈夫,与妻子共治
君士坦丁九世 1050年 - 1055年,唯一皇帝
狄奥多拉 1055年 - 1056年,佐伊之妹,唯一皇帝
1056年至1059年
米海尔六世 1056年 - 1057年,拜占庭将军,被狄奥多拉选为继承者,被帝都贵族推翻
伊萨克一世 1057年 - 1059年,拜占庭军人,受贵族支持取代米海尔六世,又被贵族废黜
杜卡王朝
君士坦丁十世 1059年 - 1067年,被推翻伊萨克一世的贵族集团拥立为帝
米海尔七世 1067年 - 1078年,君士坦丁十世之子
罗曼努斯四世 1068年 - 1071年,卡帕多细亚贵族,与君世坦丁十世的遗孀结婚,与米海尔七世共治,因曼齐克特战役失败被废黜
尼基弗鲁斯三世 1078年 - 1081年,安纳托利亚贵族,推翻米海尔七世,后被阿历克塞一世废黜
科穆宁王朝
阿历克塞一世 1081年 - 1118年,伊萨克一世之侄甥,与君士坦丁十世的孙侄甥女结婚,推翻尼基弗鲁斯三世
约翰二世 1118年 - 1143年,阿历克塞一世之子
曼努埃尔一世 1143年 - 1180年,约翰二世之子
阿历克塞二世 1180年 - 1183年,曼努埃尔一世之子
安德洛尼卡一世 1183年 - 1185年,阿历克塞一世之孙,约翰二世之侄甥,被贵族推翻并杀害
安格洛斯王朝
伊萨克二世 1185年 - 1195年,阿历克塞一世的曾孙
阿历克塞三世 1195年 - 1203年,伊萨克二世之弟,推翻其兄并将之弄瞎,被十字军废黜
伊萨克二世 1203年 - 1204年,复位
阿历克塞四世 1203年 - 1204年,伊萨克二世之子,与其父共治,被阿历克塞五世推翻杀害
尼古拉·科纳波斯 1204年,被元老院选为皇帝,本人拒绝接受,被阿历克塞五世杀害
阿历克塞五世 1204年,阿历克塞三世的女婿。1204年,第四次十字军占领君士坦丁堡,建立拉丁帝国,拜占庭皇室流亡
尼西亚帝国
也称为拉斯卡里斯王朝,是君士坦丁堡被十字军攻陷后拜占庭流亡贵族建立的政权之一
君士坦丁·拉斯卡里斯 1204年,未正式加冕
狄奥多尔一世 1204年 - 1222年,阿历克塞三世的女婿
约翰三世 1222年 - 1254年,狄奥多尔一世的女婿
狄奥多尔二世 1254年 - 1258年,约翰三世之子
约翰四世 1258年 - 1261年,狄奥多尔二世之子
巴列奥略王朝
米海尔八世 1259年 - 1282年,约翰四世的摄政,后废帝自立
安德洛尼卡二世 1282年 - 1328年,米海尔八世之子
米海尔九世 1294年 - 1320年,安德洛尼卡二世之子,与父亲共治
安德洛尼卡三世 1328年 - 1341年,米海尔九世之子,安德洛尼卡二世之孙
约翰五世 1341年 - 1376年,安德洛尼卡三世之子
约翰六世 1347年 - 1354年,约翰五世的岳父,与约翰五世共治
安德洛尼卡四世 1376年 - 1379年,约翰五世之子,推翻了自己的父亲
约翰五世 1379年 - 1390年,第一次复位
约翰七世 1390年,安德洛尼卡四世之子,推翻约翰五世
约翰五世 1390年 - 1391年,第二次复位
曼努埃尔二世 1391年 - 1425年,约翰五世之子,安德洛尼卡四世之弟
约翰八世 1425年 - 1448年,曼努埃尔二世之子
君士坦丁十一世 1449年 - 1453年,曼努埃尔二世之子,约翰八世之弟。1453年君士坦丁堡被奥斯曼帝国攻陷,拜占庭帝国灭亡
⑸ 如何理解拜占庭将军问题
拜占庭将军问题(以下简称“共识问题”)的正式表述是:如何在一个不基于信任的分布式网络中就信息达成共识?这个表述听起来有些晦涩,但其本质并不复杂,下面的例子与共识问题虽然并不完全一致,但却有助于我们的理解[9]。 想象一下在遥远的拜占庭时代,有一个富饶的城邦,金银珠宝绫罗绸缎应有尽有,它的领主哆啦A梦独享着这一切奢华与荣耀。而在城邦的外围,四位拜占庭将军大雄、胖虎、小夫和静香都觊觎着哆啦A梦的财富,于是他们决定联手攻占哆啦A梦的城邦。根据双方的实力对比,必须有超过半数的将军同时发起进攻方能克敌制胜,因此获胜条件就是四人中至少三个人可以就进攻时间达成一致。那么四位将军的胜算有多少呢? 这个问题的答案就要取决于四个人的合作方式了,如果是集中式系统,有一个盟主,比如胖虎(相当于中央服务器),那么他们的胜利是毫无悬念的,因为就进攻时间达成一致非常简单,只要胖虎召集大雄、小夫和静香开个会讨论一下就可以了,即使大家意见有分歧胖虎也可以在最后予以定夺。下面让我们回到拜占庭将军问题的假设里,在不基于信任的分布式网络中,四位将军的胜算又如何呢? ? 首先由于四位将军之间缺乏信任,因此聚到小黑屋里开个密谋会的可能性被排除了(一旦在小黑屋里被胖虎绑架了怎么办?);其次由于没有盟主,四个人的意见都会被同等的看重。在这种情况下,四位将军只能通过信使在各自营地之间传递消息,来商定进攻时间了。比如大雄觉得早上6点是发动进攻的好时机,他就会派信使将自己的意见告诉胖虎、小夫和静香,与此同时,胖虎可能认为晚上9点发动突袭更好,小夫更喜欢下午3点出击,而静香希望是上午10点,他们三人也会在同一时间派出自己的信使。这样一来,在第一轮通信结束后,四位将军每个人都有了四个可供选择的进攻时间,他们各自要在下一轮通信中把自己选定的时间告知另外三人。由于四个人的决策都是独立做出的,因此最终的选择结果就有256种可能,而只有当三人以上都恰好选择了同一时间的时候,共识才被达成,而这样的结果才64种,也就是说达成共识的概率仅为1/4。这还只是四位将军的情况,如果将军的人数是10人,100人,1000人呢?我们稍加计算就可以发现随着人数的增加,达成共识的希望会变得越来越渺茫。 把上面例子中的将军换成计算机网络中的节点,把信使换成节点之间的通信,把进攻时间换成需要达成共识的信息,你就可以理解共识问题所描述的困境了。达成共识的能力对于一个支付系统来说重要性不言而喻,如果你给家里汇了一笔钱买车,第二天去银行核实的时候柜台告诉你“关于你汇了多少钱的问题,我们的系统里有三个版本的记录”,这样的银行你显然是不敢把钱存进去的。在比特币出现之前共识问题是很难被完美解决的,要保证达成共识就需要采用集中式系统(除非节点满足特定条件),要想去中心化共识就无法保证。那么区块链技术又是如何解决这一难题的呢?
⑹ 数字货币双花 拜占庭将军是什么意思
拜占庭将军问题在我看来是提出了一个错误模型。即错误节点可以做任意事情(不受protocol限制),比如不响应、发送错误信息、对不同节点发送不同决定、不同错误节点联合起来干坏事等等。总之就是说,没有节点会出现比这更严重的错误。
很显然,拜占庭错误是overly
pessimistic的模型,因为这种错误实际环境中比较少见。那么为什么要研究这个模型呢看其中最简单的一个原因是,如果某个一致性算法能够保证在系统出现f个拜占庭错误时保持系统一致,那么这个算法也就能够保证在出现f个任意其他错误的时候也保持系统一致。
错误模型有上限,肯定也就有一个下限(overly
optimistic,没有比它还要弱的模型)。这个下限就是‘fail-stop’模型。这个模型的假设是:当一个节点出错,这个节点会停止运行,并且其他所有节点都知道这个节点发生了错误。用同样的逻辑,如果某个一致性算法不能保证在系统出现f个错误的时候保持一致,那么这个算法也就没法处理其他f个任意其他问题。
应用这些错误模型,可以对不同算法进行比较,也可以对具体算法的cost进行讨论。
⑺ 拜占庭将军问题的起源
拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军与将军之间只能靠信差传消息。 在战争的时候,拜占庭军队内所有将军和副官必需达成一致的共识,决定是否有赢的机会才去攻打敌人的阵营。但是,在军队内有可能存有叛徒和敌军的间谍,左右将军们的决定又扰乱整体军队的秩序。在进行共识时,结果并不代表大多数人的意见。这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,拜占庭问题就此形成。