没有合适的资源?快使用搜索试试~ 我知道了~
⃝可在www.sciencedirect.com上在线获取ScienceDirectICTExpress 6(2020)93www.elsevier.com/locate/icte区块链主要共识协议分析Shijie Zhanga,Jong-Hyouk Leeb,Chang协议工程实验室,大韩民国祥明大学b大韩民国世宗大学接收日期:2019年5月15日;接受日期:2019年在线预订2019年摘要区块链是许多加密货币的核心技术。区块链作为一种分布式账本技术,受到了广泛的研究关注。除了密码学和P2P(点对点)技术之外,共识协议也是区块链技术的基本组成部分。一个好的共识协议可以保证区块链系统的容错性和安全性。目前在大多数区块链系统中使用的共识协议可以大致分为两类:概率终结性共识协议和绝对终结性共识协议。本文介绍了这两类主要的共识协议,并分析了它们的优缺点以及适用的区块链类型。c2020年韩国通信与信息科学研究所(KICS)。出版社:Elsevier B.V.这是一个开放的访问CC BY-NC-ND许可证下的文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。关键词:区块链;共识协议;加密货币1. 介绍区块链首次出现在Nakamoto的比特币白皮书中比特币将区块链技术发挥到了极致,引起了人们的广泛关注。随后,许多基于区块链的加密货币和项目如雨后春笋般涌现。区块链因此成为一个热门话题。有趣的是,区块链采用的技术并不新鲜。区块链简单地结合了密码学,分布式系统技术,点对点网络技术和其他众所周知的技术。此外,区块链还为加密货币提供了一个安全的框架,任何人都不能篡改交易内容,所有节点都匿名参与交易。因此,区块链技术可以广泛应用于各个领域,例如,金融领域、医疗系统、供应链和物联网(IoT)。然而,在应用区块链技术的过程中,会遇到许多挑战和问题,其中如何设计合适的共识协议是一个大问题。区块链的共识是,所有节点∗ 通讯作者。电子邮件地址: jonghyouk@sejong.ac.kr(J.- H. Lee)。同行评审由韩国通信和信息科学研究所(KICS)负责https://doi.org/10.1016/j.icte.2019.08.001保持相同的分布式账本。在传统的软件架构中,由于中心服务器的存在,共识几乎不是问题,因此其他节点只需要与服务器对齐。然而,在区块链等分布式网络中,每个节点既是主机,一个服务器,它需要与其他节点交换信息以达成共识。有时候会有一些节点宕机或者下线,也会有一些恶意节点,严重影响或者破坏共识的进程因此,一个优秀的共识协议可以容忍这些现象的发生,并将危害降到最低,以免影响最终的协商一致结果。此外,系统采用的共识协议还需要适合系统使用的区块链类型。区块链有三种基本类型:公共区块链、联盟区块链和私有区块链[2]。每种类型的区块链都有不同的应用场景。因此,所采用的共识协议需要适合特定应用场景的需求。本文介绍了几种主要的区块链共识协议,并分析了它们的性能和应用场景。2. 主要共识协议在分布式系统中,没有完美的共识协议。共识协议需要做出权衡2405-9595/2020韩国通信和信息科学研究所(KICS)。出版社:Elsevier B.V.这是一个开放的访问CC BY-NC-ND许可证下的文章(http://creativecommons.org/licenses/by-nc-nd/4.0/)。94S. 张和J-H. Lee/ICT Express 6(2020)93Fig. 1. POW的流量图二. PoS的流程在一致性、可用性和分区容错(CAP)之间[3]。此外,共识协议还需要解决拜占庭将军问题,即会有一些恶意节点故意破坏共识过程[4]。在本节中,我们将详细描述一些流行的区块链共识协议,这些协议可以有效地解决拜占庭将军问题。PoW(工作量证明):PoW被比特币,以太坊等采用[1,5]。PoW通过计算能力竞争,在每轮共识中选择一个节点创建一个新的区块。在比赛中,参赛节点需要解决一个密码难题。首先解决难题的节点可以有权创建一个新的区块。流动在PoW中创建区块的过程如图1所示。解决PoW难题非常困难。节点需要不断调整nonce的值以获得正确的答案,这需要大量的计算能力。恶意攻击者推翻链中的一个区块是可行的,但随着链中有效区块的增加,工作量也在积累,因此推翻长链需要大量的计算能力。PoW属于概率终结性共识协议,因为它保证了最终的一致性。PoS(Proof of Stake):在PoS中,选择每一轮创建新区块的节点取决于持有的股权,而不是计算能力。虽然节点仍然需要解决SHA256难题:SH A 256(时间戳,先前的散列。. . )<目标×币。与PoW不同的是,节点不需要多次调整nonce,相反,解决这个难题的关键是赌注(硬币)的数量。因此,PoS是一种节能的共识协议,它利用内部货币激励的方式而不是消耗大量的计算能力来达成共识。PoS的流程如图 二、与PoW一样,PoS也是一种概率终结性共识协议。PPcoin是第一个将PoS应用于区块链的加密货币。在PPcoin中,除了赌注的大小,在解决PoS难题时还引入了硬币年龄[6]。 例如,如果你持有10枚硬币共20天,那么你的硬币年龄是200。一旦一个节点创建了一个新的区块,他的币龄将被清零。除了PPcoin,许多加密货币都采用PoS,例如,Nxt,Ouroboros [7,8].请注意,以太坊计划从PoW过渡到PoS。DPoS(Delegated Proof of Stake):DPoS的原理是让持有权益的节点投票选举块验证者(即,blockcreators)[9].这种投票方式使利益相关者将创建区块的权利交给他们支持的代表,而不是自己创建区块,从而将他们的计算能力消耗降至0。我们可以在图3中清楚地看到DPoS的流程。DPoS就像一个议会系统,如图所示。3、如果代表们无法在他们的回合中生成区块,他们将被解散,利益相关者将选择新的节点来取代他们。DPoS充分利用股东投票,以公平民主的方式达成共识。与PoW和PoS相比,DPoS是一种低成本、高效率的协商协议。也有一些加密货币采用S. 张和J-H. Lee/ICT Express 6(2020)9395见图4。 PBFT的过程图三. DPoS的流程。通过跟踪节点或验证节点在整个网络中进行。然而,Ripple中的共识过程是通过验证节点来执行的,每个节点都拥有一个称为UNL(唯一节点列表)的可信节点列表。UNL中的节点可以对它们支持的事务Rip- ple中的共识过程如图5所示。每个验证节点将其自己的事务集作为建议发送给其他验证节点。一旦接收到UNL中的节点发送的交易提议,验证节点将检查提议中的每个交易。提案中的交易将获得一票,如果有在其本地事务集中的相同事务。当交易获得超过50%的投票时,该交易将进入下一轮。筛选门槛将是DPoS,如BitShares,EOS等[9,10]。新版本EOS已经将DPoS转变为BFT-DPoS(拜占庭容错-DPoS)[10]。PBFT(Practical Byzantine Fault Tolerance):PBFT是一种拜占庭容错协议,在分布式系统中具有低算法复杂性和高实用性[11]。PBFT包含五个阶段:请求、预准备、准备、提交和应答。图4描述了PBFT是如何工作的。主节点将客户端发送的消息转发给其他三个节点。在节点3崩溃的情况下,一条消息要经过五个阶段才能在这些节点之间达成共识。最后,这些节点回复客户端完成一轮共识。PBFT保证节点在每轮共识中保持共同的状态并采取一致的行动。PBFT实现了强一致性的目标,是一个绝对终结的一致性协议。如前所述,EOS采用组合共识协议。EOS利用PBFT在DPoS中同时进行区块验证和创建,大大减少了 一轮共识[10]。 一个名为Stellar的新协议是PBFT的 改 进 。 Stellar 采 用 FBA ( Federated ByzantineAgreement)协议,节点可以选择他们信任的联盟来进行共识过程[12]。Ripple:Ripple是一种开源支付协议[13]。 在Ripple中,交易由客户端发起并广播每一轮投票都将增加,超过80%投票的交易因此,Ripple是一个绝对终结的共识协议。3. 分析与比较在本节中,我们将从容错性、限制、可扩展性和应用场景等方面分析第2分析和比较结果总结见表1。3.1. 容错PoW、PoS和DPoS都是概率终结协议,攻击者需要积累大量的计算能力或代币(stake)来创建一个长的私有链来替换一个有效的链。例如,在比特币中,50%的计算能力足以让攻击者创建一个更长的私有链来成功完成双重攻击。因此,如果攻击者的计算能力超过或等于50%,区块链网络将被破坏。与PoW一样,PoS和DPoS只能允许持有股份少于50%的利益相关者存在。在PBFT中,如果在PBFT中总共有3个f+ 1节点,96S. 张和J-H. Lee/ICT Express 6(2020)93+图五. Ripple的过程表1主要共识协议比较。财产功率POSDPOspBFT纹波类型概率终结性概率终结性概率终结性绝对终结性绝对终结性容错百分之五十百分之五十百分之五十百分之三十三百分之二十功耗大少少可忽略可忽略扩展性好好好坏好应用公共公共公共许可的许可的网络中,正常节点的数量必须超过2f 1,这意味着恶意或崩溃节点的数量必须小于f。因此,PBFT的容错能力为1/3[11]。Ripple的容错率只有20%,即,Ripple可以容忍整个网络中20%的节点的拜占庭问题,而不会影响共识的正确结果[13]。3.2. 限制毫无疑问,PoW是这些共识协议中消耗计算能力最多的,而采用PoW的比特币每秒交易吞吐量(TPS)仅为3-7,这极大地限制了PoW在实际支付中的应用前景。PoS和DPoS有类似的缺点,虽然可以大大降低计算能力的消耗,但只有持有者才能获得区块奖励,这导致DPoS中的硬币流动性大大富人越富。PBFT要求每个节点在每一轮共识中都要与其他节点进行通信交换消息,因此对网络的性能要求极高。此外,参与共识的每个节点的身份都是已知的,因此无法保证匿名性。在Ripple中,一轮共识过程在几秒钟内完成,适合实际支付场景。然而,Ripple由少数组织管理和控制,这并不满足区块链的去中心化性质。3.3. 扩展性PoW、PoS和DPoS都具有良好的可扩展性。虽然他们的TPS不是很高,但有一些方法可以有助于提高可扩展性。例如,比特币采用闪电网络提供链下支付,以提高可扩展性[14]。以太坊提出了分片技术和Plasma,分别是第1层和第2层的缩放解决方案[15]。PBFT的可扩展性是有限的,因为PBFT适合于具有少量节点的高性能网络。与PBFT不同,Ripple可以适用于大规模网络,Ripple的TPS超过1500,因此Ripple具有很强的可扩展性。3.4. 场景如前所述,当前的区块链系统可以分为三种类型。在公共区块链中,每个人都可以参与共识过程,分布式账本对公众可见。PoW,PoS和DPoS可以应用于公共区块链。私有区块链和Consortium区块链属于许可区块链,因为只有被许可的节点才能参与共识过程。在PBFT和Rip- ple中,每个节点的身份都是公开的,因此它们都适用于私有区块链或Consortium区块链。私有区块链和联盟区块链虽然不像公有区块链那样去中心化,但由于共识一致性强、效率高,更适合一些商业和医疗场景。4. 结论共识协议是区块链系统稳定运行的保障。节点通过共识协议就某个价值或交易达成一致。在本文中,我们介绍了一些流行的区块链共识协议,并找到了它们的优点,缺点和应用场景S. 张和J-H. Lee/ICT Express 6(2020)9397通过分析和比较。我们的结论是,设计一个好的共识协议不仅要考虑良好的容错性,而且要考虑如何在适当的应用场景中最好地利用它。竞合利益作者声明,本文中不存在利益冲突。引用[1] S. Nakamoto等人,比特币:一种点对点的电子现金系统。[2] V. Buterin , 关 于 公 共 和 私 有 区 块 链 , https : //blog. 你 好 。org/2015/08/07/on-public-and-private-blockchains/,2015年。[3] S. Gilbert,N. Lynch,Brewer的猜想和一致的,可用的,分区容忍的Web服务的可行性,ACMSIGACT新闻33(2)(2002)51-59。[4] L.兰波特河肖斯塔克,M. Pease,拜占庭将军问题,ACM翻译程序。(TOPLAS)4(3)(1982)382-401.[5] G. Wood等人,Ethereum:一个安全的去中心化通用交易分类账,Ethereum Proj。黄色巴氏杆菌151(2014)1[6] S. King,S.纳达尔,Ppcoin:具有股权证明的点对点加密货币,自出版论文,8月19日。[7] N.社区,白皮书:Nxt,http://nxtwiki.org/wiki/Whitepaper:Nx t.[8] A. Kiayias,A.罗素B.大卫,R.奥列尼科夫,衔尾蛇:一个可证明安全的权益证明区块链协议,在:年度国际密码学会议,施普林格,2017年,pp。357-388.[9] D. Larimer,委托权益证明(dpos),Bitshare白皮书。[10] EOS.IO , EOS.IO 技 术 白 皮 书 v2 , https : //github.Com/EOSIO/Docummntation/blob/master/TechnicalWhitePaper。md,2018年。[11] M.卡斯特罗湾Liskov等人,实用拜占庭容错,在:OSDI,卷。99,1999,pp.173-186。[12] D. Mazieres , The Stellar Consensus Protocol : A Federated ModelforInternet-Level Consensus , Stellar Development Foundation ,Citeseer,2015.[13] D. Schwartz,N. Youngs,A. Britto等人,Ripple协议共识算法,Ripple Labs Inc白皮书5。[14] J. Poon,T. Dryja,比特币闪电网络:可扩展的链下即时支付,2016年。[15] J. Poon,V. Buterin,Plasma:可扩展的自主智能合约,白皮书,1
下载后可阅读完整内容,剩余1页未读,立即下载
cpongm
- 粉丝: 5
- 资源: 2万+
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 十种常见电感线圈电感量计算公式详解
- 军用车辆:CAN总线的集成与优势
- CAN总线在汽车智能换档系统中的作用与实现
- CAN总线数据超载问题及解决策略
- 汽车车身系统CAN总线设计与应用
- SAP企业需求深度剖析:财务会计与供应链的关键流程与改进策略
- CAN总线在发动机电控系统中的通信设计实践
- Spring与iBATIS整合:快速开发与比较分析
- CAN总线驱动的整车管理系统硬件设计详解
- CAN总线通讯智能节点设计与实现
- DSP实现电动汽车CAN总线通讯技术
- CAN协议网关设计:自动位速率检测与互连
- Xcode免证书调试iPad程序开发指南
- 分布式数据库查询优化算法探讨
- Win7安装VC++6.0完全指南:解决兼容性与Office冲突
- MFC实现学生信息管理系统:登录与数据库操作
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功