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

——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号代表拜占庭节点,这里表现的恶意行为就是对其它节点的请求无响应。

欧科云链集团正式启动区块链科普行动“星途计划”:欧科云链集团于4月26日,正式宣布启动了区块链科普行动——“星途计划”,行动包括将在全国范围展开系列沙龙,加大力度推进区块链科普进机关、进国企、进校园等,联合政府部门、行业协会等共同构建起更加完善和有效的区块链科普教育生态,与此同时,直击区块链科普现存痛点,推出简单易懂的“秒懂区块链”公益短视频课。

该计划旨在全维度推动社会建立对产业更清晰的认知,与“鲲鹏计划”一道助力数字经济及区块链产业本身健康发展夯实“人才”和“产业认知”两大基础。[2021/4/26 20:59:37]

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状态。

动态 | 新浪财经:官媒针对区块链的报道从科普宣传转向打假监管:据新浪财经今日消息,“1025新政”满月,一个月间,官媒对区块链的态度风向已转。据11月初的一项统计,七家党媒在新政一周内发布了65篇直接相关报道,当时文章中的关键词是数据、产业、安全、创新等,大量文章偏向于科普区块链的概念以及应用介绍,提醒警惕虚拟货币炒作的仅有3篇。近期,官媒的批评焦点则纷纷指向借区块链之名进行的虚拟货币发行和炒作行为。据统计,新华网、人民网收录转载的,以打击虚拟货币或揭露假借区块链行为主题的文章,自10月25日到11月25日午间,共28篇;其中,11月19日至11月25日的一周内就高达15篇。这些文章主要围绕三个观点展开:厘清区块链和虚拟货币的关系,说明二者概念不等;打击伪“区块链”局,或是虚拟货币局揭露;提醒民众,区块链不能成为炒作的噱头,更不是行的招牌,需警惕此类活动,理性投资。[2019/11/26]

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

动态 | 浙江卫视节目科普支付宝区块链防伪溯源产品:昨日,在浙江卫视播出的科普综艺栏目《智造将来》现场,支付宝首次展示了支付宝区块链防伪溯源产品,以接地气的方式公开向大众展示区块链在生活中的应用。[2019/3/4]

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

▲HotStuff

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

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.

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

银河链

以太坊科普 | 常见代币协议转账都需要多少笔交易操作?

提到以太坊,我们脑海中出现的第一个关键词也许就是“gas费”。如今各大区块链项目主网上线,所用的宣传方向往往也离不开gas这个单词。居高不下的gas费一直是区块链交易,尤其是游走于币圈各个领域的投资者的一个痛点.

[0:31ms0-1:439ms