当前位置:主页 > 管理论文 > 信息管理论文 >

一种面向区块链的优化PBFT共识算法

发布时间:2021-02-21 03:59
  区块链技术具有去中心化,数据不可篡改和数据透明等特点,使得该技术的应用领域不断扩展,但目前应用于区块链系统的共识算法存在着资源浪费和共识效率较低等问题,限制了区块链技术的发展.针对此问题,基于实用拜占庭容错算法(Practical Byzantine Fault Tolerance,PBFT),算法的基本思想,提出了一种优化的共识算法.该算法引入积分机制,根据节点积分挑选参与共识的节点,以降低网络中的通信开销;在不存在拜占庭节点的情况下,优化PBFT算法的一致性协议;引入升降级机制,动态更新参与共识的节点集合,以保证算法在大部分时间内都执行优化一致性协议.实验结果表明:与PBFT算法相比,本文提出的共识算法将共识过程的时间复杂度从O(N2)下降到O(N),有效降低了网络中的通信开销,平均时延从55ms降到37ms,平均吞吐量从342TPS提升到677TPS. 

【文章来源】:北京交通大学学报. 2019,43(05)北大核心

【文章页数】:7 页

【部分图文】:

一种面向区块链的优化PBFT共识算法


图1PBFT算法一致性协议执行过程

一致性协议,执行过程


概率都为诚实节点,SPBFT算法将继续执行优化一致性协议完成接下来的共识操作.2.2优化一致性协议设计PBFT共识算法的一致性协议在运行过程中需要完成两次复杂度为O(N2)的节点通信,这样设计是为了在网络中存在拜占庭节点的情况下,算法仍能够完成共识.SPBFT算法在不存在拜占庭节点的情况下,对一致性协议进行优化,使其在完成复杂度为O(N)的节点通信后,算法就能够完成共识.本文参考文献[12]中提出的一种简化一致性协议,并结合本文的改进思路,设计了如图2所示的优化一致性协议.图2优化一致性协议执行过程Fig.2Executionprocessoftheoptimizedconsistencyprotocol协议的具体执行过程如下:1)优化一致性协议发送请求阶段(Srequest):同PBFT算法的请求阶段一样,客服端向主节点发送请求消息,消息格式为<SREQUEST,o,t,c>,其中o为请求执行状态机,t为时间戳,c表示客户端编号.2)优化一致性协议预准备阶段(Spre-prepare):主节点接收客户端发送的请求后会生成预准备消息,并将预准备消息广播到所有共识节点,消息格式如下<<SPRE-PREPARE,v,n,d,g>,w,m>.其中w为节点积分信息,此信息用于对节点进行升降级处理,g为w进行Hash计算的结果.3)优化一致性协议反馈阶段(Sback):共识节点接收到主节点发送的预准备消息后,首先会判断预准备消息中的g值和本地的g值是否相同,如果不同,则更新本地的积分信息s;之后会生成

流程图,算法流程,一致性协议


确认消息并广播到网络中的所有节点,消息格式为<SCOMMIT,v,n,d,a>,其中a为确定添加信息,表示主节点已经确认添加.所有的节点接收到确认消息后,将次交易信息添加都本地内存中.2.3算法的实现SPBFT算法是在PBFT算法上进行改进,其也是通过网络中节点之间的互相通信来完成共识操作,其通信过程根据一致性协议来执行.本算法对PBFT算法的一致性协议进行改进,设计了一种优化一致性协议,以减少共识过程中节点间的通信量.SPBFT算法的流程图如图3所示.图3SPBFT算法流程Fig.3FlowchartoftheSPBFTalgorithmSPBFT算法的具体执行过程:1)进行节点的初始化工作.首先,用{0,1,2,…,|S|-1}共N个整数对网络中的节点进行编号,将节点的积分初始化为100分,设置f=(N-1)/3;其次,初始化共识节点集合CS和候选节点集合DS,CS={0,1,2,…,(N-f-1)},DS={(N-f),16第5期方维维等:一种面向区块链的优化PBFT共识算法

【参考文献】:
期刊论文
[1]一种基于信用的改进PBFT高效共识机制[J]. 徐治理,封化民,刘飚.  计算机应用研究. 2019(09)
[2]区块链技术:架构及进展[J]. 邵奇峰,金澈清,张召,钱卫宁,周傲英.  计算机学报. 2018(05)
[3]区块链技术发展现状与展望[J]. 袁勇,王飞跃.  自动化学报. 2016(04)



本文编号:3043810

资料下载
论文发表

本文链接:https://www.wllwen.com/guanlilunwen/sjfx/3043810.html


Copyright(c)文论论文网All Rights Reserved | 网站地图 |

版权申明:资料由用户c6c5f***提供,本站仅收录摘要或目录,作者需要删除请E-mail邮箱bigeng88@qq.com