RAL:分布式一致性—拜占庭将军问题

提起区块链,大家似乎感觉这项技术很神秘。今天从技术的角度剖析一下区块链的分布式一致性问题,很多研究人员称此问题为分布式领域的幽灵,也就是大家常常听到的拜占庭将军问题。

拜占庭将军问题是LeslieLamport提出的针对分布式对等网络中的通信容错问题。

LeslieLamport在其论文TheByzantineGeneralsProblem中以一个示例形象的描述了此问题:一组拜占庭将军分别各率领一支军队共同围困一座城市。为了简化问题,各支军队的行动策略仅限定为进攻或撤离两种。因为部分军队进攻、部分军队撤离可能会造成灾难性后果,因此各位将军必须通过投票来达成一致策略,即所有军队一起进攻或所有军队一起撤离。因为各位将军分别处于城市不同方向,他们只能通过信使互相联系。在投票过程中每位将军都将自己投票给进攻还是撤退的信息通过信使分别通知其他所有将军,从而,每位将军根据自己的投票和其他所有将军送来的信息就可以知道共同的投票结果而决定行动策略。

星际联盟商学院讲师Michael:分布式存储协议拥有四大优势:4月25日,由星际联盟主办的2021分布式存储生态峰会在上海举办,星际联盟商学院讲师Michael以“分布式存储行业的发展趋势”为主题,发表了精彩的主题演讲。

他讲述了中心化网络存在的四大痛点:存储数据易丢失、安全性差、存储费用高昂、传输速度慢,而分布式存储协议拥有四大优势:上传下载快;大幅降低存储成本;人类数据永存;数据安全,防黑客及DDoS攻击。分布式存储协议可以让互联网速度更快, 更安全, 并且更开放,是未来互联网的大势所趋。

他为大家演示了分布式云存储协议的原理以及分布式存储生态应用,并为大家讲解了分布式存储协议与“激励通证”及“结算通证”的关系。此外他还讲解了星际文件系统的收益来源和数字通证分配情况。

“让人类数据永存!”星际联盟将秉承这一愿景,让存储更高效、更经济、更安全,为社会创造新的价值。[2021/4/25 20:56:14]

用通信术语描述拜占庭将军问题:可靠的计算机系统必须处理有故障的组件,这些组件的引入可能与系统其它部分信息冲突。根本不发送任何消息,向不同的邻居发送不同且错误的消息,以及谎报自己的输入值。一个可靠的计算机系统必须能够处理一个或多个组件的失败。失败的组件出现被忽略的行为,向系统的其他部分发送不一致的信息。

分布式计算网络Stacks推出400万美元开发扶持计划,用以激励比特币上应用开发团队:4月14日,分布式计算网络Stacks宣布推出400万美元的加速器计划(StackAccelerator),为在比特币上开发应用的技术团队提供资金。

StackAccelerator管理合伙人TrevorOwens表示该项目为期三个月,每轮将向10至20家初创企业投资5万美元。每个团队都有少量的股权分成,其中80%的利润将返还给StackAccelerator,以资助未来的团队。[2021/4/14 20:18:18]

在分布式计算中,不同的计算交换通讯信息从而达成共识并按照同一套协作策略行动。但有时,系统中的成员计算机可能因出错而发送错误的信息,用于传递信息的通讯网络也可能导致信息损坏,使得网络中不同的成员关于全体协作的策略得出不同结论,从而破坏系统一致性。

BK Capital宣布战略投资分布式气象预测协议ZWS:今日,BK Capital(币客资本)宣布战略投资分布式气象预测协议ZWS,并在全球交易所、海外社区等方面全面助力ZWS。

宙斯气象系统(ZWS)是利用区块链技术,进行全球分布式气象环境数据收集的社会化观测解决方案。该系统鼓励社会团体、企业和用户使用符合监管部门技术标准的设备进行气象数据收集,加入节点挖矿,从而获得经济激励。

BK Capital隶属必客集团,是集团旗下唯一一支涵盖投资、孵化的数字货币基金,业务包括区块链行业的一级市场的币权投资和股权投资、二级市场的数字资产资管服务。[2020/10/12]

拜占庭将军问题是存在前提假设条件的,在消息丢失的不可靠信道上试图通过消息传递的方式达到一致性是不可能的,因此对一致性的研究一般假设是建立在信道是可靠的这个前提下。拜占庭将军问题的核心是允许存在少数节点作恶的情况下如何达成共识的问题。

赵波:正在筹备全国区块链和分布式记账技术的标准化委员会:今日全球区块链(杭州)高峰论坛上,中国电子技术标准化研究院院长赵波表示:”在未来的工作中将进一步加强与产业界的合作,目前研究院也正在筹备全国区块链和分布式记账技术的标准化委员会,协同开展国际国内标准化工作,加强区块链理论、技术和应用实践的研究,准确把握发展趋势,及时提出符合我国实际的区块链技术和产业发展路线图,加快推动开源社区的建设和应用推广,希望组织开展的标准研制、人才培训、测试验证、Dapp开源社区建设等方面的工作能够更好的服务于区块链技术和产业发展。”[2018/3/26]

拜占庭将军问题实际上是如何让一个分布式系统的保持一致性和在特定条件下保持正确性的问题。可抽象为满足以下2个条件的算法:

条件IC1.所有忠诚的将军得出相同的作战指令,并且按指令执行,保持指令的一致性。

条件IC2.如果作战指令是忠诚的将军发出的,所有忠诚的将军会遵循该将军发出的作战指令,特定条件下的正确性。

LeslieLamport论文里TheByzantineGeneralsProblem提到了OralMessages和Signedmessages两个解决方案,其算法如下:

1、OM(m)口头协议算法

结论:如果有m个叛军,必须至少有3m+1位将军才能保证口头协议算法能解“拜占庭将军问题”。

前提假设:

A1.每个被发送的消息都能够被正确的投递

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

A3.能够知道缺少的消息(如果叛军不配合发送消息,算法默认一个值“撤退”的来替代)

证明过程:

https://www.microsoft.com/en-us/research/uploads/prod/2016/12/The-Byzantine-Generals.pdf

2、SM签名协议算法

结论:在不管有多少叛军的情况下,都能让忠诚的将军们保持一致的行动

前提假设:

A1.每个被发送的消息都能够被正确的投递

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

A3.能够知道缺少的消息(如果叛军不配合发送消息,算法默认一个值“撤退”的来替代)

A4.1签名不可被伪造,一旦被篡改即可发现

A4.2任何人都可以验证将军签名的可靠性

证明过程:

https://www.microsoft.com/en-us/research/uploads/prod/2016/12/The-Byzantine-Generals.pdf

读者如果想对分布式算法深入解析,如Paxos、Pow、BFT,推荐区块链核心算法一书,文中有部分值得深入研读的参考文献。

参考文献:

TheByzantineGeneralsProblem.LESLIELAMPORT,ROBERTSHOSTAK,andMARSHALLPEASESRIInternational

区块链核心算法解析.RogerWattenhofer

参考链接

TheByzantineGeneralsProblem

同步链接:

https://www.microsoft.com/en-us/research/uploads/prod/2016/12/The-Byzantine-Generals.pdf

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

金星链

[0:0ms0-1:170ms