区块链共识机制的研究与改进
发布时间:2021-06-11 19:51
区块链以比特币底层技术的身份出现,经过近年来的发展已经被各个领域进行了深入的研究。作为一个典型的去中心化的分布式数据存储系统,区块链系统中所有参与者之间达成的共识需要共识机制来实现。为使得区块链能够适用于不同的应用场景,不同的共识机制被提出,随着区块链应用的进一步发展,共识机制的相关研究也越来越多。但是,现有的一些共识机制仍在各种方面存在着一些问题。在本文的工作当中,首先分析总结了区块链技术中经典的分布式共识机制,重点研究分析了PBFT共识机制及其相关的改进方案及PBFT现存的问题。以此为基础,提出了两种不同的改进方案。首先,针对PBFT缺乏动态性的问题,提出了基于投票机制的拜占庭容错共识机制(Votingbased Practical Byzantine Fault Tolerance,VPBFT)。在VPBFT中引入了投票机制,将系统中的节点划分为具有不同职责的4种类型,并赋予节点之间的数量关系,当节点数目发生变化时,可自行根据数量关系计算,保证有动态性。同时,使用“两阶段”共识模式代替PBFT“三阶段”,降低网络带宽的消耗。另外,通过实验和仿真对比分析了VPBFT与PBFT及其改...
【文章来源】:南京邮电大学江苏省
【文章页数】:87 页
【学位级别】:硕士
【部分图文】:
当Nv=20,Np=50,Nc=200时,候选节点成为生产节点的概率以及投票数K的最优取值
南京邮电大学专业学位硕士研究生学位论文第三章基于投票机制的拜占庭容错共识机制37实验结果与分析本节内容,将从功耗、可靠性、动态性、容错性、时延以及安全性等方面对VPBFT、PBFT、GBC、DynamicPBFT、S-PBFT等共识机制进行数学计算仿真和分析对比。实验环境包括硬件和软件两部分。硬件环境为Windows10操作系统,其基本的配置为:内存为8GB、处理器为I5-8250U、硬盘为256GHz的SSD固态硬盘;软件环境为MATLABR2017a和Python。3.3.1低功耗共识机制的共识过程需要各个节点之间彼此传输数据区块,每一次数据区块的传输都需要占用一定的网络带宽。被传输的数据区块的大小设为Blocksize,网络系统中的节点总数设为N,所有节点彼此之间完成一次数据区块传输所占用的网络带宽设为Bandwidth。那么,公式3.8则可表示网络系统中所有节点之间完成一次数据区块传输所需要的网络带宽:Bandwidth=N(N1)Blocksize(3.8)通过公式3.8能够发现,当Blocksize固定不变时,Bandwidth是随着节点总数N的增加而增加的,如图3.4的Bandwidth。图3.4VPBFT共识机制与其他共识机制共识过程所需消耗的网络带宽对比在改进方案VPBFT中,共识过程供分为准备阶段、确认阶段。生产节点在准备阶段中需要把相应的数据区块和请求广播发送给投票节点,这个过程需要消耗网络带宽为Bandwidth。在确认阶段中投票节点在验证通过时广播回复确认消息及相关数据,验证未通过则不予回复,
南京邮电大学专业学位硕士研究生学位论文第三章基于投票机制的拜占庭容错共识机制41图3.5考虑评分时候选节点成功被投票为生产节点的概率当a分别取值为0,0.1,0.2,0.3时,经公式3.9计算可得图3.5。通过图3.5看出,拥有较高分数的节点,即可靠的节点在K值固定时成为生产节点的可能性更高。第二个是生产节点获得的总工资W。公式3.9揭示了候选节点成为生产节点的概率P与投票数K和评分a之间具有的因果关系:P随K和a的增加而增加。假设生产节点在自己的生产周期内成功生产一次有效的数据区块能够获得w的工资,那么生产节点总共能够获得到的总工资W满足W=Pw,由此可见,所得工资数W时随着概率P的增加而增加的,表现越可靠的节点越能够获得比较高的工资,反过来越高的工资能够有效的激励节点可靠的工作。综上所述,在共识过程中的变现越可靠的节点越有可能生获得投票和高工资,反之,高概率的获得投票和获得高工资将激励节点愈发的可靠。3.3.3动态性PBFT采用的原理是状态机复制,其请求响应模式为C/S模式,是一种静态共识机制。因上述内容,其仅能够被应用于参与节点不会发生变化的网络系统中,当节点总数发生变动时不能够感知到。当有新节点加入到系统中时并未重新启动系统,也未重新配置和计算,系统会按照原有的节点数目进行共识,那么新加入的节点就没有参与共识过程,无法获取到相应的共识数据,同时新加入的节点为被使用,造成了资源浪费。当有节点离开系统时未重新启动系统,也未重新配置和计算,那么系统中存在的节点在共识过程中仍会向不存在的节点传输数据消息,使得不存在的节点占用一定的系统资源和浪费一定的共识时间,降低共识效率。而提出的改进方案VPBFT,正是针对这一问题而进行改进的,具有动态的特点。
【参考文献】:
期刊论文
[1]基于符号执行的智能合约漏洞检测方案[J]. 赵伟,张问银,王九如,王海峰,武传坤. 计算机应用. 2020(04)
[2]区块链与国家竞争力塑造[J]. 宋爽. 世界知识. 2019(22)
[3]国家信息中心、中国移动、银联等宣布区块链服务网络正式内测[J]. 张磊磊. 金融科技时代. 2019(11)
[4]建行发布“BCTrade2.0区块链贸易金融平台”[J]. 本刊编辑部. 金融科技时代. 2019(11)
[5]基于K-medoids的改进PBFT共识机制[J]. 陈子豪,李强. 计算机科学. 2019(12)
[6]区块链共识机制研究综述[J]. 刘懿中,刘建伟,张宗洋,徐同阁,喻辉. 密码学报. 2019(04)
[7]区块链共识算法研究综述[J]. 郑敏,王虹,刘洪,谭冲. 信息网络安全. 2019(07)
[8]区块链基础架构与共识机制[J]. 袁琛. 科技传播. 2019(05)
[9]基于投票机制的拜占庭容错共识算法[J]. 王海勇,郭凯璇,潘启青. 计算机应用. 2019(06)
[10]基于区块链的智能合约技术与应用综述[J]. 贺海武,延安,陈泽华. 计算机研究与发展. 2018(11)
硕士论文
[1]改进的拜占庭共识算法及其在网约车安全风险规避模式中的应用[D]. 李青鹏.浙江师范大学 2019
[2]基于动态授权的拜占庭容错共识算法的区块链性能改进研究[D]. 刘肖飞.浙江大学 2017
本文编号:3225173
【文章来源】:南京邮电大学江苏省
【文章页数】:87 页
【学位级别】:硕士
【部分图文】:
当Nv=20,Np=50,Nc=200时,候选节点成为生产节点的概率以及投票数K的最优取值
南京邮电大学专业学位硕士研究生学位论文第三章基于投票机制的拜占庭容错共识机制37实验结果与分析本节内容,将从功耗、可靠性、动态性、容错性、时延以及安全性等方面对VPBFT、PBFT、GBC、DynamicPBFT、S-PBFT等共识机制进行数学计算仿真和分析对比。实验环境包括硬件和软件两部分。硬件环境为Windows10操作系统,其基本的配置为:内存为8GB、处理器为I5-8250U、硬盘为256GHz的SSD固态硬盘;软件环境为MATLABR2017a和Python。3.3.1低功耗共识机制的共识过程需要各个节点之间彼此传输数据区块,每一次数据区块的传输都需要占用一定的网络带宽。被传输的数据区块的大小设为Blocksize,网络系统中的节点总数设为N,所有节点彼此之间完成一次数据区块传输所占用的网络带宽设为Bandwidth。那么,公式3.8则可表示网络系统中所有节点之间完成一次数据区块传输所需要的网络带宽:Bandwidth=N(N1)Blocksize(3.8)通过公式3.8能够发现,当Blocksize固定不变时,Bandwidth是随着节点总数N的增加而增加的,如图3.4的Bandwidth。图3.4VPBFT共识机制与其他共识机制共识过程所需消耗的网络带宽对比在改进方案VPBFT中,共识过程供分为准备阶段、确认阶段。生产节点在准备阶段中需要把相应的数据区块和请求广播发送给投票节点,这个过程需要消耗网络带宽为Bandwidth。在确认阶段中投票节点在验证通过时广播回复确认消息及相关数据,验证未通过则不予回复,
南京邮电大学专业学位硕士研究生学位论文第三章基于投票机制的拜占庭容错共识机制41图3.5考虑评分时候选节点成功被投票为生产节点的概率当a分别取值为0,0.1,0.2,0.3时,经公式3.9计算可得图3.5。通过图3.5看出,拥有较高分数的节点,即可靠的节点在K值固定时成为生产节点的可能性更高。第二个是生产节点获得的总工资W。公式3.9揭示了候选节点成为生产节点的概率P与投票数K和评分a之间具有的因果关系:P随K和a的增加而增加。假设生产节点在自己的生产周期内成功生产一次有效的数据区块能够获得w的工资,那么生产节点总共能够获得到的总工资W满足W=Pw,由此可见,所得工资数W时随着概率P的增加而增加的,表现越可靠的节点越能够获得比较高的工资,反过来越高的工资能够有效的激励节点可靠的工作。综上所述,在共识过程中的变现越可靠的节点越有可能生获得投票和高工资,反之,高概率的获得投票和获得高工资将激励节点愈发的可靠。3.3.3动态性PBFT采用的原理是状态机复制,其请求响应模式为C/S模式,是一种静态共识机制。因上述内容,其仅能够被应用于参与节点不会发生变化的网络系统中,当节点总数发生变动时不能够感知到。当有新节点加入到系统中时并未重新启动系统,也未重新配置和计算,系统会按照原有的节点数目进行共识,那么新加入的节点就没有参与共识过程,无法获取到相应的共识数据,同时新加入的节点为被使用,造成了资源浪费。当有节点离开系统时未重新启动系统,也未重新配置和计算,那么系统中存在的节点在共识过程中仍会向不存在的节点传输数据消息,使得不存在的节点占用一定的系统资源和浪费一定的共识时间,降低共识效率。而提出的改进方案VPBFT,正是针对这一问题而进行改进的,具有动态的特点。
【参考文献】:
期刊论文
[1]基于符号执行的智能合约漏洞检测方案[J]. 赵伟,张问银,王九如,王海峰,武传坤. 计算机应用. 2020(04)
[2]区块链与国家竞争力塑造[J]. 宋爽. 世界知识. 2019(22)
[3]国家信息中心、中国移动、银联等宣布区块链服务网络正式内测[J]. 张磊磊. 金融科技时代. 2019(11)
[4]建行发布“BCTrade2.0区块链贸易金融平台”[J]. 本刊编辑部. 金融科技时代. 2019(11)
[5]基于K-medoids的改进PBFT共识机制[J]. 陈子豪,李强. 计算机科学. 2019(12)
[6]区块链共识机制研究综述[J]. 刘懿中,刘建伟,张宗洋,徐同阁,喻辉. 密码学报. 2019(04)
[7]区块链共识算法研究综述[J]. 郑敏,王虹,刘洪,谭冲. 信息网络安全. 2019(07)
[8]区块链基础架构与共识机制[J]. 袁琛. 科技传播. 2019(05)
[9]基于投票机制的拜占庭容错共识算法[J]. 王海勇,郭凯璇,潘启青. 计算机应用. 2019(06)
[10]基于区块链的智能合约技术与应用综述[J]. 贺海武,延安,陈泽华. 计算机研究与发展. 2018(11)
硕士论文
[1]改进的拜占庭共识算法及其在网约车安全风险规避模式中的应用[D]. 李青鹏.浙江师范大学 2019
[2]基于动态授权的拜占庭容错共识算法的区块链性能改进研究[D]. 刘肖飞.浙江大学 2017
本文编号:3225173
本文链接:https://www.wllwen.com/kejilunwen/shengwushengchang/3225173.html
最近更新
教材专著