CN115562957A - 基于概率密度函数的工作量证明机制仿真方法、装置、介质及终端 - Google Patents

基于概率密度函数的工作量证明机制仿真方法、装置、介质及终端 Download PDF

Info

Publication number
CN115562957A
CN115562957A CN202211005140.9A CN202211005140A CN115562957A CN 115562957 A CN115562957 A CN 115562957A CN 202211005140 A CN202211005140 A CN 202211005140A CN 115562957 A CN115562957 A CN 115562957A
Authority
CN
China
Prior art keywords
simulation
block
calculation
time
final
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.)
Pending
Application number
CN202211005140.9A
Other languages
English (en)
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.)
Shenzhen Graduate School Harbin Institute of Technology
Original Assignee
Shenzhen Graduate School Harbin Institute of Technology
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 Shenzhen Graduate School Harbin Institute of Technology filed Critical Shenzhen Graduate School Harbin Institute of Technology
Priority to CN202211005140.9A priority Critical patent/CN115562957A/zh
Publication of CN115562957A publication Critical patent/CN115562957A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/145Network analysis or design involving simulating, designing, planning or modelling of a network
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L41/00Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
    • H04L41/14Network analysis or design
    • H04L41/142Network analysis or design using statistical or mathematical methods
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • H04L9/3239Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions involving non-keyed hash functions, e.g. modification detection codes [MDCs], MD5, SHA or RIPEMD

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Mathematical Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Algebra (AREA)
  • Mathematical Optimization (AREA)
  • Mathematical Physics (AREA)
  • Probability & Statistics with Applications (AREA)
  • Pure & Applied Mathematics (AREA)
  • Physics & Mathematics (AREA)
  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本发明公开了一种基于概率密度函数的工作量证明机制仿真方法、装置、介质及终端,方法包括:查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息;将所述仿真参数信息输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号;返回所述最终仿真出块时间与最终出块节点序号;本发明采用上述方法后利用工作量证明机制本身具有的概率特性,实现对共识算法的仿真,解决了现有仿真方法进行大量重复哈希计算的问题,只需要一次计算即可导出仿真出块时间,大大减少仿真环境中的资源消耗,最终实现对任意难度与任意算力情况下区块链网络的运行状态的仿真,并实现高保真的工作量证明算法出块时间仿真。

Description

基于概率密度函数的工作量证明机制仿真方法、装置、介质及 终端
技术领域
本发明涉及区块链领域,尤其涉及一种基于概率密度函数的工作量证明机制仿真方法、装置、介质及终端。
背景技术
真实区块链系统进行功能数据分析和层级模块分解后将研究内容划分为共识层、网络层、存储层以及合约层四个层级,在所有四个层次的仿真工作中,共识算法的仿真是完成整个仿真工作的核心内容。目前正在运行的主流公有链系统都是基于工作量证明机制,仿真环境需要测试在任意算力场景下区块链网络的安全性。具体而言,需要能够对节点算力进行动态调整,并模拟出任意算力水平下所需的出块时间。但是在仿真环境中由于单机性能的限制和对大量节点的仿真要求,不可能真实运行各类工作量证明算法。
现有的区块链仿真系统,为了达到对工作量证明机制仿真的目的,一般采用直接运行真实工作量证明算法的方法。直接运行工作量证明算法将会让大量的仿真节点重复进行哈希计算,对仿真宿主环境带来极大的性能压力。
此外,由于宿主环境单机性能的限制,所有仿真节点算力之和上限为本地实际算力。不能实现对真实场景算力水平的仿真,难以模拟出网络中算力的大幅波动,对应导致仿真环境的应用价值受限,不利于验证区块链系统的难度调整算法和极端场景下区块链系统的安全性。
发明内容
鉴于上述现有技术的不足,本申请的目的在于提供一种基于概率密度函数的工作量证明机制仿真方法、装置、介质及终端,旨在解决在现有区块链仿真系统效率低下,造成算力资源浪费,不能实现对真实场景算力水平仿真的问题。
为解决上述技术问题,本申请实施例第一方面提供了一种基于概率密度函数的工作量证明机制仿真方法,所述方法包括:
一种基于概率密度函数的工作量证明机制仿真方法,包括:
查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息;
将所述仿真参数信息输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号;
返回所述最终仿真出块时间与最终出块节点序号。
作为进一步改进技术方案,所述仿真参数信息包括区块难度数值和哈希速率信息。
作为进一步改进技术方案,所述查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息包括:
查询所述新区块的参数信息,得到所述区块难度数值;
查询所述仿真网络中n个节点的仿真算力,得到n个节点的所述哈希速率信息。
作为进一步改进技术方案,所述将所述仿真参数信息输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号包括:
将所述仿真参数信息输入到概率仿真算法中,将初始出块时间设置为无穷大;
遍历n个节点,通过概率仿真算法生成仿真节点的计算次数,基于所述仿真节点的计算次数得到仿真出块时间,比较仿真出块时间,得到最终仿真出块时间及最终出块节点序号。
作为进一步改进技术方案,所述遍历n个节点,通过概率仿真算法生成仿真节点的计算次数,基于所述仿真节点的计算次数得到仿真出块时间包括:
基于每个节点对应的所述区块难度数值得到每个节点对应的帕斯卡分布参数,依次将每个节点对应的所述帕斯卡分布参数输入到概率仿真公式中进行计算,得到每个节点对应的计算结果,取每个所述计算结果的倒数得到n个节点分别对应的仿真节点的计算次数,其中,区块难度数值为d,所述帕斯卡分布参数包括哈希计算失败的计算次数r、哈希计算成功的计算次数k和每次哈希计算成功的概率p,r=2,k=1,p=1/d;
基于n个节点对应的所述仿真节点的计算次数和n个节点对应的所述哈希速率信息得到n个节点对应的所述仿真出块时间。
作为进一步改进技术方案,所述概率仿真公式为帕斯卡分布公式,所述帕斯卡分布公式如下:
Figure BDA0003808922010000031
其中,r为哈希计算失败的计算次数,k为哈希计算成功的计算次数,p为每次哈希计算成功的概率。
作为进一步改进技术方案,所述比较仿真出块时间,得到最终仿真出块时间及最终出块节点序号包括:
将初始的所述仿真出块时间与初始出块时间进行比较,得到初始的所述仿真出块时间小于初始出块时间的结论,将所述初始的所述仿真出块时间更新为当前最小值;
将当前所述仿真出块时间与当前最小值进行比较,若得到当前所述仿真出块时间小于当前最小值的结论,则将当前所述仿真出块时间更新为当前最小值,遍历完n个节点后得到最小的仿真出块时间;
将最小的仿真出块时间作为所述最终仿真出块时间,将最小的仿真出块时间对应的出块节点序号作为最终出块节点序号。
本申请实施例第二方面提供了一种基于概率密度函数的工作量证明机制仿真装置,包括:
信息获取模块,用于查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息;
计算模块,用于将所述仿真参数信息输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号;
返回信息模块,用于返回所述最终仿真出块时间与最终出块节点序号。
本申请实施例第三方面提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上任一所述的基于概率密度函数的工作量证明机制仿真方法中的步骤。
本申请实施例第四方面提供了一种终端设备,其包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如上任一所述的基于概率密度函数的工作量证明机制仿真方法中的步骤。
有益效果:相较于现有技术本发明的基于概率密度函数的工作量证明机制仿真方法包括,查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息;将所述仿真参数信息输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号;返回所述最终仿真出块时间与最终出块节点序号;本发明采用上述方法后利用工作量证明机制本身具有的概率特性,实现对共识算法的仿真,解决了现有仿真方法进行大量重复哈希计算的问题,只需要一次计算即可导出仿真出块时间,大大减少仿真环境中的资源消耗,最终实现对任意难度与任意算力情况下区块链网络的运行状态的仿真,并实现高保真的工作量证明算法出块时间仿真。
附图说明
图1是本发明的基于概率密度函数的工作量证明机制仿真方法的流程图。
图2是本发明提供的终端设备的结构原理图。
图3是本发明提供的装置结构框图。
图4是本发明的基于概率密度函数的工作量证明机制仿真方法的运行流程图。
本发明目的的实现、功能特点及优点将结合实施例,参照附图做进一步说明。
具体实施方式
为了便于理解本申请,下面将参照相关附图对本申请进行更全面的描述。附图中给出了本申请的较佳实施方式。但是,本申请可以以许多不同的形式来实现,并不限于本文所描述的实施方式。相反地,提供这些实施方式的目的是使对本申请的公开内容理解的更加透彻全面。
除非另有定义,本文所使用的所有的技术和科学术语与属于本申请的技术领域的技术人员通常理解的含义相同。本文中在本申请的说明书中所使用的术语只是为了描述具体的实施方式的目的,不是旨在于限制本申请。
发明人经过研究发现,现有技术存在以下问题:
(1)区块链是一条线性长链,由若干个区块串联起来。区块链安全稳定运行依赖于共识算法的安全稳定运行。共识算法是指在分布式场景中,多个节点为了达成相同的数据状态而运行的一种分布式算法。在分布式场景中,可能出现网络丢包、时钟漂移、节点宕机、节点作恶等等故障情况,共识算法需要能够容忍这些错误,保证多个节点取得相同的数据状态;
每个新区块上链之前,都经过被广播至网络中所有节点,现有各个节点在接收到区块内容后,会执行共识算法校验该区块的合法性,共识算法通常为仿真方法;在传统的仿真方法中,工作量证明机制将进行反复不断的哈希计算,直到求解出满足区块难度的哈希值,供其他节点进行校验,由于这一过程需要重复数以亿次的循环计算,所以这种方法实现的仿真节点效率极低,对仿真宿主环境带来极大的性能压力;
此外,由于宿主环境单机性能的限制,所有仿真节点算力之和上限为本地实际算力,不能实现对真实场景算力水平的仿真,难以模拟出网络中算力的大幅波动,对应导致仿真环境的应用价值受限,不利于验证区块链系统的难度调整算法和极端场景下区块链系统的安全性。
为了解决上述问题,下面结合附图,详细说明本申请的各种非限制性实施方式。
如图1所示,本申请实施例提供的一种基于概率密度函数的工作量证明机制仿真方法,包括以下步骤:
S1,查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息;
具体的,仿真环境上一区块成功上链后会启动新区块出块过程,并通知全局调度器开始出块,全局调度器接收出块任务后,查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息。
其中,所述仿真参数信息包括区块难度数值和哈希速率信息。
其中,所述查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息包括以下步骤:
S101,查询所述新区块的参数信息,得到所述区块难度数值;
S102,查询所述仿真网络中n个节点的仿真算力,得到n个节点的所述哈希速率信息。
具体的,典型区块链系统头部信息中包含的字段主要有父区块哈希、区块哈希、区块高度,一个区块最终上链主要包括:生成、广播、校验、上链四个步骤,区块头中的额外标记在生成阶段产生,其他节点在校验阶段验证该区块是否合法。
通过指定区块头中的额外标记为8字节数组的字段,在仿真出块阶段该8字节数组的字段用于记录节点仿真算力,当进入区块上链前的校验阶段时其余节点将通过此8字节数组的字段检查新区块是否合法。
通过查询所述仿真网络中n个节点的仿真算力,可以得到n个节点的哈希速率信息,通过查询新区块的参数信息,能够得到区块难度数值。
S2,将所述仿真参数信息输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号;
具体的,仿真参数信息包括n个节点的哈希速率信息和n个节点对应的区块难度数值,将n个节点的哈希速率信息和n个节点对应的区块难度数值输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号。
其中,所述将所述仿真参数信息输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号包括以下步骤:
S201,将所述仿真参数信息输入到概率仿真算法中,将初始出块时间设置为无穷大;
S202,遍历n个节点,通过概率仿真算法生成仿真节点的计算次数,基于所述仿真节点的计算次数得到仿真出块时间,比较仿真出块时间,得到最终仿真出块时间及最终出块节点序号。
所述遍历n个节点,通过概率仿真算法生成仿真节点的计算次数,基于所述仿真节点的计算次数得到仿真出块时间具体包括以下步骤:
基于每个节点对应的所述区块难度数值得到每个节点对应的帕斯卡分布参数,依次将每个节点对应的所述帕斯卡分布参数输入到概率仿真公式中进行计算,得到每个节点对应的计算结果,取每个所述计算结果的倒数得到n个节点分别对应的仿真节点的计算次数,其中,区块难度数值为d,所述帕斯卡分布参数包括哈希计算失败的计算次数r、哈希计算成功的计算次数k和每次哈希计算成功的概率p,r=2,k=1,p=1/d;
基于n个节点对应的所述仿真节点的计算次数和n个节点对应的所述哈希速率信息得到n个节点对应的所述仿真出块时间。
具体的,通过仿真参数信息中的每个节点对应的区块难度数值d可以通过公式p=1/d计算得到每次哈希计算成功的概率p,其次,哈希计算失败的计算次数r和哈希计算成功的计算次数k均为常数2和1不需要计算,帕斯卡分布参数包括哈希计算失败的计算次数r、哈希计算成功的计算次数k和每次哈希计算成功的概率p,将帕斯卡分布参数输入到概率仿真公式中进行计算,得到每个节点对应的计算结果,取每个所述计算结果的倒数得到n个节点分别对应的仿真节点的计算次数,得到仿真节点的计算次数后与此节点对应的哈希速率相除即可得到对应的仿真出块时间,其中,哈希速率信息中包含有n个节点对应的哈希速率。
其中,所述比较仿真出块时间,得到最终仿真出块时间及最终出块节点序号具体包括以下步骤:
将初始的所述仿真出块时间与初始出块时间进行比较,得到初始的所述仿真出块时间小于初始出块时间的结论,将所述初始的所述仿真出块时间更新为当前最小值;
将当前所述仿真出块时间与当前最小值进行比较,若得到当前所述仿真出块时间小于当前最小值的结论,则将当前所述仿真出块时间更新为当前最小值,遍历完n个节点后得到最小的仿真出块时间;
将最小的仿真出块时间作为所述最终仿真出块时间,将最小的仿真出块时间对应的出块节点序号作为最终出块节点序号,每个节点都有自己的一个节点序号,设节点序号为i,第一个节点序号i为1。
具体的,将初始出块时间设置为无穷大,将计算得到第一个节点对应的仿真出块时间定为初始的仿真出块时间,首先将初始的仿真出块时间与初始出块时间进行比较,得到初始的所述仿真出块时间小于初始出块时间的结论,将所述初始的所述仿真出块时间更新为当前最小值,由于初始出块时间为无穷大,因此,初始的仿真出块时间必然小于初始出块时间;
将后续当前计算得到节点对应的仿真出块时间定为当前仿真出块时间,将当前所述仿真出块时间与当前最小值进行比较,若得到当前所述仿真出块时间小于当前最小值的结论,则将当前所述仿真出块时间更新为当前最小值,遍历完n个节点后得到最小的仿真出块时间,如:第二个节点序号i为2,第二个节点对应的仿真出块时间与当前最小值进行比较,如果第二个节点对应的仿真出块时间小于当前最小值,则将第二个节点对应的仿真出块时间更新为当前最小值,第三个节点序号i为3,第三个节点对应的仿真出块时间接着与当前最小值进行比较,设所有节点的个数为n,直到遍历完n个节点后得到最小的仿真出块时间,也就是节点序号i=n时,最终找到最小的仿真出块时间,将最小的仿真出块时间作为所述最终仿真出块时间,将该最小的仿真出块时间对应的出块节点序号作为最终出块节点序号。
其中,所述概率仿真公式为帕斯卡分布公式,所述帕斯卡分布公式如下:
Figure BDA0003808922010000091
公式中,r为哈希计算失败的计算次数,k为哈希计算成功的计算次数,p为每次哈希计算成功的概率。
具体的,帕斯卡分布公式的原理为:
单个节点计算哈希值并判断是否满足区块难度的过程可以被视作离散型随机变量,假设当前哈希算法的输出结果分布均匀,则每一次计算过程出块的可能性相等,因此单个节点的计算过程满足二项分布。将n次计算过程视为随机变量X1,X2,...,Xn,这些随机变量之间独立同分布,并且具有有限的数学期望和方差:E(Xi)=μ,D(xi)=δ2(i=1,2...),则其分布函数为公式(1)所示:
公式(1):
Figure BDA0003808922010000101
公式(1)中n为随机变量数量,x为随机变量之和,δ为随机变量的标准差,μ,为随机变量的数学期望;
由于单个节点的计算次数十分巨大,因此根据中心极限定理上式满足公式(2)。
公式(2):
Figure BDA0003808922010000102
公式(3)说明,当n很大时,随机变量Yn近似服从标准正态分布N(0,1)。因此公式(4)说明出块行为近似服从正态分布N(nμ,nδ2),设区块难度为d,节点算力为c,出块所需时间为t,则有μ=1d,δ2=1d(1-1d),n=ct。最终单个节点的出块行为与出块时间满足正态分布N(ctd,ct(d-1)d2),利用此结论可以计算固定时间内各个节点出块数量的分布。
公式(3):
Figure BDA0003808922010000103
公式(4):
Figure BDA0003808922010000104
因此,下一次出块所需的计算次数可以使用帕斯卡分布来计算。公式(5)为帕斯卡分布公式,仿真环境即为k=1且p=1/d的情况。得到计算次数后与此节点算力相除即可得到仿真出块时间。
公式(5):
Figure BDA0003808922010000111
公式中,r为哈希计算失败的计算次数,k为哈希计算成功的计算次数,p为每次哈希计算成功的概率。
综上所述,如算法1所示利用区块难度,节点的模拟算力以及帕斯卡分布的概率密度函数就可以计算出单一节点的出块时间,在整个仿真网络中依次计算出所有节点的出块时间,通过比较得出用时最小的节点,就将其视为记账节点,封装区块后当前出块过程结束进入下一区块的出块过程。
算法1:
Figure BDA0003808922010000112
S3,返回所述最终仿真出块时间与最终出块节点序号。
具体的,计算结束后向全局调度器返回最终仿真出块时间与最终出块节点序号。
基于上述基于概率密度函数的工作量证明机制仿真方法,本实施例提供了一种基于概率密度函数的工作量证明机制仿真装置,包括:
信息获取模块1,用于查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息;
计算模块2,用于将所述仿真参数信息输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号;
返回信息模块3,用于返回所述最终仿真出块时间与最终出块节点序号。
此外值得说明,本实施例提供的基于基于概率密度函数的工作量证明机制仿真装置的工作过程与上述基于概率密度函数的工作量证明机制仿真方法的工作过程相同,具体可以参照基于概率密度函数的工作量证明机制仿真方法的工作过程,这里就不再赘述。
基于上述基于概率密度函数的工作量证明机制仿真方法,本实施例提供了一种计算机可读存储介质,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如上述实施例所述的基于概率密度函数的工作量证明机制仿真方法中的步骤。
如图2所示,基于上述基于概率密度函数的工作量证明机制仿真方法,本申请还提供了一种终端设备,其包括至少一个处理器(processor)20;显示屏21;以及存储器(memory)22,还可以包括通信接口(Communications Interface)23和总线24。其中,处理器20、显示屏21、存储器22和通信接口23可以通过总线24完成相互间的通信。显示屏21设置为显示初始设置模式中预设的用户引导界面。通信接口23可以传输信息。处理器20可以调用存储器22中的逻辑指令,以执行上述实施例中的方法。
此外,上述的存储器22中的逻辑指令可以通过软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。
存储器22作为一种计算机可读存储介质,可设置为存储软件程序、计算机可执行程序,如本公开实施例中的方法对应的程序指令或模块。处理器20通过运行存储在存储器22中的软件程序、指令或模块,从而执行功能应用以及数据处理,即实现上述实施例中的方法。
存储器22可包括存储程序区和存储数据区,其中,存储程序区可存储操作系统、至少一个功能所需的应用程序;存储数据区可存储根据终端设备的使用所创建的数据等。此外,存储器22可以包括高速随机存取存储器,还可以包括非易失性存储器。例如,U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等多种可以存储程序代码的介质,也可以是暂态存储介质。
相较于现有技术本发明的基于概率密度函数的工作量证明机制仿真方法包括,查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息;将所述仿真参数信息输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号;返回所述最终仿真出块时间与最终出块节点序号;本发明采用上述方法后利用工作量证明机制本身具有的概率特性,实现对共识算法的仿真,解决了现有仿真方法进行大量重复哈希计算的问题,只需要一次计算即可导出仿真出块时间,大大减少仿真环境中的资源消耗,最终实现对任意难度与任意算力情况下区块链网络的运行状态的仿真,并实现高保真的工作量证明算法出块时间仿真。
应当理解的是,本发明的应用不限于上述的举例,对本领域普通技术人员来说,可以根据上述说明加以改进或变换,所有这些改进和变换都应属于本发明所附权利要求的保护范围。
当然,本发明上述实施例的描述较为细致,但不能因此而理解为对本发明的保护范围的限制,本发明还可有其它多种实施方式,基于本实施方式,本领域的普通技术人员在没有做出任何创造性劳动的前提下所获得其他实施方式,都属于本发明所保护的范围,本发明的保护范围以所附权利要求书为准。

Claims (10)

1.一种基于概率密度函数的工作量证明机制仿真方法,其特征在于,包括:
查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息;
将所述仿真参数信息输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号;
返回所述最终仿真出块时间与最终出块节点序号。
2.根据权利要求1所述的一种基于概率密度函数的工作量证明机制仿真方法,其特征在于,所述仿真参数信息包括区块难度数值和哈希速率信息。
3.根据权利要求2所述的一种基于概率密度函数的工作量证明机制仿真方法,其特征在于,所述查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息包括:
查询所述新区块的参数信息,得到所述区块难度数值;
查询所述仿真网络中n个节点的仿真算力,得到n个节点的所述哈希速率信息。
4.根据权利要求3所述的一种基于概率密度函数的工作量证明机制仿真方法,其特征在于,所述将所述仿真参数信息输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号包括:
将所述仿真参数信息输入到概率仿真算法中,将初始出块时间设置为无穷大;
遍历n个节点,通过概率仿真算法生成仿真节点的计算次数,基于所述仿真节点的计算次数得到仿真出块时间,比较仿真出块时间,得到最终仿真出块时间及最终出块节点序号。
5.根据权利要求4所述的一种基于概率密度函数的工作量证明机制仿真方法,其特征在于,所述遍历n个节点,通过概率仿真算法生成仿真节点的计算次数,基于所述仿真节点的计算次数得到仿真出块时间包括:
基于每个节点对应的所述区块难度数值得到每个节点对应的帕斯卡分布参数,依次将每个节点对应的所述帕斯卡分布参数输入到概率仿真公式中进行计算,得到每个节点对应的计算结果,取每个所述计算结果的倒数得到n个节点分别对应的仿真节点的计算次数,其中,区块难度数值为d,所述帕斯卡分布参数包括哈希计算失败的计算次数r、哈希计算成功的计算次数k和每次哈希计算成功的概率p,r=2,k=1,p=1/d;
基于n个节点对应的所述仿真节点的计算次数和n个节点对应的所述哈希速率信息得到n个节点对应的所述仿真出块时间。
6.根据权利要求5所述的一种基于概率密度函数的工作量证明机制仿真方法,其特征在于,所述概率仿真公式为帕斯卡分布公式,所述帕斯卡分布公式如下:
Figure FDA0003808922000000021
其中,r为哈希计算失败的计算次数,k为哈希计算成功的计算次数,p为每次哈希计算成功的概率。
7.根据权利要求6所述的一种基于概率密度函数的工作量证明机制仿真方法,其特征在于,所述比较仿真出块时间,得到最终仿真出块时间及最终出块节点序号包括:
将初始的所述仿真出块时间与初始出块时间进行比较,得到初始的所述仿真出块时间小于初始出块时间的结论,将所述初始的所述仿真出块时间更新为当前最小值;
将当前所述仿真出块时间与当前最小值进行比较,若得到当前所述仿真出块时间小于当前最小值的结论,则将当前所述仿真出块时间更新为当前最小值,遍历完n个节点后得到最小的仿真出块时间;
将最小的仿真出块时间作为所述最终仿真出块时间,将最小的仿真出块时间对应的出块节点序号作为最终出块节点序号。
8.一种基于概率密度函数的工作量证明机制仿真装置,其特征在于,包括:
信息获取模块,用于查询新区块的参数信息和仿真网络节点信息,得到仿真参数信息;
计算模块,用于将所述仿真参数信息输入到概率仿真算法中进行计算,得到最终仿真出块时间与最终出块节点序号;
返回信息模块,用于返回所述最终仿真出块时间与最终出块节点序号。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有一个或者多个程序,所述一个或者多个程序可被一个或者多个处理器执行,以实现如权利要求1-7任意一项所述的基于概率密度函数的工作量证明机制仿真方法中的步骤。
10.一种终端设备,其特征在于,包括:处理器、存储器及通信总线;所述存储器上存储有可被所述处理器执行的计算机可读程序;
所述通信总线实现处理器和存储器之间的连接通信;
所述处理器执行所述计算机可读程序时实现如权利要求1-7任意一项所述的基于概率密度函数的工作量证明机制仿真方法中的步骤。
CN202211005140.9A 2022-08-22 2022-08-22 基于概率密度函数的工作量证明机制仿真方法、装置、介质及终端 Pending CN115562957A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202211005140.9A CN115562957A (zh) 2022-08-22 2022-08-22 基于概率密度函数的工作量证明机制仿真方法、装置、介质及终端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202211005140.9A CN115562957A (zh) 2022-08-22 2022-08-22 基于概率密度函数的工作量证明机制仿真方法、装置、介质及终端

Publications (1)

Publication Number Publication Date
CN115562957A true CN115562957A (zh) 2023-01-03

Family

ID=84740043

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202211005140.9A Pending CN115562957A (zh) 2022-08-22 2022-08-22 基于概率密度函数的工作量证明机制仿真方法、装置、介质及终端

Country Status (1)

Country Link
CN (1) CN115562957A (zh)

Similar Documents

Publication Publication Date Title
US20170270035A1 (en) Method, device, and computer program product for testing code
Sjöberg et al. Initializing Wiener–Hammerstein models based on partitioning of the best linear approximation
Sheng et al. Distributed resilient filtering for time-varying systems over sensor networks subject to Round-Robin/stochastic protocol
CN103699440A (zh) 一种云计算平台系统为任务分配资源的方法和装置
CN113536081A (zh) 基于人工智能的数据中心数据管理方法及系统
CN111061735A (zh) 一种基于单链区块链的扩容方法及装置
CN111158680A (zh) 一种页面构建的方法、装置、设备及存储介质
CN110263059A (zh) Spark-Streaming中间数据分区方法、装置、计算机设备和存储介质
EP3876092B1 (en) Method for executing matrix multiplication, circuit and soc
US20090254319A1 (en) Method and system for numerical simulation of a multiple-equation system of equations on a multi-processor core system
CN111078573A (zh) 一种测试报文的生成方法及装置
CN115562957A (zh) 基于概率密度函数的工作量证明机制仿真方法、装置、介质及终端
CN105447003A (zh) 一种参数集合生成方法及设备
CN114629767A (zh) 电力调度网络仿真方法、装置、计算机设备和存储介质
CN112699648B (zh) 数据处理方法及装置
CN112416488B (zh) 一种用户画像实现的方法、装置、计算机设备及计算机可读存储介质
CN108763788B (zh) 一种信息物理系统的仿真方法和装置
CN109710314B (zh) 一种基于图结构分布式并行模式构建图的方法
Huang et al. Fundamental limits of distributed linearly separable computation under cyclic assignment
CN111667123A (zh) 一种电力负荷预测中应用多重插补补充缺失值的方法
CN105227401A (zh) 一种一致性程度的评估方法及系统
CN113392101A (zh) 构建横向联邦树的方法、主服务器、业务平台和系统
CN113591275B (zh) modelica模型校准的方法、装置和设备
EP4229489B1 (en) Co-simulation, computer system
CN117591244A (zh) 基于机器学习平台的模型构建方法、装置及电子设备

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