CN111708832A - 区块链网络中调整出块难度的方法、计算机介质和区块链网络 - Google Patents
区块链网络中调整出块难度的方法、计算机介质和区块链网络 Download PDFInfo
- Publication number
- CN111708832A CN111708832A CN202010417761.2A CN202010417761A CN111708832A CN 111708832 A CN111708832 A CN 111708832A CN 202010417761 A CN202010417761 A CN 202010417761A CN 111708832 A CN111708832 A CN 111708832A
- Authority
- CN
- China
- Prior art keywords
- block
- difficulty
- average
- adjusting
- time interval
- 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.)
- Granted
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/27—Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Databases & Information Systems (AREA)
- Theoretical Computer Science (AREA)
- Computing Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Exchanges In Wide-Area Networks (AREA)
Abstract
本发明涉及一种区块链网络中调整出块难度的方法,包括基于全网最新区块高度和采样窗口判定是否需要调整下一出块难度。通过计算采样窗口中的区块的平均出块时间间隔以及平均调和难度;基于所述平均出块时间间隔、所述平均调和难度、预期出块时间间隔和调和因子计算下一区块的出块难度。实施本发明的区块链网络中调整出块难度的方法,可以有效的避免区块链网络的全网难度陡然增大或者陡然下降导致全网区块链的出块速度极度不稳定,进而稳定区块链网络性能,提高区块链网络性能的健壮性和适应性。本发明还涉及一种计算机可读存储介质和区块链网络。
Description
技术领域
本发明涉及区块链领域,更具体地说,涉及一种区块链网络中调整出块难度的方法、计算机介质和区块链网络。
背景技术
区块链是一种由多方共同维护,使用密码学保证传输和访问安全,能够实现数据一致存储、难以篡改、防止抵赖的分布式账本技术。在区块链网络当中,经常需要对多份数据进行投票以保证数据的一致性,女巫攻击的发起者可以伪造多个身份,通过获得多数票而获得对最终数据的写入权。为了防止女巫攻击,很多情况下需要去中心化系统当中不同身份的节点在提交数据的同时提交工作量证明。许多著名的公链,例如:比特币,以太坊都采用了工作量证明的方式来防止女巫攻击,保证系统的安全性。
比特币的工作量证明算法,是每当系统产生2016个块之后,对过去产生的2016个区块的出块间隔和预期时间间隔进行调整,调整当前的出块的难度。但是,现有的比特币的难度计算方式在算力稳定的时候可以很好的保证出块速度,但是区块链网络的全网难度陡然增大或者陡然下降时,将会导致全网区块链的出块速度极度不稳定。
发明内容
本发明要解决的技术问题在于,针对现有技术的上述缺陷,提供一种可以稳定区块链网络性能,提高区块链网络性能的健壮性和适应性的区块链网络中调整出块难度的方法、计算机介质和区块链网络。
本发明解决其技术问题所采用的技术方案是:构造一种区块链网络中调整出块难度的方法,包括以下步骤:
S1、基于全网最新区块高度和采样窗口判定是否需要调整下一出块难度,如果是执行步骤S2,否则维持当前出块难度不变;
S2、计算采样窗口中的区块的平均出块时间间隔以及平均调和难度;
S3、基于所述平均出块时间间隔、所述平均调和难度、预期出块时间间隔和调和因子计算下一区块的出块难度。
在本发明所述的区块链网络中调整出块难度的方法中,在所述步骤S1中,当所述全网最新区块高度H小于所述采样窗口N时,维持当前出块难度不变,否则执行步骤S2。
在本发明所述的区块链网络中调整出块难度的方法中,所述步骤S2进一步包括:
S21、采样所述采样窗口N中的N个区块的区块难度集合[D1,D2,…,DN],并采样所述采样窗口N中的N+1个的区块时间戳集合[T0,T1,…,TN];
S23、基于所述区块时间戳集合[T0,T1,…,TN]计算平均出块时间差集合[T1-T0,T2-T1,…,TN-TN-1];
S24、基于所述平均出块时间差集合[T1-T0,T2-T1,…,TN-TN-1]计算所述平均出块时间间隔;
S25、基于所述累积难度倒数计算所述平均调和难度。
在本发明所述的区块链网络中调整出块难度的方法中,在所述步骤S23中,将平均出块时间差集合[T1-T0,T2-T1,…,TN-TN-1]记做[ST1,ST1,…,STN],其中
其中T为预期出块时间。
在本发明所述的区块链网络中调整出块难度的方法中,在所述步骤S24中,所述平均出块时间间隔计算为:
在本发明所述的区块链网络中调整出块难度的方法中,在所述步骤S25中,所述平均调和难度计算为:
在本发明所述的区块链网络中调整出块难度的方法中,在所述步骤S3中,所述下一区块的出块难度计算为:其中A为调和因子DH表示高度为全网最新区块高度H的区块的难度,DH-1表示高度为全网最新区块高度H-1的区块的难度。
本发明解决其技术问题采用的另一技术方案是,构造一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述的区块链网络中调整出块难度的方法。
本发明解决其技术问题采用的再一技术方案是,构造一种区块链网络,包括多个区块链节点,所述区块链节点上存储有计算机程序,所述程序被处理器执行时实现根据所述的区块链网络中调整出块难度的方法。
实施本发明的区块链网络中调整出块难度的方法、计算机可读存储介质和区块链网络,通过采样采样窗口中最近一段时间的区块的平均时间间隔并加以调和因子来调整全网区块的难度,可以有效的避免区块链网络的全网难度陡然增大或者陡然下降导致全网区块链的出块速度极度不稳定,进而稳定区块链网络性能,提高区块链网络性能的健壮性和适应性。
附图说明
下面将结合附图及实施例对本发明作进一步说明,附图中:
图1是本发明的区块链网络中调整出块难度的方法的第一优选实施例的流程图。
具体实施方式
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅仅用以解释本发明,并不用于限定本发明。
本发明涉及一种区块链网络中调整出块难度的方法。首先基于全网最新区块高度和采样窗口判定是否需要调整下一出块难度,如果是执行后续步骤以调整下一区块的出块难度,否则维持当前出块难度不变。通过计算采样窗口中的区块的平均出块时间间隔以及平均调和难度;基于所述平均出块时间间隔、所述平均调和难度、预期出块时间间隔和调和因子计算下一区块的出块难度。实施本发明的区块链网络中调整出块难度的方法,通过采样采样窗口中最近一段时间的区块的平均时间间隔并加以调和因子来调整全网区块的难度,可以有效的避免区块链网络的全网难度陡然增大或者陡然下降导致全网区块链的出块速度极度不稳定,进而稳定区块链网络性能,提高区块链网络性能的健壮性和适应性。
图1是本发明的区块链网络中调整出块难度的方法的第一优选实施例的流程图。如图1所示,在步骤S1中,基于全网最新区块高度和采样窗口判定是否需要调整下一出块难度,如果是执行步骤S2,否则维持当前出块难度不变。
在本发明的优选实施例中,全网最新区块高度为H,采样窗口为N,当前出块难度为Dg,预期出块时间间隔为T,平均计算函数为avg();调和因子为A,A取值如下:
其中DH表示高度为全网最新区块高度H的区块的难度,DH-1表示高度为全网最新区块高度H-1的区块的难度。
当所述全网最新区块高度H小于所述采样窗口N时,维持当前出块难度不变,即取当前出块难度Dg为下一出块难度。
当所述全网最新区块高度H大于或等于所述采样窗口N时,需要调整下一出块难度,执行后续步骤S2和S3。
在步骤S2中,计算采样窗口中的区块的平均出块时间间隔以及平均调和难度。
在本发明的优选实施例中,采样所述采样窗口N中的N个区块的区块难度集合[D1,D2,…,DN],并采样所述采样窗口N中的N+1个的区块时间戳集合[T0,T1,…,TN]。基于所述区块难度集合[D1,D2,…,DN]计算难度倒数集合基于所述难度倒数集合计算累积难度倒数其中i为0-N之间的正整数。
基于所述区块时间戳集合[T0,T1,…,TN]计算平均出块时间差集合[T1-T0,T2-T1,…,TN-TN-1]。S24、基于所述平均出块时间差集合[T1-T0,T2-TN,…,TN-TN-1]计算所述平均出块时间间隔。在本优选实施例中,预期出块时间间隔T取常数120。且如果出块时间间隔大于7*120,则按照7*120计算;如果出块时间间隔小于-6*120,则按照-6*120计算。由此将平均出块时间差集合[T1-T0,T2-T1,…,TN-TN-1]记做[ST1,ST2,…,STN],其中
由此,计算所述平均出块时间间隔计算为:
本发明通过采样采样窗口中最近一段时间的区块的平均时间间隔并加以调和因子来调整全网区块的难度,可以有效的避免区块链网络的全网难度陡然增大或者陡然下降导致全网区块链的出块速度极度不稳定,进而稳定区块链网络性能,提高区块链网络性能的健壮性和适应性。
本发明解决其技术问题采用的另一技术方案是,构造一种计算机可读存储介质,其上存储有计算机程序,所述程序被处理器执行时实现所述的区块链网络中调整出块难度的方法。
本发明解决其技术问题采用的再一技术方案是,构造一种区块链网络,包括多个区块链节点,所述区块链节点上存储有计算机程序,所述程序被处理器执行时实现根据所述的区块链网络中调整出块难度的方法。
因此,本发明可以通过硬件、软件或者软、硬件结合来实现。本发明可以在至少一个计算机系统中以集中方式实现,或者由分布在几个互连的计算机系统中的不同部分以分散方式实现。任何可以实现本发明方法的计算机系统或其它设备都是可适用的。常用软硬件的结合可以是安装有计算机程序的通用计算机系统,通过安装和执行程序控制计算机系统,使其按本发明方法运行。
本发明还可以通过计算机程序产品进行实施,程序包含能够实现本发明方法的全部特征,当其安装到计算机系统中时,可以实现本发明的方法。本文件中的计算机程序所指的是:可以采用任何程序语言、代码或符号编写的一组指令的任何表达式,该指令组使系统具有信息处理能力,以直接实现特定功能,或在进行下述一个或两个步骤之后实现特定功能:a)转换成其它语言、编码或符号;b)以不同的格式再现。
虽然本发明是通过具体实施例进行说明的,本领域技术人员应当明白,在不脱离本发明范围的情况下,还可以对本发明进行各种变换及等同替代。另外,针对特定情形或材料,可以对本发明做各种修改,而不脱离本发明的范围。因此,本发明不局限于所公开的具体实施例,而应当包括落入本发明权利要求范围内的全部实施方式。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (9)
1.一种区块链网络中调整出块难度的方法,其特征在于,包括以下步骤:
S1、基于全网最新区块高度和采样窗口判定是否需要调整下一出块难度,如果是执行步骤S2,否则维持当前出块难度不变;
S2、计算采样窗口中的区块的平均出块时间间隔以及平均调和难度;
S3、基于所述平均出块时间间隔、所述平均调和难度、预期出块时间间隔和调和因子计算下一区块的出块难度。
2.根据权利要求1所述的区块链网络中调整出块难度的方法,其特征在于,在所述步骤S1中,当所述全网最新区块高度H小于所述采样窗口N时,维持当前出块难度不变,否则执行步骤S2。
3.根据权利要求2所述的区块链网络中调整出块难度的方法,其特征在于,所述步骤S2进一步包括:
S21、采样所述采样窗口N中的N个区块的区块难度集合[D1,D2,…,DN],并采样所述采样窗口N中的N+1个的区块时间戳集合[T0,T1,…,TN];
S23、基于所述区块时间戳集合[T0,T1,…,TN]计算平均出块时间差集合[T1-T0,t2-T1,…,TN-TN-1];
S24、基于所述平均出块时间差集合[T1-T0,T2-T1,…,TN-TN-1]计算所述平均出块时间间隔;
S25、基于所述累积难度倒数计算所述平均调和难度。
8.一种计算机可读存储介质,其上存储有计算机程序,其特征在于,所述程序被处理器执行时实现根据权利要求1-7中任意一项权利要求所述的区块链网络中调整出块难度的方法。
9.一种区块链网络,包括多个区块链节点,所述区块链节点上存储有计算机程序,其特征在于,所述程序被处理器执行时实现根据权利要求1-7中任意一项权利要求所述的区块链网络中调整出块难度的方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010417761.2A CN111708832B (zh) | 2020-05-18 | 2020-05-18 | 区块链网络中调整出块难度的方法、计算机介质和区块链网络 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010417761.2A CN111708832B (zh) | 2020-05-18 | 2020-05-18 | 区块链网络中调整出块难度的方法、计算机介质和区块链网络 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN111708832A true CN111708832A (zh) | 2020-09-25 |
CN111708832B CN111708832B (zh) | 2023-06-06 |
Family
ID=72537868
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010417761.2A Active CN111708832B (zh) | 2020-05-18 | 2020-05-18 | 区块链网络中调整出块难度的方法、计算机介质和区块链网络 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111708832B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285860A (zh) * | 2021-10-30 | 2022-04-05 | 中国银联股份有限公司 | 一种调整区块生成难度的方法、装置、设备及存储介质 |
CN118152448A (zh) * | 2024-01-04 | 2024-06-07 | 中科链安(北京)科技有限公司 | 一种基于区块时间的区块高度查询方法及装置 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296191A (zh) * | 2016-08-13 | 2017-01-04 | 深圳市樊溪电子有限公司 | 一种区块链功耗感知的PoW共识机制 |
CN107733651A (zh) * | 2017-09-11 | 2018-02-23 | 联动优势科技有限公司 | 一种区块链生成方法、节点及系统 |
CN108416593A (zh) * | 2018-03-20 | 2018-08-17 | 杨鉴 | 一种基于网络分散度证明的区块链共识方法和系统 |
CN108876361A (zh) * | 2017-05-12 | 2018-11-23 | 李平 | 区块链系统、区块生成方法及计算机可读存储介质 |
CN110096359A (zh) * | 2019-04-15 | 2019-08-06 | 华南理工大学 | 一种快速收敛的区块链工作量证明共识难度调整方法 |
WO2019148351A1 (zh) * | 2018-01-31 | 2019-08-08 | 华为技术有限公司 | 一种信息处理方法及区块链节点 |
US20190306190A1 (en) * | 2018-03-30 | 2019-10-03 | Konica Minolta Laboratory U.S.A., Inc. | Method for adjusting mining difficulty of a cryptocurrency blockchain system by monitoring malicious forks and implementing a miners blockchain |
US20200044854A1 (en) * | 2018-08-03 | 2020-02-06 | National Taiwan University | Estimable proof-of-work for blockchain |
-
2020
- 2020-05-18 CN CN202010417761.2A patent/CN111708832B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106296191A (zh) * | 2016-08-13 | 2017-01-04 | 深圳市樊溪电子有限公司 | 一种区块链功耗感知的PoW共识机制 |
CN108876361A (zh) * | 2017-05-12 | 2018-11-23 | 李平 | 区块链系统、区块生成方法及计算机可读存储介质 |
CN107733651A (zh) * | 2017-09-11 | 2018-02-23 | 联动优势科技有限公司 | 一种区块链生成方法、节点及系统 |
WO2019148351A1 (zh) * | 2018-01-31 | 2019-08-08 | 华为技术有限公司 | 一种信息处理方法及区块链节点 |
CN108416593A (zh) * | 2018-03-20 | 2018-08-17 | 杨鉴 | 一种基于网络分散度证明的区块链共识方法和系统 |
US20190306190A1 (en) * | 2018-03-30 | 2019-10-03 | Konica Minolta Laboratory U.S.A., Inc. | Method for adjusting mining difficulty of a cryptocurrency blockchain system by monitoring malicious forks and implementing a miners blockchain |
US20200044854A1 (en) * | 2018-08-03 | 2020-02-06 | National Taiwan University | Estimable proof-of-work for blockchain |
CN110096359A (zh) * | 2019-04-15 | 2019-08-06 | 华南理工大学 | 一种快速收敛的区块链工作量证明共识难度调整方法 |
Non-Patent Citations (1)
Title |
---|
朱烨辰: "数字货币论—经济、技术与规制视角的研究", 《中国博士学位论文全文数据库经济与管理科学辑》 * |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114285860A (zh) * | 2021-10-30 | 2022-04-05 | 中国银联股份有限公司 | 一种调整区块生成难度的方法、装置、设备及存储介质 |
CN114285860B (zh) * | 2021-10-30 | 2023-07-07 | 中国银联股份有限公司 | 一种调整区块生成难度的方法、装置、设备及存储介质 |
CN118152448A (zh) * | 2024-01-04 | 2024-06-07 | 中科链安(北京)科技有限公司 | 一种基于区块时间的区块高度查询方法及装置 |
CN118152448B (zh) * | 2024-01-04 | 2024-09-13 | 中科链安(北京)科技有限公司 | 一种基于区块时间的区块高度查询方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
CN111708832B (zh) | 2023-06-06 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Tabbara et al. | Input–output stability of networked control systems with stochastic protocols and channels | |
CN111708832A (zh) | 区块链网络中调整出块难度的方法、计算机介质和区块链网络 | |
US11899689B2 (en) | Blockchain-based data synchronization method, apparatus, and computer-readable storage medium | |
US20220067063A1 (en) | Apparatus and method for adaptively managing sharded blockchain network based on deep q network | |
CN113114472A (zh) | 一种基于报文哈希链的认证方法及系统 | |
CN109787867B (zh) | 区块生成方法、装置、计算机设备和存储介质 | |
CN113032157B (zh) | 一种服务器自动智能扩缩容方法及系统 | |
Brunner et al. | Robust event-triggered MPC for constrained linear discrete-time systems with guaranteed average sampling rate | |
US8315844B2 (en) | Method, computer program product, and apparatus for comparing traffic pattern models of a complex communication system | |
Braverman et al. | High-order steady-state diffusion approximations | |
CN114866563A (zh) | 扩容方法、装置、系统和存储介质 | |
CN115755623A (zh) | 一种基于事件触发中间观测器的故障容错控制方法 | |
Seike et al. | Fork rate-based analysis of the longest chain growth time interval of a pow blockchain | |
Fraigniaud et al. | On the bit communication complexity of randomized rumor spreading | |
CN114925313A (zh) | 一种基于分布式链路追踪动态采样率的自适应方法及系统 | |
CN109672227B (zh) | 一种电力系统经济运行调度方法 | |
CN111667264A (zh) | 区块数据的传输方法、装置、电子设备及非易失性计算机存储介质 | |
WO2020172881A1 (zh) | 区块生成方法、装置、计算机设备和存储介质 | |
WO2022063013A1 (zh) | 一种区块链中选择目标节点的方法及装置 | |
CN111709049B (zh) | 区块链系统中预防时间戳攻击的方法、计算机可读存储介质和区块链系统 | |
CN111539817B (zh) | 在区块链当中防止时间戳劫持的线性难度计算方法、计算机可读存储介质和区块链网络 | |
CN111539818B (zh) | 在区块链中自适应调整采样窗口的方法、计算机可读存储介质和区块链网络 | |
Chen et al. | Event-triggered stabilization of uncertain scalar switched linear systems with bounded network delay | |
CN111190831B (zh) | 区块链共识算法的鲁棒性分析方法及区块链系统 | |
Abolhassani et al. | Optimal Push and Pull-Based Edge Caching For Dynamic Content |
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 |