当出现恶意节点时如何保持分步式网络一致性?李永乐老师讲拜占庭将军问题

拜占庭是历史上一个赫赫有名的帝国,也就是东罗马帝国,它的首是君士坦丁堡。1453年君士坦丁堡沦陷之后,这个帝国就灭亡了。

拜占庭将军问题并不是历史上真实存在的,而是一个虚拟的问题,它是在1982年由著名的计算机大神、图灵奖获得者兰波特提出的。

当出现恶意节点时如何保持分步式网络一致性?李永乐老师讲拜占庭将军问题

拜占庭将军问题可以这样描述:拜占庭帝国想进攻一个城堡,城堡非常坚固,足以抵制一两支军队的进攻,但如果所有军队同时进攻,城堡就可以沦陷。于是拜占庭帝国派出了很多支军队,但是因为通讯落后,这些军队之间只能通过信使来相互交流情报。于是他们就要商量一个方法,怎样才能让很多支军队在同一个时间进攻?

他们想到这么一个办法:咱们投票,比如我们说明天早上进攻,如果同意明天早上进攻的超过半数,那明天早上所有人都要进攻;如果不同意明天早上进攻的人超过半数,那么明天早上所有人都不要进攻。如此一来就保持了一致性。但是问题是,有可能在军队中出现叛徒,这个叛徒他会胡说八道。

比如说,在一次投票的时候,三支军队的将军都说我们应该进攻了,而另外三支部队的将军都说我们要撤退了,那么这个时候叛徒的意见就很重要,因为前面已经是3:3了。而这个叛徒他会告诉要进攻的三个将军,说我同意进攻;同时告诉三个要撤退的将军,说我们应该撤退。这样一来,这场战争只有一部分人进攻,一部分撤退,于是战斗就会失败。

这个就称之为拜占庭将军问题。

兰波特讲这个故事到底想说明什么呢?他实际上想说,计算机它可以分布在世界各地,我们称之为分布式节点,这些分布式节点可能会出现故障,比如宕机,也可能出现恶意节点,比如黑客,在这种情况下我们如何才能保持一致性,即保持这些忠诚的计算机输出的结果都一样,以及如何保持正确性,即如果大多数将军都认为应该进攻,那就要进攻,大多数将军都说要撤退,那就撤退。

尽管在这个分布式节点中有故障和恶意节点,但是还是有办法保证大部分忠诚的计算机是一致,而且是正确的。这个事儿就称之为拜占庭将军问题。

这个问题发展了将近40年,现在已经有很多种解决办法。比如在1982年兰波特提出这个问题的时候,他自己就给出了2种解决方法,我们称之为口头协议和书面协议。今天我们就给大家介绍一下其中的口头协议。

首先我们把这个拜占庭将军问题简化一下,简化为一个将军和副官模型,其实谁是将军都没有关系,所谓将军就是第一个提出进攻或撤退建议的人,其他的人就称之为副官,副官可以执行将军的命令,也可以不执行。

那怎么解决拜占庭将军问题呢?当时兰波特提出,假设m表示恶意节点(叛徒)的数量,n表示总节点数(总人数),那么当n>3m的时候,这个问题是可解的。比如有10个将军,其中有2个是叛徒,那么这个问题可解;如果一共只有3个人,其中有1个是叛徒,那因为没有满足n>3m,就解不了。

例1:假如m=1,n=4,一共有4个军队,其中1个是发号施令的Commander(简称C),另外3个是副官分别简称1号、2号、3号,其中有一个副官是叛徒,比如说3号副官是叛徒。

这样一来,如果将军发的命令是进攻,他告诉1号、2号、3号的命令都是进攻。然后3个副官之间互通信息,1号问2号“你接到的命令是什么”,2号会说“我接到的命令是进攻”,反过来,1号也会告诉2号“我接到的命令也是进攻”,因为他们是忠诚的。同时,1号、2号都会告诉3号“我接到的命令是进攻”,但是注意3号是叛徒,所以他就会胡说八道,说“我接到的是撤退”。

这种情况下,1号获得的信息是2个进攻、1个撤退,他只需要取这3个命令中最多的那个就可以了,也就是进攻。同样,2号获得的信息也是2个进攻、1个撤退,他只需要取这3个命令中最多的那个就可以了,也是进攻。

这样一来,就满足了1和2都进攻,并且忠实地执行了这个C的这个命令,即它达到了兰波特一开始设想的两个要求:一致性和正确性。

例2:假设将军B是叛徒,而3个副官都是忠诚的。那么他会跟前两个副官说要进攻,跟第3个副官说要撤退。然后3个副官会互通信息,1号会告诉2号、3号说“我接到的命令是进攻”,2号也会告诉1号、3号“我接到的命令是进攻”,3号会告诉1号、2号说“我接到的命令是撤退”。这样一来,1号、2号、3号副官得到的信息都是2个进攻、1个撤退,那么他3个都会选择进攻,这就就达到了一致性和正确性。

以上举的都是比较简单的例子,即只有1个叛徒的情况,如果叛徒有2个,那么按照n>3m的公式,至少得有7个人,否则就无解。

例3:假设m=2,n=7,有1个将军C,6个副官,其中2个副官是叛徒,假设5号、6号是叛徒,这时候我们就需要用到一种递归思想。

首先,将军C给6个副官发出进攻命令,这个时候1号副官不会立刻执行将军的命令,因为他不知道将军是不是叛徒,于是他就问2号“你接到的将军的命令是什么”,2号会告诉1号“是进攻”,但1号也不会马上相信2号的话,因为他也不知道2号是不是叛徒,于是他会接着去问3、4、5、6,他问“2告诉你他收到将军的命令是什么”,这话特别绕,就是嵌套(递归思想);同样,2、3、4、5、6号也这样问别人,他们得到的回答如下表格表示:

V1=进攻V2V3V4V5V6
V2=进攻进攻进攻进攻
V3=进攻进攻进攻进攻
V4=进攻进攻进攻进攻
V5=…(胡说八道)
V6=…

最终我们在这个向量里边取最大的,有4个人说进攻,有2个人胡说八道,但最终的结果肯定是进攻的人数多,于是1、2、3、4号副官加上将军C都会进攻,这样一来,他们保持了一致性(他们同时选择进攻),也保证了准确性(7个人中5个人进攻,符合大多数人的意见)。

以上就是口头协议的解决方法,但当时兰波特提出这个方案的时候没有考虑到网络延迟问题,但在实际的情况下互联网是有网络延迟的,所以这个算法是不能用的。

到了1999年,有几个人提出了一种更加简洁实用的拜占庭容错算法(PBFT),这种算法在存在网络延迟的情况下,依然可以保证少数恶意节点和故障节点存在时,大部分忠诚节点的一致性和准确性。

后来还有更多的人提出拜占庭将军问题解决方案,比如中本聪发明了比特币区块链区块链的核心问题也是要保持一致性,中本聪提出的解决方案是算力证明(PoW),你要记账就得算一道数学题,如此就增加了叛徒的成本。

文章内容仅供参考,不构成投资建议,投资者据此操作风险自负。转载请注明出处:天府财经网

(0)
上一篇 2023-05-05 09:34
下一篇 2023-05-05 12:50

相关推荐

  • Waterfall Network 宣布被集成到区块链分析平台 Chainspect

    11 月 6 日,Layer 1 去中心化智能合约平台 Waterfall Network 宣布被集成到区块链分析平台 Chainspect,可以在 Chainspect 上查看 Waterfall Network 多项统计数据。 Waterfall Network 旨在解决速度、安全性和可扩展性问题,同时提供一个真正的去中心化治理平台。今年 6 月 19 日,Waterfall Network 成为第一个成功完成 150 万验证者测试的 PoS 网络,为可扩展性和效率树立了新的标杆。根据 Chainspect 数据,Waterfall Network 是目前最具可扩展性的基于 EVM 的协议。

    2024-11-08
    1.1K
  • 小蝶量化:近期是否有布局MEME币?

    1.Polymarket有代币吗? 这个项目目前没有发行代币,不过有不少人在赌它会发币,所以在上面参与预测。我还是建议以兴趣为主,把它当游戏玩,参与自己最有把握的预测,不要为了薅羊毛太费时间和精力。公众号关注:博森科技小蝶。 2.我近期有没有买入什么Meme币都没有参与。 最近的这些NFT项目,但不知道为什么,看到这个留言,我突然想起了比特币生态的NFT,我觉得到目前为止有沉淀价值的是排名前10000(或者前1000甚至前100)的铭文

    2024-10-20
    969
  • 币安和cz认罪,牛市一大靴子落地

    周二,在一场市场关注已久的案件中,交易所带来什么。 币安将继续运营,但受到美国监管机构的密切监控,并由新任 CEO Rich投资者望而却步。另一方面,由于币安在期货交易中占据主导地位,市场流动性可能会受影响,这也是贯穿 2023 年全年的问题。对于数字资产来说,这可能不是问题,但对于大批小市值、流动性差的山寨币来说,可能会带来更大的挑战,币安占据山寨币最大的交易份额。 BitMEX 提供部分借鉴,但其从未受到刑事指控 2020 年 10 月 1 日,司法部指控 3 名 BitMEX 人员违反《银行保密法》(BSA)。这最终导致个人认罪,并根据CFTC 和 FinCEN 的指控对衍生品交易),但有一个很大的区别——与 BitMEX 相关的公司实体都没有你币安那样受到指控或解决刑事违法行为。 由于竞争、监管审查和 2020 年 3 月的「黑色星期四」事件对其声望造成影响,BitMEX 最终失去了在衍生品交易中的地位。 与司法部、财政部、CFTC 达成和解,但 SEC 缺席 和解协议包括司法部的刑事指控以及 FinCEN(财政部)和 CFTC 的民事指控。然而,值得注意的是,SEC 没有就民事指控达成任何和解。 8 个月前,2023 年 3 月 27 日,CFTC 对币安和 CZ 提出指控。虽然 CFTC 和 SEC 经常就此类重大执法案件进行合作,但直到 2023 年 6 月 5 日, SEC 才对币安和 CZ 提出民事指控。 虽然我们不知道 SEC 缺席和解的原因,但 CZ 和币安可能已决定对抗 SEC 指控,就 SEC 对代币二级交易的监管权限进行反驳,就像 交易市场都表现出色。然而,截至最近,其交易量占比一直在下降,使得周二消息的影响力大不如前。如果本次执法行动在今年早些时候落锤,对市场的影响可能会更大。 根据 The Block 的数据,币安在期货市场,币安在未平仓合约…

    2023-11-23 区块链
    7.2K
  • AI与金融的融合:2023芝加哥人工智能周将于10月26日开启

    2023年被誉为ChatGPT横扫全网,到目前各家大语言模型、生成式人工智能为商业和社会带来的巨大机遇和挑战。今天,AI在医疗、金融、教育、艺术等各个领域的应用不断深化,从生产自动化到智能决策,从医疗诊断到自然语言处理,AI正在快速地渗透到我们的工作、生活等各个领域,提高效率、改善客户体验、引领产品创新,重新定义员工与企业、企业与社会等多种复杂关系。 然而,技术的进步对于社会、企业以及个人从来都是一柄双刃剑。人工智能技术也毫不例外。机器与人是否可以和谐共处?人工智能是否会造成大批失业?在无监管、或监管不足的条件下,开发和使用人工智能的机构和个人如何解决当下人工智能存在的隐私保护、数据伦理、算法公正、可持续发展等重大问题?对于强监管下的金融服务、医疗卫生等行业,在监管体系不健全的前提下是否应该放缓人工智能相关的创新?全球范围内的讨论才刚刚开始,以人工智能为契机的新的社会契约的形成需要各方的广泛参与。 对于金融业而言,金融机构如何整合AI技术以更好地进行决策和创新,实现降本增效、数据驱动和数字化转型?如何基于AI进行更高效的分析决策,预防风险、反欺诈和保护客户,实现监管合规?AI与去中心化金融、代币经济、中央银行Fintech4Good、Chicago AI Council, St投融资峰会、企业路演等活动。现已开放2023-2024赞助方案,详情联系:info@fintech4good.co 关于AI2030: AI 2030致力于推动利用负责任的人工智能造福人类,同时尽可能减少其负面影响。AI 2030依托AI 2030研究所、AI 2030加速器、AI 2030基金,汇集了来自政府机构、学术界、企业界和各领域的专家,制定全球AI议程,促进公私合作,推动以负责任的方式开发和使用AI。该倡议涵盖治理、法规、行业特定框架、原则、最佳实践以及尖端工具和解决方案等各个方面。 参加大…

    2023-08-18 区块链
    20.1K
  • Arkham是什么?一文读懂链上数据分析赛道

    近期Binance宣布上线第32个Launchpad项目融资,其中Dune Analytics、Flipside、Nansen和Arkham均取得累积超过千万美金以上规模的融资,投资者,前三者都有其身影。 从支持的AIn和减持状况,CEX与DEX稳定币整体和单个的流入和流出,代币持有者整体平均持有时长、损益、Smart Money情况以及单个持有者余额变更、交易情况等;从智能合约层面,可以清晰地追踪到热门合约和LP交易对所提供的APY,以及合约内的代币/NFT的数据分析平台,且更加注重个体层面上地址/实体的情况,因此Arkham基本看不到一些全局数据。 Arkham上的功能基本都可以在Nansen上找到相对应的,也像Watchers一样推出了可视化的数据图谱,但除了免费外还有个颇具特色的存档功能,能够提供地址/实体在历史上任意两个时间点上的投资组合情况与图谱。(由于Dune、Flipside和Footprint大多可以通过SQL和创作意愿制作出适用面板,因而暂不讨论。) 在Arkham之前,普遍认为,数据分析平台对代币的直接需求并不高。提供数据打包服务的平台主要是走付费会员模式,更类似于Web2,对于免费用户只提供限定功能去作为试用。根据不同等级的付费计划,提供差异化功能与服务,但往往定价较高让普通投资者望而却步。Nansen有三个等级的付费梯度,(按月付费)分别是$150、$1500和$3000一个月;Watchers对免费用户提供的功能相对比Nansen要多一些,分别是$198和$2000一个月,并另提供定制化付费。 另一方面,DIY数据平台又陷入只能做公共产品的无奈,数据分析师往往是处于被白嫖没有回报的一方,特别是对于独立数据分析师,有能力却没有动力。目前Dune、Flipside和Footprint的商业模式都较为相似,让用户可以免费使用,对有进一步需求的创作者或数…

    2023-07-18
    31.8K
已有 0 条评论