PoS共识算法在多方分布式账本上的应用研究.docxVIP

PoS共识算法在多方分布式账本上的应用研究.docx

  1. 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
  2. 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载
  3. 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
  4. 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
  5. 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们
  6. 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
  7. 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
? ? PoS共识算法在多方分布式账本上的应用研究 ? ? 罗才华 (罗定职业技术学院信息工程系,罗定 527200) 0 引言 在分布式系统中,分布式数据库的共识管理是非常重要的核心技术,也是保证分布式数据库可以像传统数据库一样使用,而不需要应用去管理分布式系统中各个节点。随着分布式技术的发展,分布式数据库的共识管理方案不断在进化,而以往的分布式数据库并不考虑拜占庭容错问题,只考虑节点所在主机的网络故障、宕机等非人为问题。随着互联网发展,大数据时代的来临,企业间合作模式也越来越复杂化,甚至出现多方共同维护一个账本的场景,这时候就必须要考虑可能存在恶意节点的问题,建立网络中记账节点的选择机制,保证账本数据在全网中形成一致和正确的共识。在传统的软件结构中,因为中心服务器(主库)的存在,这从来就不是个问题,其他的从库向主库看齐就可以,但是多方分布式账本系统是一个对等网络结构,此结构中没有所谓的中心节点,一切都要商量着来[1]。 1 拜占庭将军问题 在分布式计算中,各计算机通过交换信息达成共识,并按照同一协作策略行动,但有时系统的成员计算机可能会因为硬件故障、遭到恶意攻击或网络异常而发送错误信息或损坏信息,使网络中各成员得出不同结论,从而破坏系统的一致性。拜占庭将军问题(Byzantine Generals Problem)是Leslie Lamport(莱斯利·兰伯特)在1982年提出的分布式对等网络通信容错问题[2],是对分布式共识问题的情景化描述,描述在可能存在故障节点或恶意行为条件下,分布式系统如何达成一致的共识,Leslie Lamport同时提出了该问题基于口信消息和签名消息的两种解决方案。拜占庭将军问题被认为是分布式系统容错性问题中最难和最复杂容错模型之一,是分布式共识的基础,具有正确性和一致性两个交互一致性条件。 2 分布式数据库共识机制 2.1 Paxos算法 Paxos算法是由拜占庭将军问题提出者Leslie Lamport于 1989 年在论文“The part-time parliament”中提出的一种基于消息传递且具有高度容错特性的分布式系统一致性算法[3-4],由于该论文内容过于晦涩,直到1998年才通过评审和发表。谷歌分布式锁服务Chub-by就是基于Paxos算法的应用,Paxos算法后续衍生出Abstract Paxos、Classicpaxos、Byzantine Paxos 和 Disk Paxos等变种算法,是解决异步系统共识问题最重要的算法家族[5]。基础Paxos算法定义了以下几种角色,Paxos算法模型如图1所示。 图1 Paxos算法模型图 (1)Client:客户端,向分布式系统发起提议并等待结果。 (2)Proposer:协调者,负责接收客户端发起的提议,然后尝试让接受者接受该提议,并且保证即使提议产生冲突,算法也能进行下去。 (3)Acceptor:接受者,负责对提议进行投票,同时会记录自己的投票历史。 (4)Learner:学习者,如果超过半数接受者达成共识,那么学习者就会接受该提议,并做出运算结果,返回给客户端。 2.2 Raft算法 Raft算法是斯坦福大学的Diego Ongaro和John Ousterhout提出的一种分布式一致性算法,其本质是Multi-Paxos的一个变种,Raft为了避免Paxos的复杂性通过简化模型,实现了一种更容易让人理解的共识算法,它依靠状态机和主从同步的方式,让集群各个节点之间实现数据的一致性,如图2所示。Raft主要分为选取主节点和同步数据两个阶段,首先通过多个节点之间的投票竞争来选取主节点(leader),然后在选举出来的leader基础上进行正常操作,例如日志复制、记账等,Raft算法中的节点共有leader(主节点)、follower(从节点)和candidate(参与投票竞争的节点)三种角色,Raft将共识问题分为“leader选举、记账和安全”三个相对独立的子问题[6]。 2.3 PoS共识算法 由于PoW(Proof of Work,工作量证明)算法存在算力浪费和生成新区块周期较长等问题[7],Sunny King提出了PoS(Proof of Stake,权益证明)共识算法。该算法用股权(持有数字货币的数量与时间)证明能力,币龄(持币量*持币时间)越大,记账权利越大,分配到的利息就越多,类似于财产储存在银行,该算法的前提是要求各验证者(活跃参与者)需要拥有一定的资产以供质押。PoS共识机制原理是节点把自身的货币投入PoS机制中,身份变为验证者,PoS机制在所有验证者中随机选出一个节点产生区块,投入的货币越多被选中的概率越大,通过竞争产生的记账节点将区块广播,达成一致共识后上链,并且节点数据越多网络越稳定。PoS算

文档评论(0)

科技之佳文库 + 关注
官方认证
文档贡献者

科技赋能未来,创新改变生活!

版权声明书
用户编号:8131073104000017
认证主体重庆有云时代科技有限公司
IP属地浙江
统一社会信用代码/组织机构代码
9150010832176858X3

1亿VIP精品文档

相关文档