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

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

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

45120

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

01— 拜占庭将军问题的起源 拜占庭位于如今的土耳其的伊斯坦布尔,是东罗马帝国的首都。由于当时拜占庭罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军将军之间只能靠信差传消息。...利用分布式和签名机制可以完全的解决拜占庭将军问题但是在现实中却完全不同。...区块技术的诞生 互联网的诞生从解决了我们信息的传输问题,解决了我们信息的传输成本。 如果在现代,将军们可以在微信中讨论这个问题,最终确定进攻时间。但是如果拜占庭帝国可以监控微信呢?...这时候我们就需要一个去中心化的信任系统——区块。 中本聪在区块中加入了时间戳,和非对称加密算法使区块具有签名属性和不可篡改属性。很好的解决了拜占庭将军问题。 这时如果出现背叛怎么办?...拜占庭将军问题,是由莱斯利·兰伯特1982年提出的点对点通信中的基本问题。伟大的创新一般都是站在巨人的肩膀上进行的。

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

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

    这就是著名的「拜占庭将军问题」。 ? 拜占庭将军问题就是要解决去中心化的共识机制问题,而这个共识问题也是比特币中区块网络所需要解决的。...因为拜占庭将军们是分散的,没有一个中心的领导机构,因此他们在进攻敌方的时候必须事先对进攻地点和时间进行协商,达成共识。...那么在有限的时间内,要解决提案(进攻方案)的一致性且获取大部分将军的认可,才能解决拜占庭将军问题。 在区块网络中也是类似情况。...区块的分布式网络中可能会有多个人提出打包区块的请求,并且其中还有可能是有伪造的区块,那么只能靠分布式共识算法来解决这个问题了。...我们知道区块的核心价值之一就是共识,这也是大家一直所追捧区块的特性之一。那今天我们就来重点来聊一聊区块是怎样通过「共识机制」来解决上述问题的。

    1K30

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

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

    1.2K80

    拜占庭将军问题

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

    21620

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

    每一本讲区块技术的书籍,几乎都会讲到拜占庭将军问题,看到这个词语时,我曾经一度认为有一位名叫拜占庭将军带领着一支庞大的军队打仗时遇到了难题,但查阅了一些资料后,发现实际上并没有拜占庭将军,也没有这场战争...(取自百度百科) 在《区块----从数字货币到信用社会》中关于拜占庭将军问题的描述有点小错误,书中把问题描述成10个邻国去攻打拜占庭国家,但查到这个问题的提出者Leslie Lamport的论文原稿时...这家伙觉得故事让问题变得受欢迎,因此他在提出观点和问题时常用故事背景吸引眼球,拜占庭将军的故事就是兰伯特在研究分布式系统容错性的时候编出的一个故事。...将军们在商量过程中可能会浪费很多天时间,贻误战机 4)区块的解决方案 把军队想像成计算机节点,把信使想像成计算机间的网络通讯,攻占敌军就是写入一个大家公认的区块记录。...拜占庭将军问题深入探讨 区块的工作原理之拜占庭将军问题 浅谈区块技术翻过的大山——拜占庭将军问题、 探寻区块的源头——“重回拜占庭区块与银行家(上篇:拜占庭将军问题区块共识机制,拜占庭将军问题是什么

    1.6K80

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

    ,所以这里对拜占庭将军问题进行了解。 拜占庭将军问题 拜占庭将军问题(Byzantine failures),是由莱斯利·兰伯特提出的点对点通信中的基本问题。...这时候,在已知有成员谋反的情况下,其余忠诚的将军在不受叛徒的影响下如何达成一致的协议,拜占庭问题就此形成。...将军问题 拜占庭将军问题是一个协议问题拜占庭帝国军队的将军们必须全体一致的决定是否攻击某一支敌军。问题是这些将军在地理上是分隔开来的,并且将军中存在叛徒。...很多经典算法问题只有在n ≥ 3t+1时才有解,如拜占庭将军问题,其中n是系统中进程的总数。 失效 所谓拜占庭失效指一方向另一方发送消息,另一方没有收到,或者收到了错误的信息的情形。...解决算法 拜占庭问题的最初描述是:n 个将军被分隔在不同的地方,忠诚的将军希望通过某种协议达成某个命令的一致(比如一起进攻或者一起后退)。

    42420

    什么是拜占庭将军问题

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

    75540

    白话讲解,拜占庭将军问题

    但你可能不知道,这些算法和工具解决的并不是一致性中最难的问题,要讨论这个最难的问题,这就要追溯到 Leslie Lamport 1982 年发表的著名论文 《拜占庭将军问题》(The Byzantine...image.png 1、拜占庭将军问题是什么? 拜占庭将军问题,其实是一个共识问题。...以上,这就是著名的拜占庭将军问题。...注意,这里“一致性”才是拜占庭将军问题探讨的内容,如果本来叛徒数量就已经多到了问题不可解的地步,这个就是“反叛”的问题了;同时,我们的目标是忠诚的将军能够达成一致,对于这些忠诚的将军来说,进攻或者撤退都是可以的...在不去花费大量时间、资源揪出这个“叛徒”的情况下,能够让交易者双方都彼此信任、进行正常交易的方式就是区块。 - END -

    3.1K40

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

    ————— 第二天 ————— ———————————— 什么是拜占庭将军问题? 在很久很久以前,拜占庭是东罗马帝国的首都。...那个时候罗马帝国国土辽阔,为了防御目的,因此每个军队都分隔很远,将军将军之间只能靠信使传递消息。 在打仗的时候,拜占庭军队内所有将军必需达成一致的共识,才能更好地赢得胜利。...莱斯利·兰伯特( Leslie Lamport )通过这个比喻,表达了计算机网络中所存在的一致性问题。这个问题被称为拜占庭将军问题。 什么是 Raft 算法?...Paxos 算法: 早期的共识算法,由拜占庭将军问题的提出者 Leslie Lamport 所发明。谷歌的分布式锁服务 Chubby 就是以 Paxos 算法为基础。...PBFT 算法: 区块技术所使用的共识算法之一,适用于私有的共识。 —————END—————

    44710

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

    昨日问题 每日一题 | 一百个囚犯与一百个抽屉问题 这道题来源于读者投稿,解法来源于知乎。 很显然,每个囚犯最多打开50个抽屉,抽中自己号码的概率是1/2。...原理就是找环,我们把问题进行抽象和转化。首先我们把抽屉上的号码看成是起始点,把抽屉里的卡片号码看成是终点。...今日问题 拜占庭将军问题 拜占庭帝国为了征讨一座城堡派出了7个将军各自率领一个队伍,这个城堡非常坚固,必须要有一半以上的将军一起进攻才可以获胜,否则将会失败。...但由于7个将军当中混入了2个叛徒,叛徒会发出虚假的指令,比如向决定进攻的将军发送进攻,向想要撤退的将军发出撤退。...比如3个忠诚的将军下令进攻,2个将军下令撤退,这时两个叛徒向3个忠诚的将军发送进攻,向2个想要撤回的将军发送撤退,这样将会导致实际进攻的将军只有3个,这会导致战争的失败。

    98420

    一文读懂拜占庭将军问题

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

    3K11

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

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

    26320

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

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

    1K30

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

    何谓“拜占庭将军问题”?...拜占庭将军问题首先是由Leslie Lamport等人在1982年提出,被称为The Byzantine Generals Problem或者Byzantine Failure。...进一步讲,拜占庭将军问题可以描述为: 一个发送命令的将军要发送一个命令给其余n-1个将军,使得所有忠诚的接收命令的将军遵守相同的命令如果发送命令的将军是忠诚的,那么所有忠诚的接收命令的将军遵守所接收的命令这个问题发展到计算机领域...,就是拜占庭容错问题。...区块需要解决的一个核心问题就是如何保证在分布式环境下,各个节点(即使存在恶意节点)的数据能够达成最终的一致性和正确性。

    40840

    分布式系统–拜占庭将军问题(The Byzantine Generals Problem)

    拜占庭将军问题,主要为了解决在已知有成员不可靠的情况下,其余忠诚的将军需要在不受叛徒或间谍的影响下达成一致的协议的问题。...拜占庭错误是莱斯利·兰伯特在《拜占庭将军问题》中提出的一个错误模型,描述了一个完全不可信的场景,除了存在故障行为,还存在恶意行为。...你要注意,在存在恶意节点行为的场景中(比如在数字货币的区块技术中),必须使用拜占庭容错算法(Byzantine Fault Tolerance,BFT)。...如果能确定该环境中各节点是可信赖的,不存在篡改消息或者伪造消息等恶意行为(例如 DevOps 环境中的分布式路由寻址系统),推荐使用非拜占庭容错算法;反之,推荐使用拜占庭容错算法,例如在区块中使用 PoW...借拜占庭将军的故事来描述分布式共识的问题,并且探讨和论证了一些解决方法。

    69020

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

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

    51740

    什么是区块的共识机制?

    什么是拜占庭将军问题?----拜占庭将军问题其实是虚构出来的一个故事,是为了方便通俗地介绍分布式系统所面临的难题。...1/3,这一轮共识就能达成什么是区块共识机制?...----共识机制是区块是核心的组成要素之一,它决定了区块的业务吞吐量、交易速度、不可篡改性、准入门槛等等,是最为关键的技术要素之一。...要理解区块共识机制,首先就需要理解区块共识机制到底解决了什么问题。共识机制主要解决了两个问题:谁有权利;作弊问题。...首先,大家面临的最大问题是谁有权利记账,其次是如何避免记账者作弊。毕竟,谁都有权利记账,也就意味着谁都有可能作弊。以上两部分共同构成了区块共识机制。

    64800

    【技术贴】从拜占庭问题,谈区块技术实现及政务应用

    图 作者 | 丁艺明 拜占庭问题 探究区块其源头,我们不得不追溯到“拜占庭将军问题”。它是整个区块技术核心思想的真正根源,也直接决定了区块技术的种种与众不同的颠覆性特质。...兰伯特还听吉姆·格雷谈论过另一个性质大体相同的问题,这引起了兰伯特有关司令将军和叛徒将军的联想,于是他将这个问题及其解决方案命名为“拜占庭将军问题”。...这就是著名的拜占庭将军问题。 应该明确的是,拜占庭将军问题中并不去考虑通信兵是否会被截获或无法传达信息等问题,即消息传递的信道绝无问题。...区块弱并发问题 在应用区块解决方案于政务网工程建设过程中,发现不少区别于传统关系型数据库的区块特点。...另外现有区块还没有支持数据的隐私保护、数据的提交维护和访问的权限管理。需要一完善的区块数据建模基础框架来解决这些基于区块的应用开发问题

    1K100
    领券