宇宙链 宇宙链
Ctrl+D收藏宇宙链
首页 > 以太坊 > 正文

一文读懂拜占庭将军问题

作者:

时间:1900/1/1 0:00:00

作者|?YuLiebing

责编|Carol

出品|区块链大本营

拜占庭将军问题(TheByzantineGeneralsProblem)提供了对分布式共识问题的一种情景化描述,由LeslieLamport等人在1982年首次发表。论文《TheByzantineGeneralsProblem》同时提供了两种解决拜占庭将军问题的算法:

口信消息型解决方案(Asolutionwithoralmessage);

签名消息型解决方案(Asolutionwithsignedmessage).

论文:

https://www-inst.eecs.berkeley.edu/~cs162/sp16/static/readings/Original_Byzantine.pdf

本文之后将详细讲述这两种算法。事实上,拜占庭将军问题是分布式系统领域最复杂的容错模型,?它描述了如何在存在恶意行为(如消息篡改或伪造)的情况下使分布式系统达成一致。是我们理解分布式一致性协议和算法的重要基础。

Compound在以太坊上的未偿债务逾10亿美元,创一年来新高:金色财经报道,Compound在以太坊上的未偿债务总额超过10亿美元,为一年来的最高水平,其中USDC的占比排名第一,约6.3亿美元。[2023/7/18 11:01:02]

拜占庭将军问题描述

拜占庭将军问题描述了这样一个场景:

图1.拜占庭将军问题

拜占庭帝国(ByzantineEmpire)军队的几个师驻扎在敌城外,每个师都由各自的将军指挥。将军们只能通过信使相互沟通。在观察敌情之后,他们必须制定一个共同的行动计划,如进攻(Attack)或者撤退(Retreat),且只有当半数以上的将军共同发起进攻时才能取得胜利。然而,其中一些将军可能是叛徒,试图阻止忠诚的将军达成一致的行动计划。?更糟糕的是,负责消息传递的信使也可能是叛徒,他们可能篡改或伪造消息,也可能使得消息丢失。

为了更加深入的理解拜占庭将军问题,我们以三将军问题为例进行说明。当三个将军都忠诚时,可以通过投票确定一致的行动方案,图2展示了一种场景,?即GeneralA,B通过观察敌军军情并结合自身情况判断可以发起攻击,而GeneralC通过观察敌军军情并结合自身情况判断应当撤退。?最终三个将军经过投票表决得到结果为进攻:撤退=2:1,?所以将一同发起进攻取得胜利。对于三个将军,每个将军都能执行两种决策(进攻或撤退)的情况下,共存在6中不同的场景,图2是其中一种,对于其他5中场景可简单地推得,通过投票三个将军都将达成一致的行动计划。

SBF担心美国检方迟迟不交出证据而影响其律师对刑事审判的辩护准备工作:6月7日消息,前FTX首席执行官Sam Bankman-Fried(SBF)的律师于6月5日向美国地区法官Lewis A. Kaplan发送一份信函,称检察官没有交出原定于3月底发现的5个电子设备的所有内容,由于离审判日期还有不到四个月,辩方担心,迟提出如此大量且重要的发现将影响辩方的准备工作。据悉,这些设备包括Alameda Research前首席执行官Caroline Ellison的一台笔记本电脑和iPhone,以及FTX联合创始人Gary Wang的一台笔记本电脑。律师还写道:“这些迟到的文件对辩方正确准备审判的能力产生了影响,到目前为止,这五台设备中的文件都很庞大,总共有360多万份,共计1000多万页。”

此外,知情人士表示,受聘于FTX的投资银行Perella Weinberg一直在向潜在投资者出售价值数亿美元的人工智能公司Anthropic的股票。根据FTX在2022年11月破产时的资产负债表,该公司持有价值5亿美元的Anthropic股票。[2023/6/7 21:21:24]

印度财长:印度担任G20主席国旨在制定应对加密货币风险的共同框架:4月11日消息,印度财政部长Nirmala Sitharaman 表示,印度担任G20主席国的目的是为所有国家制定一个共同框架,以应对近期加密市场出现的冲击后与加密货币相关的风险。鉴于加密货币出现了如此多的崩溃和冲击,加密货币是G20印度主席国期间讨论的一个非常重要的部分。我们寻求为所有国家制定一个共同框架来处理这个问题。

印度的G20主席国任期将于2023年11月30日结束,G20国家将有大约7个月的时间来制定可在不同司法管辖区实施的全面加密改革。[2023/4/11 13:56:46]

图2.三个将军均为忠诚的场景

当三个将军中存在一个叛徒时,将可能扰乱正常的作战计划。图3展示了GeneralC为叛徒的一种场景,他给GeneralA和GeneralB发送了不同的消息,在这种场景下GeneralA通过投票得到进攻:撤退=1:2,最终将作出撤退的行动计划;GeneralB通过投票得到进攻:撤退=2:1,最终将作出进攻的行动计划。结果只有GeneralB发起了进攻并战败。

智度股份:元宇宙业务有实质性营收:3月5日消息,智度股份在互动平台表示,元宇宙业务有实质性的营收。随着公司对元宇宙业务的探索,“Meta彼岸”元宇宙艺术社区不仅可以实现举办艺术展的功能,还面向用户提供丰富的元宇宙场景和社交互动服务、为企业提供场景搭建服务并为企业进行品牌营销、为各地政府搭建场馆展现各地文化的同时实现政务服务功能。[2023/3/5 12:43:36]

图3.二忠一叛的场景

事实上,对于三个将军中存在一个叛徒的场景,想要总能达到一致的行动方案是不可能的。详细的证明可参看LeslieLamport的论文。此外,论文中给出了一个更加普适的结论:如果存在m个叛将,那么至少需要3m+1个将军,才能最终达到一致的行动方案。

解决方案

LeslieLamport在论文中给出了两种拜占庭将军问题的解决方案,即口信消息型解决方案(Asolutionwithoralmessage)和签名消息型解决方案(Asolutionwithsignedmessage)。

1、口信消息型解决方案

首先,对于口信消息(Oralmessage)的定义如下:

A1.任何已经发送的消息都将被正确传达;

A2.消息的接收者知道是谁发送了消息;

A3.消息的缺席可以被检测。

Celsius债权人面临美国破产披露程序的影响:金色财经报道,Celsius本周提交了大量包含用户姓名和某些交易信息的文件,引发了一些债权人的担忧,尽管披露这些信息是第 11 章破产程序的预期部分,有些人担心他们可能容易受到网络威胁。Celsius和债权人委员会最近几周都试图掩盖这一信息,在法官面前多次提出论据。法官最终将允许修改客户地址,但不允许修改他们的姓名。[2022/10/9 12:49:58]

基于口信消息的定义,我们可以知,?口信消息不能被篡改但是可以被伪造。基于对图3场景的推导,我们知道存在一个叛将时,必须再增加3个忠将才能达到最终的行动一致。为加深理解,我们将利用3个忠将1个叛将的场景对口信消息型解决方案进行推导。在口信消息型解决方案中,首先发送消息的将军称为指挥官,其余将军称为副官。对于3忠1叛的场景需要进行两轮作战信息协商,如果没有收到作战信息那么默认撤退。图4是指挥官为忠将的场景,在第一轮作战信息协商中,指挥官向3位副官发送了进攻的消息;在第二轮中,三位副官再次进行作战信息协商,由于GeneralA、B为忠将,因此他们根据指挥官的消息向另外两位副官发送了进攻的消息,而GeneralC为叛将,为了扰乱作战计划,他向另外两位副官发送了撤退的消息。最终CommandingGeneral,GeneralA和B达成了一致的进攻计划,可以取得胜利。

图4.指挥官为忠将的场景

图5是指挥官为叛将的场景,在第一轮作战信息协商中,指挥官向GeneralA、B发送了撤退的消息,但是为了扰乱GeneralC的决定向其发送了进攻的消息。在第二轮中,由于所有副官均为忠将,因此都将来自指挥官的消息正确地发送给其余两位副官。最终所有忠将都能达成一致撤退的计划。

图5.指挥官为叛将的场景

如上所述,对于口信消息型拜占庭将军问题,如果叛将人数为m,将军人数不少于3m+1,那么最终能达成一致的行动计划。值的注意的是,在这个算法中,叛将人数m是已知的,且叛将人数m决定了递归的次数,即叛将数m决定了进行作战信息协商的轮数,如果存在m个叛将,则需要进行m+1轮作战信息协商。这也是上述存在1个叛将时需要进行两轮作战信息协商的原因。

2、签名消息型解决方案

同样,对签名消息的定义是在口信消息定义的基础上增加了如下两条:

A4.忠诚将军的签名无法伪造,而且对他签名消息的内容进行任何更改都会被发现;

A5.任何人都能验证将军签名的真伪。

基于签名消息的定义,我们可以知道,签名消息无法被伪造或者篡改。为了深入理解签名消息型解决方案,我们同样以3三将军问题为例进行推导。?图6是忠将率先发起作战协商的场景,GeneralA率先向GeneralB、C发送了进攻消息,一旦叛将GeneralC篡改了来自GeneralA的消息,那么GeneralB将将发现作战信息被GeneralC篡改,GeneralB将执行GeneralA发送的消息。

图6.忠将率先发起作战协商

图7是叛将率先发起作战协商的场景,叛将GeneralC率先发送了误导的作战信息,那么GeneralA、B将发现GeneralC发送的作战信息不一致,因此判定其为叛将。可对其进行处理后再进行作战信息协商。

图7.叛将率先发起作战协商

签名消息型解决方案可以处理任何数量叛将的场景。

总结

在分布式系统领域,拜占庭将军问题中的角色与计算机世界的对应关系如下:

将军,对应计算机节点;

忠诚的将军,对应运行良好的计算机节点;

叛变的将军,被非法控制的计算机节点;

信使被杀,通信故障使得消息丢失;

信使被间谍替换,通信被攻击,攻击者篡改或伪造信息。

如上文所述,拜占庭将军问题提供了对分布式共识问题的一种情景化描述,是分布式系统领域最复杂的模型。此外,它也为我们理解和分类现有的众多分布式一致性协议和算法提供了框架。现有的分布式一致性协议和算法主要可分为两类:

一类是故障容错算法(CrashFaultTolerance,CFT),?即非拜占庭容错算法,解决的是分布式系统中存在故障,但不存在恶意攻击的场景下的共识问题。也就是说,在该场景下可能存在消息丢失,消息重复,但不存在消息被篡改或伪造的场景。一般用于局域网场景下的分布式系统,如分布式数据库。属于此类的常见算法有Paxos算法、Raft算法,、ZAB协议等。

一类是拜占庭容错算法,可以解决分布式系统中既存在故障,又存在恶意攻击场景下的共识问题。一般用于互联网场景下的分布式系统,如在数字货币的区块链技术中。属于此类的常见算法有PBFT算法、PoW算法。

看完本文,你对这两种解决方案有什么看法?欢迎在评论区跟我们讨论!

标签:RALERANERAGENNeural AISoverainMineral ChainGenesisDefi

以太坊热门资讯
荷兰国际集团(ING)经济学家:如果美元不走向数字化,或将失宠

来源:CointelegraphChina编者注:原标题为《ING经济学家表示,如果美元不走向数字化,它可能会失宠》 荷兰国际银行:预计美联储将在9月和11月各加息50个基点:7月30日消息.

1900/1/1 0:00:00
对Eth2.0的五个最大误解:ETH2.0将永远不会推出?此次分叉会产生两种ETH代币?

编者注:原标题为《对Eth2.0的五个最大误解》前言:对于不少人来说,ETH2.0是雾里看花,似懂非懂。同时,对ETH2.0也存在很多误解。要真正理解ETH2.0还需要更多的信息和更长的时间,不过这很正常,因为它是新生事物.

1900/1/1 0:00:00
福州利用二维码解决摸排人员疫情防控,数据库通过区块链技术增强信息真实性

来源:中新网 编者注:原标题为《福州利用二维码解决摸排人员疫情防控》。本文作了不改变作者原意的删减.

1900/1/1 0:00:00
美联储紧急降息引市场剧震 比特币更加值得期待

北京时间昨日(3月3日)晚23:00,美联储突然宣布下调基准利率50基点,将超额准备金率下调50个基点至1.1%。美国联邦公开市场委员会一致同意降息决定。这是自1998年以来美联储进行的第9次非常规会议降息.

1900/1/1 0:00:00
分析:比特币冲上2万,至少还需50亿美金

比特币减半在即,比特币价格预测成放卫星比赛,目标价格从10万美金到100万美金都有。我们分析认为,比特币在过去10年风生水起,和大量资金和用户快速涌入有关。所以,比特币价格如果再创新高,需要更多资金和用户入场.

1900/1/1 0:00:00
报告:中非国家的区块链投入增速将达400%,复合年增长率可达50%

随着全球区块链采用的加速,预计未来几年中东和非洲国家将大幅增加其技术支出。 来源:Pixabay 根据美国市场研究公司国际数据公司的最新报告,整个MEA地区的政府将在四年内看到对基于区块链的解决方案的投资增长400%.

1900/1/1 0:00:00