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

区块学堂——“遇见”拜占庭将军

但凡关于区块或比特币相关的书籍,就算是相关问题深入探讨都绕不开一个永恒的话题——拜占庭将军问题(The Byzantine Generals Problem)。...每一个想理解和掌握区块技术原理的人也无法“逃过”拜占庭将军的“手掌心”,网络上关于拜占庭将军问题的讨论、描述、讲解多如牛毛,很多区块大神,用了论文级别最科学,最严谨的算法、公式来推理,讲解,试图让人们更透彻的理解区块技术是如何迎刃而解拜占庭将军问题的核心...这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,就是“拜占庭将军问题”。(本故事来源于《区块:重塑经济与世界》) 拜占庭将军问题实质是什么?...(共识机制) 区块的起源,来自于拜占庭将军问题,通过把拜占庭将军问题通俗化、抽象化之后,几乎可以延伸到人类的任何领域,并采用全新思维和方法来解决问题,创造价值。 最后用我非常喜欢的一段话作为结束。...所以在我们向伟大的“答案”——区块致以敬意之时,请不要忘记它的源头,不要忘记拜占庭

1.1K80

区块小问题科普】-“拜占庭将军

而真实情况是节点可能会作恶(伪造消息),在这样的场景下,如何在众多节点中达成一致性问题,这是拜占庭将军问题所要讨论的。...拜占庭将军问题,通过比喻的方式来描述分布式一致性中一类最难的问题: 假设将军总数3,叛徒将军数1....假设将军总数4,叛徒将军数1. 提案人不是叛徒,提案人发送一个提案,叛徒同样作恶,但受到的消息结果,能很容易就找出哪个节点是叛徒。从而快速达成共识。...所以在前几期讲PBFT的时候说道,假设节点总数为N,f为拜占庭错误节点,N满足:N=3f+1。 也是为了满足这一特性。 共识算法的核心就是解决拜占庭将军问题(分布式网络一致性问题)。...所以在PAXO改进了以后,raft不能解决拜占庭将军问题,结合PBFT,设计一种基于PBFT的raft,解决拜占庭容错还能容纳故障节点。这是一个很好方向。

40020
您找到你想要的搜索结果了吗?
是的
没有找到

区块的起源—拜占庭将军问题

01— 拜占庭将军问题的起源 拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军将军之间只能靠信差传消息。...这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,拜占庭问题就此形成。...利用分布式和签名机制可以完全的解决拜占庭将军问题但是在现实中却完全不同。...区块技术的诞生 互联网的诞生从解决了我们信息的传输问题,解决了我们信息的传输成本。 如果在现代,将军们可以在微信中讨论这个问题,最终确定进攻时间。但是如果拜占庭帝国可以监控微信呢?...这时候我们就需要一个去中心化的信任系统——区块。 中本聪在区块中加入了时间戳,和非对称加密算法使区块具有签名属性和不可篡改属性。很好的解决了拜占庭将军问题。 这时如果出现背叛怎么办?

98670

拜占庭将军区块有啥关系?

每一本讲区块技术的书籍,几乎都会讲到拜占庭将军问题,看到这个词语时,我曾经一度认为有一位名叫拜占庭将军带领着一支庞大的军队打仗时遇到了难题,但查阅了一些资料后,发现实际上并没有拜占庭将军,也没有这场战争...(取自百度百科) 在《区块----从数字货币到信用社会》中关于拜占庭将军问题的描述有点小错误,书中把问题描述成10个邻国去攻打拜占庭国家,但查到这个问题的提出者Leslie Lamport的论文原稿时...将军们在商量过程中可能会浪费很多天时间,贻误战机 4)区块的解决方案 把军队想像成计算机节点,把信使想像成计算机间的网络通讯,攻占敌军就是写入一个大家公认的区块记录。...拜占庭将军问题深入探讨 区块的工作原理之拜占庭将军问题 浅谈区块技术翻过的大山——拜占庭将军问题、 探寻区块的源头——“重回拜占庭区块与银行家(上篇:拜占庭将军问题) 区块共识机制,拜占庭将军问题是什么...区块生存训练的文章选读: 取现【区块生存训练】 云币网及KYC【区块生存训练】 连基础概念都不学习有多么可怕 HD钱包 比特币的私钥 创世区块 总量2100万个,稀缺带来价值?

1.5K80

拜占庭将军问题看:区块「 共识算法 」

假如你是古代某个国家的将军,你们国家除了你以外,还有另外9个将军,每个将军带领着一支军队,总共10支军队,这10支军队在地域上分散驻扎。...这就是著名的「拜占庭将军问题」。 ? 拜占庭将军问题就是要解决去中心化的共识机制问题,而这个共识问题也是比特币中区块网络所需要解决的。...因为拜占庭将军们是分散的,没有一个中心的领导机构,因此他们在进攻敌方的时候必须事先对进攻地点和时间进行协商,达成共识。...那么在有限的时间内,要解决提案(进攻方案)的一致性且获取大部分将军的认可,才能解决拜占庭将军问题。 在区块网络中也是类似情况。...我们知道区块的核心价值之一就是共识,这也是大家一直所追捧区块的特性之一。那今天我们就来重点来聊一聊区块是怎样通过「共识机制」来解决上述问题的。

98330

拜占庭将军问题

一.简介 拜占庭将军问题(The Byzantine Generals Problem),它其实是借拜占庭将军的故事展现了分布式共识问题,还探讨和论证了解决的办法。...这个故事,是拜占庭将军问题的一个简化表述,苏秦面临的就是典型的共识难题,也就是如何在可能有误导信息的情况下,采用合适的通讯机制,让多个将军达成共识,制定一致性的作战计划?...2.2 口信消息型拜占庭问题之解 首先,三位将军都分拨一部分将军,由苏秦率领,苏秦参与作战计划讨论并执行作战指令。...1 ,那么拜占庭将军问题就能解决了。...不过,这个算法虽然能解决拜占庭将军问题,但它有一个限制:如果叛将人数为 m,那么将军总人数必须不小于 3m + 1。

14020

拜占庭将军问题_拜占庭为什么叫拜占庭

,所以这里对拜占庭将军问题进行了解。 拜占庭将军问题 拜占庭将军问题(Byzantine failures),是由莱斯利·兰伯特提出的点对点通信中的基本问题。...起源 拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了达到防御目的,每个军队都分隔很远,将军将军之间只能靠信差传消息。...将军问题 拜占庭将军问题是一个协议问题,拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒。...很多经典算法问题只有在n ≥ 3t+1时才有解,如拜占庭将军问题,其中n是系统中进程的总数。 失效 所谓拜占庭失效指一方向另一方发送消息,另一方没有收到,或者收到了错误的信息的情形。...解决算法 拜占庭问题的最初描述是:n 个将军被分隔在不同的地方,忠诚的将军希望通过某种协议达成某个命令的一致(比如一起进攻或者一起后退)。

38820

什么是拜占庭将军问题

接触区块的同学,多少都听说过拜占庭将军问题,经常看到或听到某某区块使用某某算法解决了拜占庭将军问题,那么究竟什么是拜占庭将军问题呢什么是拜占庭将军问题 也被称为“拜占庭容错”、“拜占庭将军问题”。...所以,在研究拜占庭将军问题的时候,已经假定了信道是没有问题的....以上就是比特币网络中是单个区块(账本)达成共识的方法(取得一致性)。 理解了单个区块取得一致性的方法,那么整个区块(总账本)如果达成一致也好理解。...这就是比特币网络最长选择。...在拜占庭将军问题的角度来看,它同样提高了做叛徒的成本,因为账户需要首先持有大量余额才能有更多的几率广播区块,POS不是本文重点,以后在讲。

71340

拜占庭将军:背后的数学证明

写在前面 上一讲中拜占庭将军:分布式领域的幽灵,我们介绍了著名的拜占庭将军问题的由来及其结论: 在存在 m 个叛徒将军的情况下,将军总数小于等于 3m 时,忠诚将军之间的一致性无法达成; 当将军总是大于等于...再看拜占庭将军问题 上一讲中,主要是以易懂的方式来讲拜占庭将军问题的,现在到了证明阶段,那么就来看一下拜占庭将军严格的形式化表达形式是到底是怎样的。...那么在拜占庭将军问题里,我们让每个拜占庭将军模拟 m 个阿尔巴尼亚将军的行为: 发令拜占庭将军模拟一个阿尔巴尼亚发令将军和 m-1 个阿尔巴尼亚副官的行为; 忠诚拜占庭将军模拟忠诚阿尔巴尼亚将军的行为...; 叛徒拜占庭将军可以做任意的事情。...总结 在这一讲里,我们使用反证法和数学归纳法,对拜占庭将军问题进行了证明。在证明的推导过程中,你也应该明白了如何根据拜占庭将军问题去解决算法问题。

89430

漫画:什么是拜占庭将军问题?

————— 第二天 ————— ———————————— 什么是拜占庭将军问题? 在很久很久以前,拜占庭是东罗马帝国的首都。...那个时候罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军将军之间只能靠信使传递消息。 在打仗的时候,拜占庭军队内所有将军必需达成一致的共识,才能更好地赢得胜利。...这个问题被称为拜占庭将军问题。 什么是 Raft 算法? Raft 算法是一种简单易懂的共识算法。它依靠 状态机 和 主从同步 的方式,在各个节点之间实现数据的一致性。...Paxos 算法: 早期的共识算法,由拜占庭将军问题的提出者 Leslie Lamport 所发明。谷歌的分布式锁服务 Chubby 就是以 Paxos 算法为基础。...PBFT 算法: 区块技术所使用的共识算法之一,适用于私有的共识。 —————END—————

30110

每日一题 | 拜占庭将军问题

今日问题 拜占庭将军问题 拜占庭帝国为了征讨一座城堡派出了7个将军各自率领一个队伍,这个城堡非常坚固,必须要有一半以上的将军一起进攻才可以获胜,否则将会失败。...由于科技落后,将军之间只能通过传令兵进行通信。 将军之间约定各自发出是否进攻的投票,如果收到进攻的意见超过半数则发起进攻。...但由于7个将军当中混入了2个叛徒,叛徒会发出虚假的指令,比如向决定进攻的将军发送进攻,向想要撤退的将军发出撤退。...比如3个忠诚的将军下令进攻,2个将军下令撤退,这时两个叛徒向3个忠诚的将军发送进攻,向2个想要撤回的将军发送撤退,这样将会导致实际进攻的将军只有3个,这会导致战争的失败。...假设现在将军们已经发现了叛徒的存在但不知道是哪两个将军是叛徒,忠诚的将军们应该采用什么样的方法才可以保证做出的决策不被叛徒影响?

93020

一文读懂拜占庭将军问题

作者 | Yu Liebing 责编 | Carol 出品 | 区块大本营(ID:blockchain_camp) 拜占庭将军问题(The Byzantine Generals Problem)提供了对分布式共识问题的一种情景化描述...拜占庭将军问题描述 拜占庭将军问题描述了这样一个场景: ? 图1. 拜占庭将军问题 拜占庭帝国(Byzantine Empire)军队的几个师驻扎在敌城外,每个师都由各自的将军指挥。...为了更加深入的理解拜占庭将军问题,我们以三将军问题为例进行说明。...指挥官为叛将的场景 如上所述,对于口信消息型拜占庭将军问题,如果叛将人数为m,将军人数不少于3m+1,那么最终能达成一致的行动计划。...一类是拜占庭容错算法,可以解决分布式系统中既存在故障,又存在恶意攻击场景下的共识问题。一般用于互联网场景下的分布式系统,如在数字货币的区块技术中。属于此类的常见算法有PBFT算法、PoW算法。 ?

2.5K11

拜占庭将军问题和 Raft 共识算法讲解

Tech 导读 在分布式系统中, 什么是拜占庭将军问题?产生的场景和解决方案是什么?什么是 Raft 共识算法?Raft 算法是如何解决拜占庭将军问题的?其核心原理和算法逻辑是什么?...拜占庭将军问题被认为是容错性问题中最难的问题类型之一。】...1.1 拜占庭容错 在早期的解决方案中,一种是“拜占庭容错”,它遵循“少数服从多数”的共识机制,即使出现了错误或伪造的信息,只要有问题的将军数量不到 1/3,仍可以达到“拜占庭容错”,使整个系统便可以正常运作...【Raft 算法解决的是简化版的拜占庭将军问题,即在不考虑数据丢失、篡改的情况下的拜占庭将军问题。】...3.3 PBFT 算法 区块技术所使用的共识算法之一,适用于私有的共识。

19120

拜占庭将军:分布式领域的幽灵

拜占庭将军问题,通过比喻的方式来描述分布式一致性中一类最难的问题,这里大致叙述一下: 拜占庭帝国派出多支军队去围攻一支敌军,每支军队有一个将军,但由于彼此距离较远,他们之间只能通过信使传递消息。...三将军的难题 首先把问题简化一下,假设只有三个拜占庭将军,分别为A、B、C,他们要讨论的只有一件事情:明天是进攻还是撤退。...但是,如果稍微做一个改动:三个将军中出了一个叛徒呢?叛徒的目的是破坏忠诚将军间一致性的达成,让拜占庭的军队遭受损失。...而叛徒“拜占庭将军”问题就像幽灵一样,扰乱了所有正常节点保持一致性的可能。 谁是叛徒?...而 Lamport 没想到的是,现在真的出现了一个每个人都可以进行消息伪造,且伪造消息成功时能够受益的巨大系统——区块。因此,如何解决拜占庭故障也成为了区块算法要解决的一个核心问题。

44440

EKT多技术谈 | 人们常说的“拜占庭将军”问题究竟是啥?

何谓“拜占庭将军问题”?...进一步讲,拜占庭将军的问题可以描述为: 一个发送命令的将军要发送一个命令给其余n-1个将军,使得所有忠诚的接收命令的将军遵守相同的命令如果发送命令的将军是忠诚的,那么所有忠诚的接收命令的将军遵守所接收的命令这个问题发展到计算机领域...区块需要解决的一个核心问题就是如何保证在分布式环境下,各个节点(即使存在恶意节点)的数据能够达成最终的一致性和正确性。...EKT主上每个DPoS节点的公钥都是公开的,具体路由策略为: 1. 区块广播 当一个节点完成打包之后,会对区块进行签名。签名完以后节点会把区块和签名广播给网络中的其他节点。...当任何一个节点收到超过半数对同一个区块的投票之后即可认为当前的区块可写入区块中,并将区块和投票结果发送给所有的节点,所有节点对区块进行记录。

38640

什么是区块的共识机制?

区块这样的分布式网络中,我们还是以将军为例:每位将军都保留一份历史消息账本因为每份消息都是进行过签名的,所以如果有背叛的将军,我们很容易就能找出来; 在一轮共识的流程里,即便有消息不一致,但是只要背叛将军的个数少于...1/3,这一轮共识就能达成什么是区块共识机制?...----共识机制是区块是核心的组成要素之一,它决定了区块的业务吞吐量、交易速度、不可篡改性、准入门槛等等,是最为关键的技术要素之一。...要理解区块共识机制,首先就需要理解区块共识机制到底解决了什么问题。共识机制主要解决了两个问题:谁有权利;作弊问题。...以上两部分共同构成了区块共识机制。

62600

五分钟了解共识机制

“共识机制是区块的灵魂。”这是业内经常能听到的一句话,共识机制在区块中的地位可想而知。那么到底什么是共识机制呢?我们不妨从拜占庭将军问题说起。...拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,每个军队都分隔很远,将军将军之间只能靠信差传消息。...这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,拜占庭问题就此形成。 拜占庭将军问题是一个协议问题,拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。...共识机制是区块技术的重要组件。...它就像一本法典,维系着区块世界的正常运转,使得区块技术自带改善世界的光芒,也是让区块得以被全世界逐步接受和认可的最大幕后功臣,它让互联网、陌生人之间,在没有第三方作为信用背书的情况下发生的一切交易变成可能

46940

区块基础知识(下):共识机制 附带图解、超详细教学!看不懂你打死我

拜占庭容错 : 拜占庭容错强调的是能够容忍部分区块节点由于硬件错误、网络拥塞或断开以及遭到恶意攻击等情况出现的不可预料的行为。...BFT系列算法是典型的拜占庭容错算法,比如PBFT、HotStuff等。 非拜占庭容错 : 非拜占庭容错通常指能够容忍部分区块节点出现宕机错误,但不容忍出现不可预料的恶意行为导致的系统故障。...通过最后不可逆块,可以确认这条是否是由三分之二的节点签名的最长。 总结来说,DPOS机制可以有效地防范拜占庭作恶,具有强大的拜占庭容错性。...算法根据区块实时投票情况,决定下一轮参与共识的节点,有效降低了算法耗时,从而提高了出块速度,同时降低了交易确认周期。...生成的新区块包含了达成共识后的数据,并由将军A广播给其他节点,以便它们更新他们的

17710
领券