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

拜占庭是历史上一个赫赫有名的帝国,也就是东罗马帝国,它的首是君士坦丁堡。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

相关推荐

  • 欧盟MiCA监管框架详解:资产分类、发行、交易、托管、DeFi、投资者保护

    2025 年 3 月 17 日,OKX 发布公告称,为了配合监管机构,将暂停 Web3 钱包的 DEX 聚合器服务。此前彭博报道,攻击 Bybit 的黑客利用 OKX Web3 钱包提供的 DEX 服务进行了 15 亿美元赃款的洗钱操作,引发监管部门的注意。而 OKX 于今年 2 月正式获得了欧盟 MiCA 牌照,因此可能面临欧盟罚则。 该事件再次引发业内对欧盟加密监管的关注。Starlabs Consulting 本期的《环球政策》将对欧盟《加密资产市场监管法案》(MiCA)框架进行系统梳理。 欧盟加密货币监管历史沿革 提到欧盟监管,大家首先想到的是 MiCA。但在介绍 MiCA 前,先简单回顾一下欧盟监管的历史沿革。 1. 第五、第六项反洗钱指令 欧盟对加密货币的监管最早可追溯至 2020 年 1 月生效的第五项反洗钱指令(5AMLD)。该指令要求加密货币服务提供商(CASP,包括交易所、钱包和托管服务提供商)遵守 AML(反洗钱)和 CTF(反恐融资)法规,执行 KYC(了解你的客户)措施,并确保其活动透明、可追溯。通过 5AMLD,欧盟将加密货币服务置于与传统银行和金融服务相同的监管地位。 2021 年 7 月,欧盟颁布第六项反洗钱指令(6AMLD),进一步强化监管,包括: 2. MiCA 出台 5AMLD 属于欧盟次级法律中的「指令」类型,不具有直接适用性,而且导致各国加密货币注册和许可制度不统一,使得企业在欧盟范围内经营加密货币业务变得十分困难,需要应对各国不同的监管。 为构建统一的加密资产市场监管格局,欧洲议会于 2024 年 4 月 20 日正式通过 MiCA,2024 年 6 月生效,并为不同成员国设置了 12 至 18 个月的过渡期,给企业必要的时间来遵守新规。 MiCA 是迄今为止最全面的数字资产监管框架,影响范围覆盖 27 个欧盟成员国以及欧洲经济区…

    2025-03-25
    5.3K
  • Twitter创始人Jack Dorsey谈AI代理、Nostr协议及未来支付|Disruptors Unplugged

    每天花 3 小时学习量子物理、意大利语和编程,冥想一小时,只吃一顿饭,这位用痛苦和孤独保持健康和精力充沛的长须修行者,不是什么避世高人,而是身价数十亿的硅谷传奇:Twitter 联合创始人、Block 联合创始人兼 CEO Jack Dorsey。 Jack Dorsey 图片来源:Daily Sabah 最近,Jack Dorsey 坐客 Nicolai Tangen 的播客,讲述了 Twitter 的诞生,去中心化社交平台 Blue sky、开放社交协议 Nostr、美国版支付宝 Block 的野心,以及他对生成式 AI、AI 代理的观察和预测。本期的 Disruptors Unplugged 将为你带来这位硅谷大佬横跨技术、金融与个人修行的思考和启迪。 主持人 Nicolai Tangen 是挪威知名金融业者,担任挪威主权财富基金(SWF)旗下管理机构 Norges Bank Investment Management 的 CEO,SWF 也是全球最大的主权财富基金之一。 Highlights Nicolai Tangen:大家好,我是 Nicolai Tangen,今天,我很荣幸邀请到世界上最具有远见的企业家之一 Jack Dorsey。Jack,你真的给世人留下深刻印象,欢迎你! Jack Dorsey:非常感谢! 用户用 @ 和 # 重新发明了 Twitter Nicolai Tangen:我们从 Twitter (现 X) 的诞生聊起,这个创意最初从何而来? Jack Dorsey:这个想法酝酿了很长时间。我从小就对「城市是如何运转的」这个问题非常着迷。我对地图非常着迷,经常盯着它,试图了解某个社区或区域正在发生什么。 后来,我在纽约一家大公司工作,拥有非常丰富的纽约市地图信息。但它缺少了一样东西——人们正在做什么、他们在哪里。这就是 Twitter…

    2025-03-01
    3.7K
  • 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
    1.1K
  • 币安和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.3K
已有 0 条评论