CN109947740B - 区块链系统的性能优化方法及装置 - Google Patents

区块链系统的性能优化方法及装置 Download PDF

Info

Publication number
CN109947740B
CN109947740B CN201910074980.2A CN201910074980A CN109947740B CN 109947740 B CN109947740 B CN 109947740B CN 201910074980 A CN201910074980 A CN 201910074980A CN 109947740 B CN109947740 B CN 109947740B
Authority
CN
China
Prior art keywords
block
index
performance
action information
state information
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201910074980.2A
Other languages
English (en)
Other versions
CN109947740A (zh
Inventor
滕颖蕾
于非
刘梦婷
滕俊杰
宋梅
唐介一
宋子琪
王迪之
李蓝林
曹园园
程超
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing University of Posts and Telecommunications
Original Assignee
Beijing University of Posts and Telecommunications
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing University of Posts and Telecommunications filed Critical Beijing University of Posts and Telecommunications
Priority to CN201910074980.2A priority Critical patent/CN109947740B/zh
Publication of CN109947740A publication Critical patent/CN109947740A/zh
Application granted granted Critical
Publication of CN109947740B publication Critical patent/CN109947740B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明实施例提供一种区块链系统的性能优化方法及装置,其中方法包括:采集当前时刻的状态信息,将所述状态信息输入至当前的神经网络中,输出若干种的动作信息;计算当前时刻的分布式性能指标、时延指标和安全性指标,以共同作为性能优化指标;对每一种动作信息,结合所述当前时刻的状态信息代入预先构建的Q价值函数中,输出对应的Q估计值,将最大Q价值对应的动作信息作为最优动作信息;以预设概率选择所述最优动作调整所述区块链系统。本发明实施例首次实现了在提升系统交易吞吐量的同时,保证系统同时满足分布式性能、时延和安全性能的技术效果。

Description

区块链系统的性能优化方法及装置
技术领域
本发明实施例涉及区块链技术领域,更具体地,涉及一种区块链系统的性能优化及装置。
背景技术
区块链是一种去中心化的分布式数据库,是分布式数据存储、点对点传输、共识机制和加密算法等新型技术的集成创新,保证了信息系统及数据的可靠性、可信性和安全性,并可借助大数据、人工智能算法、超级算力等领域的发展,呈现出广阔的应用前景。然而,区块链在成为一种大众化的通用技术的过程中面临着一个非常重要的问题—可扩展性,也即交易吞吐量,通常采用交易处理速度来衡量。例如,区块链最早的应用比特币的交易处理速度只有3-4个交易/秒,而后来出现的以太坊的交易处理速度大约为14个交易/秒,如此低的交易吞吐量根本无法处理实际场景中的海量交易量。近期,已经有一些区块链的创业公司设计了新型区块链平台,致力于解决区块链技术在未来应用场景中的可扩展性问题,解决的思路主要分为两类:第一类是“链上扩展方法”,比如调整区块大小和区块间隔时间(如BitcoinCash),改变区块的发布过程(如Bitcoin-NG),引入新的共识机制如权益证明(Proof of Stake,PoS)、代表权益证明(Delegated Proof of Stake,DPoS)、实用拜占庭容错机制(Practical Byzantine Fault Tolerance,PBFT),利用分片技术(如Zilliqa);第二类是“链下扩展方法”旨在减少主链上的计算冗余部分,采用的方法包括利用Sidechains(如Plasma),Multi-chains(如Cosmos,AION),Lightning网络,小额支付通道(如Raidennetwork,TeeChan)等。
上述区块链平台在提升底层区块链系统性能的过程中均会遇到一个“三难的困境”,也即任何区块链系统只能满足可扩展性、分布式性能和安全性这三个性能中的一个或者两个,而无法同时满足这三个性能。其实,在评估区块链系统性能时,除了可扩展性、分布式性能和安全性外,还有一个重要的性能—时延,这里的时延指的是交易达到不可篡改的状态时需要的时间。然而,很多现有的区块链平台的性能只能满足这四个指标中的几个,而很难全部满足所有的性能。例如,采用工作量证明机制(Proof of Work,PoW)的公有链系统(如比特币和以太坊1.0)具有良好的分布式性能和安全性,但是交易吞吐量很低,并且需要很长的交易确认时延;采用集中式区块模式的区块链系统(如Cardano,EOS)则以牺牲发块者的分布式性能来提升系统的可扩展性;此外,多链系统(如Cosmos,AION)的可扩展性和分布式性能都很好,并且只需要较短的交易确认时间,但是系统的鲁棒性却很差。因此,需要提出一个新的优化区块链系统性能的框架,能够在提升系统交易吞吐量的同时保证系统的分布式性能、时延和安全性能。在此之前,更为迫切的是需要对可扩展性、分布式性能、安全性和时延这四个方面的性能指标进行量化和分析。目前,虽然有一些文献已经对区块链系统进行了性能分析,但大部分文献是通过仿真进行性能评估。
发明内容
本发明实施例提供一种克服上述问题或者至少部分地解决上述问题的显著性检测方法及装置。
第一个方面,本发明实施例提供一种区块链系统的性能优化方法,包括:
采集当前时刻的状态信息,将所述状态信息输入至当前的神经网络中,输出若干种的动作信息;
计算当前时刻的分布式性能指标、时延指标和安全性指标,以共同作为性能优化指标;
对每一种动作信息,结合所述当前时刻的状态信息代入预先构建的Q价值函数中,输出对应的Q估计值,将最大Q价值对应的动作信息作为最优动作信息;
以预设概率选择所述最优动作调整所述区块链系统;
其中,所述状态信息包括交易大小、所述区块链系统中的代币分布情况和节点的地理位置分布情况、节点的计算能力以及每对节点间的通信链路的数据传输速率;所述动作信息包括发块者、共识算法、区块大小以及区块间隔;所述Q价值函数以性能优化指标为约束条件,以交易吞吐量为输出结果。
第二个方面,本发明实施例提供一种区块链系统的性能优化装置,包括:
动作信息计算模块,用于采集当前时刻的状态信息,将所述状态信息输入至当前的神经网络中,输出若干种的动作信息;
优化指标计算模块,用于计算当前时刻的分布式性能指标、时延指标和安全性指标,以共同作为性能优化指标;
最优动作信息计算模块,用于对每一种动作信息,结合所述当前时刻的状态信息代入预先构建的Q价值函数中,输出对应的Q估计值,将最大Q价值对应的动作信息作为最优动作信息;
调整模块,用于以预设概率选择所述最优动作调整所述区块链系统;
其中,所述状态信息包括交易大小、所述区块链系统中的代币分布情况和节点的地理位置分布情况、节点的计算能力以及每对节点间的通信链路的数据传输速率;所述动作信息包括发块者、共识算法、区块大小以及区块间隔;所述Q价值函数以性能优化指标为约束条件,以交易吞吐量为输出结果。
第三方面,本发明实施例提供一种电子设备,包括存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述程序时实现如第一方面所提供的方法的步骤。
第四方面,本发明实施例提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现如第一方面所提供的方法的步骤。
本发明实施例提供的区块链系统的性能优化算法及装置,从交易吞吐量、分布式性能、时延和安全性四个方面进行性能指标的量化和分析,首次实现了在提升系统交易吞吐量的同时,保证系统同时满足分布式性能、时延和安全性能的技术效果。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作一简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例的区块链系统的性能优化方法的流程示意图;
图2为本发明实施例的区块链系统的性能优化装置的结构示意图;
图3为本发明实施例提供的电子设备的实体结构示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
通常地,区块链网络中交易的处理/验证过程主要包括两个步骤:
1)产生一个区块:由发块者收集一组交易并将这组交易打包成一个区块,发块者根据选定的共识算法对该区块进行验证;
2)将新区块添加到区块链上:在区块验证成功后,发块者将新产生的区块广播到网络中,所有节点将新区块添加到本地区块链上,这个过程也称为“交易上链”。
在上述过程中,影响交易的处理/验证的因素包括但不限于以下几个参数:
i)发块者:也可称为区块验证者,是产生区块的节点。发块者的一些特性,如节点的股权分布情况、地理位置分布情况、计算能力和通信能力都会影响到区块链系统的分布式性能、时延和安全性,从而影响系统的交易吞吐量。
ii)区块大小和发块频率:从直观上来看,在交易大小一定的情况下,区块大小直接决定了单个区块能容纳的交易数量,发块频率则决定单位时间内产生的区块数量,这两个参数的设置会直接影响系统的交易处理/验证速度。但是,这两个参数的设置也需要考虑其它参数,如共识算法,不同的共识算法的区块验证过程不同,发块频率不能过快,否则会来不及验证新产生的区块。
iii)共识算法:采用不同的共识算法时,区块的验证过程是不同的,因此会影响到区块链系统的时延和安全性,从而影响系统的交易吞吐量。
iv)相关资源分配方案:在验证区块的过程中,针对发块者/验证者来说,涉及到的计算、存储、频谱、功率等相关资源分配方案的设计会影响区块验证的时延,从而影响系统的交易吞吐量。
图1为本发明实施例的区块链系统的性能优化方法的流程示意图,如图1所示,该方法包括:
S101、采集当前时刻的状态信息,将所述状态信息输入至当前的神经网络中,输出若干种的动作信息。
具体地,本发明实施例的状态信息包括交易大小、所述区块链系统中的代币分布情况和节点的地理位置分布情况、节点的计算能力以及每对节点间的通信链路的数据传输速率。动作信息包括发块者、共识算法、区块大小以及区块间隔。
为了处理网络中产生的交易,区块的发布者需要完成以下两步:1)生成一个区块:收集交易,验证并打包成一个区块,2)将新产生的区块添加到区块链上:将生成的新区块广播给其他区块产生者,并就新区块达到共识后将区块添加到各自的本地区块链上。在这个过程中有两个关键因素,即区块的发布者(验证者)和共识过程,这两步的模型包括:
发块者模型:
区块链系统中存在N个普通节点(其中包括K个发块者),普通节点的集合表示为ΦS={z1,z2,...,zN},节点的代币和节点zn,n=1,...,N的计算资源由γn(代币)和cn(GHz)表示。为了清晰起见,采用γ={γ12,...,γn}和c={c1,c2,...,cn}分别表示普通节点的代币的分布情况和计算资源的分布情况。K个发块者的集合由
Figure GDA0002762322920000061
表示,这些发块者是根据特定的规则从集合ΦS中挑选出来的。假设这些发块者的位置在平面
Figure GDA0002762322920000062
上服从密度为λ(x)的非齐次泊松点过程,其中节点zn的位置由二维坐标
Figure GDA0002762322920000063
表示(
Figure GDA0002762322920000064
表示二维空间),节点的坐标集合用x={xn}来表示。密度λ(x)满足对于任意
Figure GDA0002762322920000065
来说,
Figure GDA0002762322920000066
成立;其中,E{}表示对{}里的内容求均值,dx是积分,Num(A)是A区域内节点的数目。在本发明实施例的区块链系统中,假设这K个发块者轮流以TI(秒)的间隔产生大小为SB(MB)的区块。
共识机制模型:
需要注意的是,由于不存在适用于所有情况的万能协议,因此,本发明实施例提供一种具有适应性的共识算法,将一系列现有的共识机制(包括PBFT、Zyzzyva、Quorum)作为候选机制,然后根据用户的要求和系统的情况动态地选择最合适的一种共识机制。
在区块链系统中,本发明实施例将生成新区块的发块者(验证者)看作是客户
Figure GDA0002762322920000067
而其他发块者被看作是副本
Figure GDA0002762322920000068
换言之,客户产生一个包含多个交易的区块后,需要和其它副本一起就区块的内容达成一致。在达成共识的过程中,有一个副本被指定为主副本。在本发明实施例中考虑一个拜占庭式容错模型,其中包括几个假设:
1)客户和主副本是诚实节点,并且存在个故障副本。
2)故障副本可以故意扰乱或拖延共识过程,例如发送错误信息,故意发送信息过快或过慢而产生开销。
3)假设共识系统是一个异步网络,同步间隔无限长。在同步间隔期间内,发送的任何消息都将在规定时间内传递。
4)诚实的副本以循环方式处理来自其他副本的消息。
需要注意的是,共识过程主要涉及交换信息和验证信息两个部分。对于信息交换,本发明实施例将时变传输链路建模为有限状态马尔科夫信道过程(FSMC),用
Figure GDA0002762322920000071
表示验证者
Figure GDA0002762322920000072
和验证者
Figure GDA0002762322920000073
之间的通信链路的数据传输速率,在一个实施例中,可以将数据传输速率分为L个等级r={r1,r2,...,rL}。因此,关于
Figure GDA0002762322920000074
的L×L转移概率矩阵可被定义为p(t)=[pm(t)]L×L,其中,
Figure GDA0002762322920000075
Pr是概率,表示[]中的事件发生的概率,y1,y2∈r。
对于信息验证,本发明实施例只考虑加密操作相关的计算成本,其中包括验证签名,生成相应的消息验证代码(Message Authentication Code,MAC)和验证MAC,分别需要α,β和β个CPU周期的计算量(可以认为是已知量)。
本发明实施例将决策时刻t(t=1,2,...)的状态空间定义为几个因素的集合,包括交易大小χ,节点的代币分配情况γ和地理位置分布情况x,节点的计算能力c={ck}以及每对节点之间通信链路的数据传输速率R={Ri,j},可表示为:
S(t)=[χ,γ,x,c,R](t)
为了使系统的交易吞吐量最大化,每一时刻都需要调整区块链系统的几个模块以适应动态环境的变化,动作信息包括发块者a、共识算法δ、区块大小SB和区块间隔TI。因此,t时刻的动作信息(也称之为动作空间)可以表示为A(t)=[a,δ,SB,TI](t),其中,发块者的选择用变量a来表示,a定义为a={an},an∈{0,1},
Figure GDA0002762322920000081
Zn∈ΦS,其中an=1表示节点zn被选作发块者。共识机制的选择用δ={0,1,2}来表示,即分别选择PBFT、Zyzzyva和Quorum作为共识算法。此外,使用有限分块方法,区块大小
Figure GDA0002762322920000082
和区块间隔
Figure GDA0002762322920000083
其中区块大小上限为
Figure GDA0002762322920000086
和最大块间隔为
Figure GDA0002762322920000084
S102、计算当前时刻的分布式性能指标、时延指标和安全性指标,以共同作为性能优化指标。
需要说明的是,本发明实施例对区块链系统相关性能指标的定义和量化分析如下:
(1)可扩展性:定义为单位时间内可处理的交易数,采用交易吞吐量来衡量,单位为交易/秒。
从本质上看,区块链是由一个个区块组成的链式结构,每个区块包含了一组交易。对于区块链系统来说,其可扩展性可以由交易吞吐量来衡量,直接影响交易吞吐量的有两个参数:区块大小和区块间隔。区块大小,也就是每个区块的容量,这个参量决定了一个区块里面可以包含多少个交易。区块间隔,也即两个区块发布的间隔时间,描述了区块的发布频率。考虑到这两个因素的影响,本发明实施例将交易吞吐量用以下公式表示:
Figure GDA0002762322920000085
其中SB表示区块的大小,即每个区块中可以包含的字节数;TI是区块间隔,χ表示网络中交易的平均大小。通过上式可知,提高链上交易吞吐量的一种最直观的方法是增加区块大小或减少区块之间的时间间隔。然而,由于生成的新区块必须通过验证者之间的基于共识机制的验证,因此验证者和共识算法的选择也具有很大的影响。通过上述四个关键性能指标可以看出,区块链系统的可扩展性会受到其他三个因素的影响,即分布式性能、延迟性能和安全性性能。
(2)分布式性能:定义为节点之间关于某个特征的差异,如持有的代币/股份,地理位置的分布差异等,采用经济学领域的“吉尼系数”(也称之为吉尼系数,Ginicoefficient)来衡量。通常地,吉尼系数应用于经济学范畴,用于描述财富或收入的不均衡性。本发明实施例首次将吉尼系数应用于描述区块链系统的分布式性能,实现分布式性能的首次量化。现阶段的文献和研究中都没有描述区块链系统的分布式性能的相关参数或指标。
(3)时延:定义为交易被写入区块链并达到不可篡改的状态所需的时间,采用交易确认时间来衡量。
(4)安全性:定义为区块链系统对于各类攻击的抵抗能力,在采用拜占庭容错类的共识机制时,可采用系统中诚实节点的个数是否满足共识机制的要求来表示。考虑到安全性,区块链1.0的共识算法只能提供高概率的安全性(如PoW,PoS,DPoS)。从理论上来说,可以使用足够的(>51%)采矿能力/代币来开采/创造一个更长的区块链来替代原区块链。
S103、对每一种动作信息,结合所述当前时刻的状态信息代入预先构建的Q价值函数,输出对应的Q估计值,将最大Q价值对应的动作信息作为最优动作信息。
从上述分析中可知,区块大小和区块间隔的影响包括两个方面:一方面,从交易吞吐量的定义式可以看出,增大区块和减小区块间隔能够有效提升交易吞吐量。另一方面,交易的确认时间(时延)随着区块的增大而增加,这是因为每个区块包含了更多的交易。同时,根据时延的约束条件,减小区块间隔意味着更苛刻的时延约束条件。此外,根据分布式性能和安全性的约束条件,可以看出共识时延和选择的发块者和采用的共识算法有非常密切的关系。所以,区块大小和区块间隔时间的调整,发块者和共识算法的选择是相互影响的。因此,本发明实施例构建了Q价值函数,该函数具体设定了针对性能优化指标的约束条件,旨在保证分布式性能、时延和安全性不受影响的条件下提升系统的交易吞吐量。
S104、以预设概率选择所述最优动作调整所述区块链系统。
具体地,为了避免本发明的性能优化方法陷入局部最优的困境中,本发明实施例预先确定一个概率ε,概率ε通常较小,例如小于0.05,以概率ε随机选择一个动作
Figure GDA0002762322920000101
即存在1-ε的概率选择使
Figure GDA0002762322920000102
值最大的那个动作,即
Figure GDA0002762322920000103
本发明实施例的性能优化算法,从交易吞吐量、分布式性能、时延和安全性四个方面进行性能指标的量化和分析,首次实现了在提升系统交易吞吐量的同时,保证系统同时满足分布式性能、时延和安全性能的技术效果。
需要说明的是,本发明实施例各时刻所采用的神经网络,是以预先训练的初始神经网络为基础,在每隔预设时刻后更新后获得的,其中,初始神经网络可选用DNN神经网络,以历史时刻的样本状态信息和样本动作信息进行训练而成,神经网络具体的训练过程可通过现有技术实现,例如牛顿算法(Newton’s method)、共轭梯度法(Conjugate gradient)、准牛顿法(Quasi-Newton method)等等。
神经网络的更新方法包括:
在第t时刻调整所述区块链系统后,采集第t+1时刻的状态信息
Figure GDA0002762322920000104
构建t时刻的抽样信息
Figure GDA0002762322920000105
并存入经验池中,其中,
Figure GDA0002762322920000106
表示t时刻的状态空间,
Figure GDA0002762322920000107
表示t时刻的动作信息,
Figure GDA0002762322920000108
表示t时刻的吞吐量;
在每次调整所述区块链系统后的预设时间后,从经验池中随机选择若干个抽样信息以计算Q估计值,根据所述Q估计值更新所述神经网络。
具体地,根据以下公式计算Q估计值:
Figure GDA0002762322920000111
其中,yi表示i时刻的Q估计值,
Figure GDA0002762322920000112
表示i时刻的即时奖励;γ表示各节点拥有的代币情况;
Figure GDA0002762322920000113
表示
Figure GDA00027623229200001111
状态下可能的动作;再利用损失函数
Figure GDA0002762322920000115
更新神经网络。
在上述各实施例的基础上,作为一种可选实施例,Q价值函数具体为:
Figure GDA0002762322920000116
C1:G(γ)≤ηs,G(λ)≤η1,
C2:TF,δ≤ω×TI,δ=0,1,2,
C3:f≤Fδ,δ=0,1,2.
其中,
Figure GDA0002762322920000117
为Q价值函数;S和A分别表示状态信息和动作信息;C1、C2、C3分别是区块链系统的分布式性能、时延和安全性相关的约束条件;G(γ)和G(λ)分别表示与区块链系统中各节点拥有的代币情况相关的第一吉尼系数以及与区块链系统中节点的地理位置分布情况相关的第二吉尼系数;ηsl∈[0,1]分别表示第一吉尼系数和第二吉尼系数的阈值;TF,δ表示时延指标;ω表示连续区块间隔的数目;TI表示区块间隔;δ表示共识算法;f表示安全性指标,Fδ表示在共识算法δ下的算法恶意验证者的最大值。
本发明实施例在衡量区块链系统的分布式性能时只考虑了两个典型的因素:节点拥有的代币和地理位置。
为了描述节点关于代币分布情况的分布式性能,第一吉尼系数通过以下公式计算:
Figure GDA0002762322920000118
其中
Figure GDA0002762322920000119
表示发块者
Figure GDA00027623229200001110
拥有的代币,K为发块者的数目,ΦB为发块者集合。
类似地,对于节点关于位置分布情况的分布式性能,由于发块者的位置服从密度为λ(x)的齐次泊松点过程,并且密度λ(x)是关于x的连续函数,因此需要采用积分形式的第二吉尼系数,如下式所示:
Figure GDA0002762322920000121
其中密度集合为λ={λ(x)},x∈Ξ,发块者分散在
Figure GDA0002762322920000122
区域内。x和y均为二维空间里的变量。需要说明的是,Ξ是本发明实施例所选用的一个希腊字母,也可替换为其他字母或者符号表示。
值得注意的是吉尼系数的取值范围在[0,1]内,其中0和1分别表示最高度的去中心化场景和最高度的集中化场景。换言之,代币/位置分布越均匀或越分散,吉尼系数越接近0。为了保证发块者在代币分布和地理位置上的去中心化性能,应满足以下限制条件:
G(γ)≤ηS
G(γ)≤ηl
其中ηsl∈[0,1]分别表示区块链系统关于代币和地理位置分布的吉尼系数的阈值,用户可以根据需求自行设置。
在上述实施例的基础上,本发明实施例采用交易确认时间来评估区块链系统的时延,这个指标衡量了交易被写入区块链并达到不可篡改的状态所需的时间。如上所述,交易处理过程包括两个阶段,即生成一个新区块,以及在验证者之间就生成的新区块达成共识。因此时延包括区块生成时间(即区块间隔)和验证区块所需要的时间,用下式表示:
TF,δ=TI+TC,δ
其中,TI是区块间隔,TC,δ是达成共识的时间,即验证者验证新区块所需要的时间,这个时间主要取决于所采用的共识算法。这里采用δ=0,1,2来表示三种不同的共识算法,分别对应PBFT,Zyzzyva,Quorum。
本发明实施例将整个验证过程分为两部分,即消息传递和消息验证(验证签名、生成和验证MAC)。因此可以用下式来计算共识时延:
TF,δ≤ω×TI,δ=0,1,2
对于拜占庭容错类的协议,只要一部分参与者是诚实的,就可以在任何条件下实现交易的不可篡改性。因此,验证者是否诚实对于拜占庭容错类共识算法是非常关键的。为了保证采用共识算法的区块链系统的安全性,恶意验证者的数量应受到以下约束的限制:
f≤Fδ,δ=0,1,2
其中,
Figure GDA0002762322920000131
和F2=0表示最多能允许的恶意验证者的数量。
在上述各实施例的基础上,本发明实施例的
Figure GDA0002762322920000132
表示为
Figure GDA0002762322920000133
折扣系数μ∈(0,1]反映了即时奖励和未来收益之间的权衡关系,
Figure GDA0002762322920000134
表示求均值;
Figure GDA0002762322920000135
Figure GDA0002762322920000136
是初始时刻观察到的状态,以及相应的动作,可以看成是预设的;本发明实施例将即时奖励
Figure GDA0002762322920000137
定义为:
Figure GDA0002762322920000138
需要注意的是,如果不能满足约束条件C1-C3,则意味着自定义的区块链系统在去中心化、时延或安全性方面的性能太差,不能达到用户的要求。为了避免这种情况的发生,将此种情况的即时奖励设置为0。
图2为本发明实施例提供的区块链系统的性能优化装置的结构示意图,如图2所示,该显著性检测装置包括:动作信息计算模块201、优化指标计算模块202、最优动作信息计算模块203和调整模块204,其中:
动作信息计算模块201,用于采集当前时刻的状态信息,将所述状态信息输入至当前的神经网络中,输出若干种的动作信息;
优化指标计算模块202,用于计算当前时刻的分布式性能指标、时延指标和安全性指标,以共同作为性能优化指标;
最优动作信息计算模块203,用于对每一种动作信息,结合所述当前时刻的状态信息代入预先构建的Q价值函数中,输出对应的Q估计值,将最大Q价值对应的动作信息作为最优动作信息;
调整模块204,用于以预设概率选择所述最优动作调整所述区块链系统;
其中,所述状态信息包括交易大小、所述区块链系统中的代币分布情况和节点的地理位置分布情况、节点的计算能力以及每对节点间的通信链路的数据传输速率;所述动作信息包括发块者、共识算法、区块大小以及区块间隔;所述Q价值函数以性能优化指标为约束条件,以交易吞吐量为输出结果。
本发明实施例提供的区块链系统的性能优化装置,具体执行上述各区块链系统的性能优化方法实施例流程,具体请详见上述各区块链系统的性能优化方法实施例的内容,在此不再赘述。本发明实施例提供的区块链系统的性能优化装置,从交易吞吐量、分布式性能、时延和安全性四个方面进行性能指标的量化和分析,首次实现了在提升系统交易吞吐量的同时,保证系统同时满足分布式性能、时延和安全性能的技术效果。
图3为本发明实施例提供的电子设备的实体结构示意图,如图3所示,该电子设备可以包括:处理器(processor)310、通信接口(Communications Interface)320、存储器(memory)330和通信总线340,其中,处理器310,通信接口320,存储器330通过通信总线340完成相互间的通信。处理器310可以调用存储在存储器330上并可在处理器310上运行的计算机程序,以执行上述各实施例提供的显著性检测方法,例如包括:采集当前时刻的状态信息,将所述状态信息输入至当前的神经网络中,输出若干种的动作信息;计算当前时刻的分布式性能指标、时延指标和安全性指标,以共同作为性能优化指标;对每一种动作信息,结合所述当前时刻的状态信息代入预先构建的Q价值函数中,输出对应的Q估计值,将最大Q价值对应的动作信息作为最优动作信息;以预设概率选择所述最优动作调整所述区块链系统;其中,所述状态信息包括交易大小、所述区块链系统中的代币分布情况和节点的地理位置分布情况、节点的计算能力以及每对节点间的通信链路的数据传输速率;所述动作信息包括发块者、共识算法、区块大小以及区块间隔;所述Q价值函数以性能优化指标为约束条件,以交易吞吐量为输出结果。
此外,上述的存储器330中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明实施例的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以存储程序代码的介质。
本发明实施例还提供一种非暂态计算机可读存储介质,其上存储有计算机程序,该计算机程序被处理器执行时实现以执行上述各实施例提供的显著性检测方法,例如包括:采集当前时刻的状态信息,将所述状态信息输入至当前的神经网络中,输出若干种的动作信息;计算当前时刻的分布式性能指标、时延指标和安全性指标,以共同作为性能优化指标;对每一种动作信息,结合所述当前时刻的状态信息代入预先构建的Q价值函数中,输出对应的Q估计值,将最大Q价值对应的动作信息作为最优动作信息;以预设概率选择所述最优动作调整所述区块链系统;其中,所述状态信息包括交易大小、所述区块链系统中的代币分布情况和节点的地理位置分布情况、节点的计算能力以及每对节点间的通信链路的数据传输速率;所述动作信息包括发块者、共识算法、区块大小以及区块间隔;所述Q价值函数以性能优化指标为约束条件,以交易吞吐量为输出结果
以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本实施例方案的目的。本领域普通技术人员在不付出创造性的劳动的情况下,即可以理解并实施。
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到各实施方式可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件。基于这样的理解,上述技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在计算机可读存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行各个实施例或者实施例的某些部分所述的方法。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。

Claims (9)

1.一种区块链系统的性能优化方法,其特征在于,包括:
采集当前时刻的状态信息,将所述状态信息输入至当前的神经网络中,输出若干种的动作信息;
计算当前时刻的分布式性能指标、时延指标和安全性指标,以共同作为性能优化指标;
对每一种动作信息,结合所述当前时刻的状态信息代入预先构建的Q价值函数中,输出对应的Q估计值,将最大Q价值对应的动作信息作为最优动作信息;
以预设概率选择所述最优动作调整所述区块链系统;
其中,所述状态信息包括交易大小、所述区块链系统中的代币分布情况和节点的地理位置分布情况、节点的计算能力以及每对节点间的通信链路的数据传输速率;所述动作信息包括发块者、共识算法、区块大小以及区块间隔;所述Q价值函数以性能优化指标为约束条件,以交易吞吐量为输出结果;
其中,所述Q价值函数具体为:
Figure FDA0002762322910000011
C1:G(γ)≤ηs,G(λ)≤η1,
C2:TF,δ≤ω×TI,δ=0,1,2,
C3:f≤Fδ,δ=0,1,2.
其中,
Figure FDA0002762322910000012
为Q价值函数;S和A分别表示状态信息和动作信息;C1、C2、C3分别是区块链系统的分布式性能、时延和安全性相关的约束条件;G(γ)和G(λ)分别表示与区块链系统中各节点拥有的代币情况相关的第一吉尼系数以及与区块链系统中节点的地理位置分布情况相关的第二吉尼系数;ηsl∈[0,1]分别表示第一吉尼系数和第二吉尼系数的阈值;TF,δ表示时延指标;ω表示连续区块间隔的数目;TI表示区块间隔;δ表示共识算法;f表示安全性指标,Fδ表示在共识算法δ下的算法恶意验证者的最大值。
2.根据权利要求1所述的性能优化方法,其特征在于,所述神经网络的更新方法包括:
在第t时刻调整所述区块链系统后,采集第t+1时刻的状态信息
Figure FDA0002762322910000021
构建t时刻的抽样信息
Figure FDA0002762322910000022
并存入经验池中,其中,
Figure FDA0002762322910000023
表示t时刻的状态空间,
Figure FDA0002762322910000024
表示t时刻的动作信息,
Figure FDA0002762322910000025
表示t时刻的吞吐量;
在每次调整所述区块链系统后的预设时间后,从经验池中随机选择若干个抽样信息以计算Q估计值,根据所述Q估计值更新所述神经网络。
3.根据权利要求1所述的性能优化方法,其特征在于,所述第一吉尼系数通过以下公式计算:
Figure FDA0002762322910000026
所述第二吉尼系数通过以下公式计算:
Figure FDA0002762322910000027
其中,G(γ)和G(λ)分别表示第一吉尼系数和第二吉尼系数;
Figure FDA0002762322910000028
表示发块者
Figure FDA0002762322910000029
拥有的代币;K为发块者的总数;ΦB为发块者集合;发块者的位置服从密度为λ(x)的齐次泊松点过程;密度λ(x)是关于x的连续函数;密度集合为λ={λ(x)},x∈Ξ,发块者分散在
Figure FDA00027623229100000210
区域内;x和y均为二维空间里的变量。
4.根据权利要求1所述的性能优化方法,其特征在于,所述时延指标通过以下公式表示:
TF,δ=TI+TC,δ
其中,TI是区块间隔;TC,δ是达成共识的时间;δ=0,1,2,表示三种不同的共识算法。
5.根据权利要求1所述的性能优化方法,其特征在于,
Figure FDA0002762322910000031
表示为
Figure FDA0002762322910000032
其中,折扣系数μ∈(0,1];
Figure FDA0002762322910000033
表示求均值;即时奖励
Figure FDA0002762322910000034
定义为:
Figure FDA0002762322910000035
其中,SB表示区块的大小;χ表示网络中交易的平均大小。
6.根据权利要求2所述的性能优化方法,其特征在于,所述计算Q估计值的方法具体为:
根据以下公式计算Q估计值:
Figure FDA0002762322910000036
其中,yi表示i时刻的Q估计值,
Figure FDA0002762322910000037
表示i时刻的即时奖励;γ表示各节点拥有的代币情况;
Figure FDA0002762322910000038
表示
Figure FDA0002762322910000039
状态下可能的动作。
7.一种区块链系统的性能优化装置,其特征在于,包括:
动作信息计算模块,用于采集当前时刻的状态信息,将所述状态信息输入至当前的神经网络中,输出若干种的动作信息;
优化指标计算模块,用于计算当前时刻的分布式性能指标、时延指标和安全性指标,以共同作为性能优化指标;
最优动作信息计算模块,用于对每一种动作信息,结合所述当前时刻的状态信息代入预先构建的Q价值函数中,输出对应的Q估计值,将最大Q价值对应的动作信息作为最优动作信息;
调整模块,用于以预设概率选择所述最优动作调整所述区块链系统;
其中,所述状态信息包括交易大小、所述区块链系统中的代币分布情况和节点的地理位置分布情况、节点的计算能力以及每对节点间的通信链路的数据传输速率;所述动作信息包括发块者、共识算法、区块大小以及区块间隔;所述Q价值函数以性能优化指标为约束条件,以交易吞吐量为输出结果;
其中,所述Q价值函数具体为:
Figure FDA0002762322910000041
C1:G(γ)≤ηs,G(λ)≤η1,
C2:TF,δ≤ω×TI,δ=0,1,2,
C3:f≤Fδ,δ=0,1,2.
其中,
Figure FDA0002762322910000042
为Q价值函数;S和A分别表示状态信息和动作信息;C1、C2、C3分别是区块链系统的分布式性能、时延和安全性相关的约束条件;G(γ)和G(λ)分别表示与区块链系统中各节点拥有的代币情况相关的第一吉尼系数以及与区块链系统中节点的地理位置分布情况相关的第二吉尼系数;ηsl∈[0,1]分别表示第一吉尼系数和第二吉尼系数的阈值;TF,δ表示时延指标;ω表示连续区块间隔的数目;TI表示区块间隔;δ表示共识算法;f表示安全性指标,Fδ表示在共识算法δ下的算法恶意验证者的最大值。
8.一种电子设备,其特征在于,包括:
至少一个处理器;以及
与所述处理器通信连接的至少一个存储器,其中:
所述存储器存储有可被所述处理器执行的程序指令,所述处理器调用所述程序指令能够执行如权利要求1至6中任意一项所述的区块链系统的性能优化方法。
9.一种非暂态计算机可读存储介质,其特征在于,所述非暂态计算机可读存储介质存储计算机指令,所述计算机指令使所述计算机执行如权利要求1至6中任意一项所述的区块链系统的性能优化方法。
CN201910074980.2A 2019-01-25 2019-01-25 区块链系统的性能优化方法及装置 Active CN109947740B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910074980.2A CN109947740B (zh) 2019-01-25 2019-01-25 区块链系统的性能优化方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910074980.2A CN109947740B (zh) 2019-01-25 2019-01-25 区块链系统的性能优化方法及装置

Publications (2)

Publication Number Publication Date
CN109947740A CN109947740A (zh) 2019-06-28
CN109947740B true CN109947740B (zh) 2020-12-29

Family

ID=67007416

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910074980.2A Active CN109947740B (zh) 2019-01-25 2019-01-25 区块链系统的性能优化方法及装置

Country Status (1)

Country Link
CN (1) CN109947740B (zh)

Families Citing this family (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111190831B (zh) * 2020-01-02 2022-09-20 南京邮电大学 区块链共识算法的鲁棒性分析方法及区块链系统
CN111400277B (zh) * 2020-03-06 2020-10-16 安徽中科智链信息科技有限公司 区块链健康状态评估方法及区块链动态锚定系统和方法
CN113497733A (zh) * 2020-04-08 2021-10-12 富士通株式会社 用于优化网络的方法、设备和计算机可读存储介质
CN111970112B (zh) * 2020-08-10 2022-01-21 山东大学 基于zynq异构计算平台的以太坊部署方法及系统
CN112148478B (zh) * 2020-09-02 2023-09-26 中国南方电网有限责任公司超高压输电公司 变电站分布式无线网中数据安全和资源分配联合优化方法
CN112448855B (zh) * 2021-01-28 2021-05-11 支付宝(杭州)信息技术有限公司 区块链系统参数更新方法和系统
CN113269556B (zh) * 2021-05-25 2023-06-27 中国联合网络通信集团有限公司 权益证明的方法、系统、终端设备及计算机存储介质
CN113992335B (zh) * 2021-12-28 2022-03-25 广州敏行区块链科技有限公司 一种自适应多共识的区块链处理方法及系统
CN114861996B (zh) * 2022-04-20 2023-04-07 江苏瑞沃农业发展集团有限公司 一种水库大水面污染治理方法及系统

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598824A (zh) * 2016-11-25 2017-04-26 深圳前海微众银行股份有限公司 区块链的性能分析方法及装置
CN108648071A (zh) * 2018-05-17 2018-10-12 阿里巴巴集团控股有限公司 基于区块链的资源价值评估方法和装置
CN109066653A (zh) * 2018-08-07 2018-12-21 宁波智果科技咨询服务有限公司 一种基于区块链交易管理的充电桩系统
CN109118224A (zh) * 2018-08-22 2019-01-01 泰康保险集团股份有限公司 区块链网络的工作量证明方法、装置、介质及电子设备
CN109120437A (zh) * 2018-08-01 2019-01-01 昧来网络科技(上海)有限公司 基于dabft共识机制的人工智能区块云生态系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10719771B2 (en) * 2016-11-09 2020-07-21 Cognitive Scale, Inc. Method for cognitive information processing using a cognitive blockchain architecture

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106598824A (zh) * 2016-11-25 2017-04-26 深圳前海微众银行股份有限公司 区块链的性能分析方法及装置
CN108648071A (zh) * 2018-05-17 2018-10-12 阿里巴巴集团控股有限公司 基于区块链的资源价值评估方法和装置
CN109120437A (zh) * 2018-08-01 2019-01-01 昧来网络科技(上海)有限公司 基于dabft共识机制的人工智能区块云生态系统
CN109066653A (zh) * 2018-08-07 2018-12-21 宁波智果科技咨询服务有限公司 一种基于区块链交易管理的充电桩系统
CN109118224A (zh) * 2018-08-22 2019-01-01 泰康保险集团股份有限公司 区块链网络的工作量证明方法、装置、介质及电子设备

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Performance Benchmarking and Optimizing Hyperledger Fabric Blockchain Platform;Parth Thakkar等;《2018 IEEE 26th International Symposium on Modeling, Analysis, and Simulation of Computer and Telecommunication Systems (MASCOTS)》;20180908;264-270 *
基于动态授权的拜占庭容错共识算法的区块链性能改进研究;刘肖飞;《中国优秀硕士学位论文全文数据库 信息科技辑》;20180115(第1期);I138-803 *
考虑信任度和权值的区块链数据通信性能优化研究;李皎;《中国博士学位论文全文数据库 经济与管理科学辑》;20190115(第1期);J155-1 *

Also Published As

Publication number Publication date
CN109947740A (zh) 2019-06-28

Similar Documents

Publication Publication Date Title
CN109947740B (zh) 区块链系统的性能优化方法及装置
Liu et al. Performance optimization for blockchain-enabled industrial Internet of Things (IIoT) systems: A deep reinforcement learning approach
Yun et al. DQN-based optimization framework for secure sharded blockchain systems
Gast et al. Mean field for Markov decision processes: from discrete to continuous optimization
US9661019B2 (en) System and method for distributed denial of service identification and prevention
US9342370B2 (en) Server migration
Meneses et al. RSA encryption algorithm optimization to improve performance and security level of network messages
US20230139892A1 (en) Apparatus and method for managing trust-based delegation consensus of blockchain network using deep reinforcement learning
CN112039702B (zh) 基于联邦学习和相互学习的模型参数训练方法及装置
CN114626547A (zh) 一种基于区块链的群组协同学习方法
CN113407976B (zh) 数字签名方法、签名信息的验证方法、相关装置及电子设备
Liang et al. Co-maintained database based on blockchain for idss: A lifetime learning framework
Halgamuge et al. Trust model to minimize the influence of malicious attacks in sharding based blockchain networks
Chen et al. Data poison detection schemes for distributed machine learning
Liang et al. Decentralizing Cyber Physical Systems for Resilience: An Innovative Case Study from A Cybersecurity Perspective
Popov et al. Voting-based probabilistic consensuses and their applications in distributed ledgers
Zhang et al. TBDD: A New Trust-based, DRL-driven Framework for Blockchain Sharding in IoT
Sabharwal et al. Effectiveness Analysis Of Blockchain Mechanisms Using Consensus Algorithms
Xu et al. BASS: A Blockchain-Based Asynchronous SignSGD Architecture for Efficient and Secure Federated Learning
CN117544422B (zh) 防火墙虚拟化部署方法及系统
Wu et al. An optimal scheduling algorithm considering the transactions worst-case delay for multi-channel hyperledger fabric network
Nakai et al. A Formulation of the Trilemma in Proof of Work Blockchain
CN114745310B (zh) 基于遗传算法的流量阈值的确定方法及装置
Chen et al. Data Manipulation Avoidance Schemes for Distributed Machine Learning
Sánchez et al. Simulating probabilistic networks of polarized evolutionary processors

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant