一种基于刚性内存的区块链共识算法的性能评估方法技术

技术编号:36808679 阅读:17 留言:0更新日期:2023-03-09 00:31
本公开提供一种基于刚性内存的区块链共识算法的性能评估方法、共识装置、终端以及计算机可读存储介质。该方法包括:获取区块链的区块信息和第一共识装置的硬件参数;根据区块信息,确定第一共识装置的计算内存值,计算内存值为区块链共识算法占用的刚性内存值;根据区块信息和硬件参数,确定第一共识装置对区块链共识算法的计算时长;根据计算内存值和计算时长,对第一共识装置的计算性能进行评估。在本公开中,上述方法可以实现对区块链共识算法的计算性能的量化,解决基于刚性内存的区块链共识装置的计算性能评估困难的问题。共识装置的计算性能评估困难的问题。共识装置的计算性能评估困难的问题。

【技术实现步骤摘要】
一种基于刚性内存的区块链共识算法的性能评估方法


[0001]本公开涉及但不限于计算机
,尤其涉及一种基于刚性内存的区块链共识算法的性能评估方法。

技术介绍

[0002]区块链是一个不断增长且相互独立的链式数据库,各个区块按照时间先后顺序相接,并以密码学方式进行加密,逐步应用于金融、证券保险、能源、公共事务运营和供应链管理等多个行业。区块链技术经过十多年的发展,已从1.0时代的数字货币进化为2.0时代的智能合约。
[0003]为了打破算力垄断和回归区块链技术去中心化的初衷,产生多种抗专用集成电路(application

specific integrated circuit,ASIC)性的新型区块链共识协议,如以太坊算法(ethash/etchash)、工作量证明算法(autolykos2)等区块链共识协议,此类区块链共识协议都是基于刚性内存的共识协议算法实现的,共识算法采用一种较难并行处理的哈希函数,并生成占用较大内存的数据集合,在后续计算过程中需要频繁大量随机访问数据集中的数据,整个算法实现过程需要占用大量的内存空间和高频次的内存数据读取。如何评估共识装置的计算性能,是目前需要亟待解决的问题之一。

技术实现思路

[0004]本公开提供一种基于刚性内存的区块链共识算法的性能评估方法、共识装置、终端以及计算机可读存储介质,以解决对区块链共识装置的计算性能评估困难的问题。
[0005]第一方面,本公开提供一种基于刚性内存的区块链共识算法的性能评估方法,包括:获取区块链的区块信息和第一共识装置的硬件参数;根据区块信息,确定第一共识装置的计算内存值,计算内存值为区块链共识算法占用的刚性内存值;根据区块信息和硬件参数,确定第一共识装置对区块链共识算法的计算时长;以及根据计算内存值和计算时长,对第一共识装置的计算性能进行评估。
[0006]在一些可能的实施方式中,根据区块信息,确定第一共识装置的计算内存值,包括:根据区块信息,确定区块链共识算法的内存增长次数;根据内存增长次数,确定区块链共识算法占用的刚性内存值;以及根据刚性内存值与硬件参数,确定第一共识装置的计算内存值。
[0007]在一些可能的实施方式中,根据区块信息和硬件参数,确定第一共识装置对区块链共识算法的计算时长,包括:根据区块信息和硬件参数,进行哈希计算,以确定对区块链共识算法生成的数据集的第一计算时长;根据区块信息和硬件参数,进行随机数值(number used once,NONCE)遍历哈希计算,以确定NONCE遍历哈希计算时长;根据区块信息,进行验证哈希计算,确定验证时长;根据第一计算时长、NONCE遍历哈希计算时长和验证时长,以确定第一共识装置对区块链共识算法的计算时长。
[0008]在一些可能的实施方式中,根据区块信息和硬件参数,进行哈希计算,以确定对区
块链共识算法生成的数据集的第一计算时长,包括:根据区块信息,进行第一哈希计算,以得到种子哈希值与第一哈希计算时长;根据种子哈希值,进行第二哈希计算,以得到第二哈希计算时长;根据区块信息与硬件参数,进行第三哈希计算,以得到第三哈希计算时长;根据第一哈希计算时长、第二哈希计算时长和第三哈希计算时长,确定第一计算时长。
[0009]在一些可能的实施方式中,硬件参数包括线程参数,根据区块信息与硬件参数,进行第三哈希计算,以得到第三哈希计算时长,包括:根据区块信息,进行第三哈希计算,以得到第四哈希计算时长;以及将线程参数除第四哈希计算时长,以得到第三哈希计算时长。
[0010]在一些可能的实施方式中,根据第一哈希计算时长、第二哈希计算时长和第三哈希计算时长,确定第一计算时长包括:通过将第一哈希计算时长、第二哈希计算时长和第三哈希计算时长相加,得到第一计算时长。
[0011]在一些可能的实施方式中,硬件参数包括线程参数,根据区块信息和硬件参数,进行NONCE遍历哈希计算,以确定NONCE遍历哈希计算时长,包括:根据区块信息,对区块链共识算法生成的数据集进行K轮NONCE遍历哈希计算,得到第一遍历时长,其中,K为大于或者等于1的整数;以及通过将线程参数除第一遍历时长,得到NONCE遍历哈希计算时长。
[0012]在一些可能的实施方式中,区块信息包括区块链共识算法中的难度目标值,根据区块信息,进行验证哈希计算,以确定验证时长,包括:对NONCE进行第四哈希计算,得到第五哈希计算时长和哈希结果,哈希结果对应于第四哈希计算;将难度目标值与哈希结果进行比较验证,得到比较验证时长;以及根据第五哈希计算时长和比较验证时长,确定验证时长。
[0013]在一些可能的实施方式中,根据第一计算时长、NONCE遍历哈希计算时长和验证时长,确定第一共识装置对区块链共识算法的计算时长,包括:将根据第一计算时长、NONCE遍历哈希计算时长和验证时长相加,得到第一共识装置对区块链共识算法的计算时长。
[0014]在一些可能的实施方式中,区块信息包括出块平均时长,硬件参数包括第一共识装置的内存值,根据计算内存值和计算时长,对第一共识装置的计算性能进行评估,包括:比较计算内存值与第一共识装置的内存值;比较出块平均时长和计算时长;以及响应于计算内存值大于第一共识装置的内存值,且计算时长小于出块平均时长,确定第一共识装置的硬件参数满足对区块链共识算法的计算需求,并将第一共识装置的硬件参数作为期望硬件配置参数输出。
[0015]在一些可能的实施方式中,将第一共识装置的硬件参数作为期望硬件配置参数输出之后,方法还包括:获取第二共识装置的硬件参数;将期望硬件配置参数除第二共识装置的硬件参数,以得到参数倍数;以及根据参数倍数,确定第二共识装置对区块链共识算法的计算时长。
[0016]在一些可能的实施方式中,方法还包括:根据第二共识装置的硬件参数和第二共识装置对区块链共识算法的计算时长,对第二共识装置的计算性能进行评估。
[0017]第二方面,本公开提供一种共识装置,该装置可以为计算机中的芯片或者片上系统,还可以为计算机中用于实现第一方面及其任一种可能的实施方式方法的功能模块。该装置可以实现第一方面及其任一种可能的实施方式计算机所执行的功能,功能可以通过硬件执行相应的软件实现。硬件或软件包括一个或多个上述功能相应的模块。该装置包括:获取模块,用于获取区块链的区块信息和第一共识装置的硬件参数;第一确定模块,用于根据
区块信息,确定第一共识装置的计算内存值,计算内存值为区块链共识算法占用的刚性内存值;第二确定模块,用于根据区块信息和硬件参数,确定第一共识装置对区块链共识算法的计算时长;评估模块,用于根据计算内存值和计算时长,对第一共识装置的计算性能进行评估。
[0018]第三方面,本公开提供一种终端,包括:用于存储处理器可执行指令的存储器;处理器;其中,处理器被配置为:用于执行可执行指令时,以实现如第一方面及其任一可能的实施方式的方法。
[0019]第四方面,本公开提供一种计算机可读存储介质,可读存储介质存储有可执行程本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种基于刚性内存的区块链共识算法的性能评估方法,其特征在于,所述方法包括:获取区块链的区块信息和第一共识装置的硬件参数;根据所述区块信息,确定所述第一共识装置的计算内存值,所述计算内存值为所述区块链共识算法占用的刚性内存值;根据所述区块信息和所述硬件参数,确定所述第一共识装置对所述区块链共识算法的计算时长;以及根据所述计算内存值和所述计算时长,对所述第一共识装置的计算性能进行评估。2.根据权利要求1所述的方法,其特征在于,所述根据所述区块信息,确定第一共识装置的计算内存值包括:根据所述区块信息,确定区块链共识算法的内存增长次数;根据所述内存增长次数,确定所述区块链共识算法占用的刚性内存值;以及根据所述刚性内存值与所述硬件参数,确定所述第一共识装置的计算内存值。3.根据权利要求1所述的方法,其特征在于,所述根据所述区块信息和所述硬件参数,确定所述第一共识装置对所述区块链共识算法的计算时长包括:根据所述区块信息和所述硬件参数,进行哈希计算,以确定对所述区块链共识算法生成的数据集的第一计算时长;根据所述区块信息和所述硬件参数,进行随机数值NONCE遍历哈希计算,以确定NONCE遍历哈希计算时长;根据所述区块信息,进行验证哈希计算,以确定验证时长;以及根据所述第一计算时长、所述NONCE遍历哈希计算时长和所述验证时长,确定所述第一共识装置对所述区块链共识算法的计算时长。4.根据权利要求3所述的方法,其特征在于,所述根据所述区块信息和所述硬件参数,进行哈希计算,以确定对所述区块链共识算法生成的数据集的第一计算时长包括:根据所述区块信息,进行第一哈希计算,以得到种子哈希值与第一哈希计算时长;根据所述种子哈希值,进行第二哈希计算,以得到第二哈希计算时长;根据所述区块信息与所述硬件参数,进行第三哈希计算,以得到第三哈希计算时长;根据所述第一哈希计算时长、所述第二哈希计算时长和所述第三哈希计算时长,确定所述第一计算时长。5.根据权利要求4所述的方法,其特征在于,所述硬件参数包括线程参数,所述根据所述区块信息与所述硬件参数,进行第三哈希计算,以得到第三哈希计算时长包括:根据所述区块信息,进行第三哈希计算,以得到第四哈希计算时长;以及将所述线程参数除所述第四哈希计算时长,以得到所述第三哈希计算时长。6.根据权利要求4所述的方法,其特征在于,所述根据所述第一哈希计算时长、所述第二哈希计算时长和所述第三哈希计算时长,确定所述第一计算时长包括:通过将所述第一哈希计算时长、所述第二哈希计算时长和所述第三哈希计算时长相加,得到所述第一计算时长。7.根据权利要求3所述的方法,其特征在于,所述硬件参数包括线程参数,所述根据所述区块信息和所述硬件参数,进行NONCE遍历哈希计算,以确定NONCE遍历哈希计算时长,包括:
根据所述区块信息,对所述区块链共识算法生成的数据集进行K轮NONCE遍历哈希计算,得到第一遍历时长,其中,K为大于或者等于1的正整数...

【专利技术属性】
技术研发人员:潘念潘权威张紫祥王文海刘敏
申请(专利权)人:北京比特大陆科技有限公司
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1