科普 | 共识算法的分类(下)_PRE:REP

——Part4?拜占庭容错算法——

▲PBFT

实用性拜占庭容错算法,是一种在信道可靠的情况下解决拜占庭将军问题的实用方法。拜占庭将军问题最早由LeslieLamport等人在1982年发表的论文提出,论文中证明了在将军总数n大于3f,背叛者为f或者更少时,忠诚的将军可以达成命令上的一致,即3f+1<=n,算法复杂度为O(n^f+1)。随后MiguelCastro和BarbaraLiskov在1999年发表的论文中首次提出PBFT算法,该算法容错数量也满足3f+1<=n,算法复杂度降低到了O(n2)。

下面介绍PBFT算法的核心共识流程,如图4所示。

图4.三阶段共识

民盟中央建议加速元宇宙科普和立法:3月4日消息,民盟中央已起草了《关于“元宇宙”技术发展的提案》,并将提交全国政协十三届五次会议。在提案中,民盟中央建议,在科普层面需加速知识传播,法律层面则需加快立法步伐。民盟中央拟提交的提案指出,目前,在新兴网络层面,相关政策法规相对缺失。“元宇宙”在未来将会带动形成全新的网络形态,当遇到突发舆情,全虚拟的环境、场景将更难进行源头追踪、问题疏导。因此建议应尽早加快立法研究,尽快形成与技术、市场发展相适应的治理模式和法律基础,全面提升我国社会治理的水平。建议组织相关部门,针对“元宇宙”相关需求、风险进行立法研究,并尽快发布。此前消息,民进中央拟向全国政协十三届五次会议提交《关于积极稳妥推进元宇宙技术和产业发展的提案》。建议推进元宇宙技术产业发展,建立相关监管治理体系。(华夏时报)[2022/3/4 13:37:12]

在请求request阶段,客户端发起请求,主节点收到客户端的请求后,将触发核心共识流程。算法的核心共识流程分为三个阶段:pre-prepare阶段,prepare阶段,commit阶段。其中,节点在prepare阶段和commit阶段各进行了一轮投票,分别对消息的合法性与待执行进行了确认。图中,c代表客户端,0、1、2、3代表节点的编号,在视图为0的情况下,节点0是主节点,节点1、2、3为从节点。打叉的3号代表拜占庭节点,这里表现的恶意行为就是对其它节点的请求无响应。

美国说唱歌手Megan Thee Stallion与Cash App合作发布比特币科普视频:美国说唱歌手Megan Thee Stallion与由Square开发的移动支付服务Cash App合作发布了一段名为“Bitcoin for Hotties”的视频。该视频从她的角度解释了什么是比特币,为什么比特币有价值等内容。Megan Thee Stallion在Instagram上拥有超过2410万粉丝,在 Twitter上拥有640万粉丝。(Bitcoin News)[2021/8/8 1:41:10]

pre-prepare阶段:主节点在收到客户端的请求后,会主动向其它节点广播pre-prepare消息,其中,v为当前视图,n为主节点分配的请求序号,D(m)为消息摘要,m为消息本身。从节点在收到pre-prepare消息之后,会对该消息进行合法性验证,若通过验证,那么该节点就会进入pre-prepared状态,表示该请求在从节点处通过合法性验证。否则,从节点会拒绝该请求,并触发视图切换流程。

prepare阶段:当从接到进入到pre-prepared状态后,会向其它节点广播prepare消息,其中,i为当前节点标识序号。其他节点收到消息后,如果该请求已经在当前节点进入pre-prepared状态,并且收到2f条来自不同节点对应的prepare消息(包含自身发出的以及主节点的pre-prepared消息),那么该请求就进入到prepared状态。

火币推出《一分钟读懂DeFi》系列科普视频:据官方消息,8月24日,火币推出《一分钟读懂DeFi》系列科普视频,并与微博财经合作冠名播出,布道DeFi认知,助力行业发展《一分钟读懂DeFi》是由火币成长学院打造的业内首个系统全面讲解DeFi的系列科普动画,继推出《区块链100问》后的再续佳作。《一分钟读懂DeFi》系列动画对DeFi的发展进行系统梳理,适合想要由浅入深、全面系统了解区块链DeFi的人们轻松了解DeFi。目前视频已由火币网官方微博发布。[2020/8/24]

commit阶段:当请求在当前节点进入prepared状态后,本节点会向其它节点广播commit消息。如果该请求已经在当前节点达到prepared状态,并且收到2f+1条来自不同节点对应的commit消息(包含自身),那么该请求就会进入到committed状态,并可以进行执行。执行完毕后,节点会将执行结果反馈给客户端进行后续判断。

——Part5?新型共识算法——

▲HotStuff

HotStuff是一个建立在部分同步模型上的拜占庭容错协议。HotStuff具有线性视图变更的特性,把轮换主节点融入了常规共识流程中,切换主节点无需增加其他协议和代价,且系统在此期间还能继续对外提供服务。该特性解决了PBFT最棘手的视图变更问题,包括实现复杂度高、完成时间不确定以及整个过程系统不能正常对外提供服务等。此外,HotStuff还将共识流程的通信复杂度降低至O(n)。

声音 | 上海股交所总经理:区块链想要大规模发展要做好社会科普工作:金色财经报道,上海股交所总经理张云峰表示,区块链当前还处于一个“概念”的阶段,距离成熟应用,影响到百姓的日常生活还有很长的路要走。对于“区块链”和其会带来的社会和经济效果,沈阳应当持审慎的态度。区块链想要大规模发展,一方面要做好这项复杂技术的社会科普工作,加快社会大众对区块链的了解。另一方面,要充分发挥市场的作用,让企业用实实在在的技术创新,赋能实体经济的发展。[2019/11/17]

HotStuff的基础共识流程围绕一个核心的三轮共识投票展开,在该过程中,视图以单调递增的方式不断切换。在每个视图内,都有一个唯一主节点负责打包区块、收集和转发消息并生成QC。整个过程包括5个阶段,准备阶段、预提交阶段、提交阶段、决定阶段和最终阶段。主节点想要提交某个分支,需要在PREPARE、PRE-COMMIT和COMMIT这三个阶段收集n-f个共识节点的带签名的投票消息,并利用门限签名算法把他们合成一个证书,随后广播给从节点。

声音 | 火星人朋友圈科普RAM:火星人在朋友圈发文称,“什么是RAM?简单来说就是EOS这个国家的土地,所有的经济行为都离不开土地。只要EOS的BP们能投票形成一个稳定的供给预期,并且不改变目前的Bancor算法,那么RAM后续的价格有可能会像北上广深的房价走势。房价下跌不行,房价过快上涨也不行,EOS的生态越来越像某国了,真有意思。”[2018/7/6]

图5.BasicHotStuff共识流程

Basic-HotStuff各个阶段的流程高度相似,HotStuff作者便提出Chained-HotStuff来简化Basic-HotStuff的消息类型,并允许Basic-HotStuff的各阶段进行流水线处理。流程如图6所示:

图6.Chained-HotStuff是Basic-HotStuff的流水线形式,v表示视图view,圆角矩阵表示一个node

▲HoneyBadgerBFT

FLP定理从理论上证明了在纯异步环境下不可能存在一种确定性的共识协议。后世的研究者们为了绕过这个定理,不得不在两个方向上进行妥协:要么加强对网络的假设,要么引入随机源。HoneyBadgerBFT协议,这是一个完全异步的共识协议,它不依赖于任何关于网络环境的时间假设。异步共识协议则完全不需要考虑timer的设置。为了保证协议的活性,异步协议需要引入随机源,简单来说就是当协议无法达成共识的时候,借助上帝抛骰子的方式随机选择一个结果作为最终结果。

HoneyBadgerBFT通过模块化的方式解决了拜占庭环境下的原子广播问题,即如何保证在异步和拜占庭环境下,各个节点按相同顺序收到相同的消息。HoneyBadgerBFT首先将ABC分解成一个核心模块,异步共同子集。之后将ACS分解成了RBC(ReliableBroadcast)和ABA(AsynchronousBinaryAgreement)两个子模块。整体的算法分为三个步骤:

1)每个节点交易随机选择一些交易,所有节点的总交易个数是B。每个节点的交易进行加密生成x。

2)通过ACS协议将每个节点加密的交易进行广播,以及形成统一交易序列。

3)解密交易生成区块。

——Part6?总结——

上述介绍的共识机制有着各自的优缺点,对于不同的区块链系统,我们需要结合实际使用场景与网络规模,采用不同的共识算法。下面我将以表格的形式对目前各平台使用的共识机制进行简要的对比与总结:

作者简介

袁超趣链科技基础平台部共识算法研究小组

参考文献

LamportL,ShostakR,PeaseM.TheByzantinegeneralsproblem//Concurrency:theWorksofLeslieLamport.2019:203-226.

CastroM,LiskovB.PracticalByzantinefaulttolerance//OSDI.1999,99(1999):173-186.

CastroM,LiskovB.PracticalByzantinefaulttoleranceandproactiverecovery.ACMTransactionsonComputerSystems(TOCS),2002,20(4):398-461.

IttaiAbraham,GuyGueta,DahliaMalkhi,LorenzoAlvisi,RamakrishnaKotla,andJean-PhilippeMartin.Re-visitingfastpracticalbyzantinefaulttolerance.CoRR,abs/1712.01367,2017.

MillerA,?XiaY,?CromanK,etal.TheHoneyBadgerofBFTProtocols//AcmSigsacConferenceonComputer&CommunicationsSecurity.ACM,2016:31-42.

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

水星链

[0:15ms0-1:98ms