CN111813852B - 一种区块链网络的分叉控制方法和装置 - Google Patents

一种区块链网络的分叉控制方法和装置 Download PDF

Info

Publication number
CN111813852B
CN111813852B CN202010475257.8A CN202010475257A CN111813852B CN 111813852 B CN111813852 B CN 111813852B CN 202010475257 A CN202010475257 A CN 202010475257A CN 111813852 B CN111813852 B CN 111813852B
Authority
CN
China
Prior art keywords
blockchain
bifurcation
state
node
block
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
CN202010475257.8A
Other languages
English (en)
Other versions
CN111813852A (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.)
SHANGHAI SHENTIE INFORMATION ENGINEERING CO LTD
Original Assignee
SHANGHAI SHENTIE INFORMATION ENGINEERING CO LTD
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 SHANGHAI SHENTIE INFORMATION ENGINEERING CO LTD filed Critical SHANGHAI SHENTIE INFORMATION ENGINEERING CO LTD
Priority to CN202010475257.8A priority Critical patent/CN111813852B/zh
Publication of CN111813852A publication Critical patent/CN111813852A/zh
Application granted granted Critical
Publication of CN111813852B publication Critical patent/CN111813852B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/27Replication, distribution or synchronisation of data between databases or within a distributed database system; Distributed database system architectures therefor
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/23Updating

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及一种区块链网络的分叉控制方法,具体包括以下步骤:步骤S101:区块链上每个区块链节点检测当前所在的位置是否存在分叉,若否则继续保持检测,若是转至步骤S102;步骤S102:每个区块链节点放弃处于分叉状态的区块,将区块链回退至消除分叉的唯一主干链状态;步骤S103:对于所有向区块链添加处于分叉状态区块的节点,各节点进行互相独立的随机延迟,各节点的随机延迟结束后,重新执行向区块链添加区块的操作,转至步骤S101。与现有技术相比,本发明具有最小化区块链分叉状态持续时间、避免对下一轮区块链写操作的依赖、降低区块链客户端的复杂度等优点。

Description

一种区块链网络的分叉控制方法和装置
技术领域
本发明涉及互联网技术领域,尤其是涉及一种区块链网络的分叉控制方法和装置。
背景技术
在区块链应用中,如果有多个节点同时对区块链执行写操作(即向区块链添加区块),则区块链产生分叉。在当前的区块链技术中,通过下一轮对区块链的写操作以及最长链胜出的冲突解决规则,区块链分叉得到解决。在公有链中,区块链分叉随着下一轮对区块链的写操作而解决,同时,在对区块链的读操作中,节点会将区块链与内存池中的分叉交易都纳入查询,所以对于公有链来说,区块链分叉对于区块链的客户端来说几乎没有影响。
但是在联盟链和私有链应用中,存在很多区块链应用,客户端需要经常性读取或者复制区块链。同时,节点对区块链写操作的频率显著小于客户端读操作或者复制操作的频率。这类应用一旦出现区块链分叉,从分叉到下一轮对区块链的写操作需要较长的时间间隔,在此期间区块链网络将会处于分叉中。此时,客户端对区块链的读操作或者复制操作将产生冲突,即从不同节点读到的区块链不一致。
现有的解决方案是要求客户端与公链节点一样,在对区块链的读操作时考虑区块链分叉的情况,在客户端数量显著大于节点数量的情况下,这种方案将提高客户端的实现复杂度,进而对系统造成额外的复杂度。
现有技术中公开了一种分叉问题的处理方法及装置,当区块链存在分叉时,通过在区块链上的n个公正节点中选择出m个节点,让这m个节点自由选择跟随任意一个方向的链,自由选择完毕时,分别统计两个分叉的方向上公正节点的个数,并选择较多公正节点的链的方向为后续的全网链发展方向。但是该方案复杂度较高,同时仍然没有解决区块链分叉状态持续时间较长的问题。
发明内容
本发明的目的就是为了克服上述现有技术存在的需要依赖下一轮对区块链的写操作来解决分叉、最长链胜出原则的区块链分叉状态持续时间较长的缺陷而提供一种区块链网络的分叉控制方法和装置。
本发明的目的可以通过以下技术方案来实现:
一种区块链网络的分叉控制方法,具体包括以下步骤:
步骤S101:区块链上每个区块链节点检测当前所在的位置是否存在分叉,若否则继续保持检测,若是转至步骤S102;
步骤S102:每个区块链节点放弃处于分叉状态的区块,将区块链回退至消除分叉的唯一主干链状态;
步骤S103:对于所有向区块链添加处于分叉状态区块的节点,各节点进行互相独立的随机延迟,各节点的随机延迟结束后,重新执行向区块链添加区块的操作,转至步骤S101。
所述区块链的唯一主干链状态具体指区块链上只有一条主干链、不存在分叉的状态。
所述存在分叉的区块链节点之间的随机延迟的长度为取值范围在最小值与最大值之间的相互独立的随机数,避免新区块的重新添加发生在同一时刻,最小化区块链分叉状态持续时间。
进一步地,所述随机延迟的长度的最小值为0,最大值由区块链节点间的最大延时参数通过仿真确定。
所述向区块链添加处于分叉状态区块的节点上设有计时器,步骤S103中当所述计时器从零开始计时后的时长等于随机延迟时,向区块链添加处于分叉状态区块的节点重新向所述区块链添加新区块。
一种基于区块链网络的分叉控制方法的装置,包括存储器和处理器,所述存储器包括分叉检测部,所述处理器包括区块链回退部和重新执行添加区块部,所述控制方法以计算机程序的形式存储于所述存储器内,并由所述处理器执行,执行时实现以下步骤:
步骤S101:分叉检测部在区块链上的每个区块链节点检测当前所在的位置是否存在分叉,若否则继续保持检测,若是转至步骤S102;
步骤S102:区块链回退部控制每个区块链节点放弃处于分叉状态的区块,将区块链回退至消除分叉的唯一主干链状态;
步骤S103:重新执行添加区块部对于所有向区块链添加处于分叉状态区块的节点,各节点进行互相独立的随机延迟,各节点随机延迟结束后,重新执行向区块链添加区块的操作,转至步骤S101。
与现有技术相比,本发明通过将放弃处于分叉状态的区块,使区块链恢复至唯一主干链状态,再通过随机延迟的方式让所有向区块链添加处于分叉状态区块的节点重新向区块链添加新区块,最小化区块链分叉状态持续时间,避免了对下一轮区块链写操作的依赖,同时该方案降低了区块链客户端的复杂度。
附图说明
图1为本发明控制方法的流程示意图;
图2为本发明装置的结构示意图。
附图标记:
201-分叉检测部;202-区块链回退部;203-重新执行添加区块部。
具体实施方式
下面结合附图和具体实施例对本发明进行详细说明。本实施例以本发明技术方案为前提进行实施,给出了详细的实施方式和具体的操作过程,但本发明的保护范围不限于下述的实施例。
一种区块链网络的分叉控制方法,最小化区块链分叉状态持续时间,避免了对下一轮区块链写操作的依赖,具体包括以下步骤:
步骤S101:区块链上每个区块链节点检测当前所在的位置是否存在分叉,若否则继续保持检测,若是转至步骤S102;
步骤S102:每个区块链节点放弃处于分叉状态的区块,将区块链回退至消除分叉的唯一主干链状态;
步骤S103:对于所有向区块链添加处于分叉状态区块的节点,各节点进行互相独立的随机延迟,各节点的随机延迟结束后,重新执行向区块链添加区块的操作,转至步骤S101。
区块链的唯一主干链状态具体指区块链上只有一条主干链、不存在分叉的状态。
存在分叉的区块链节点之间的随机延迟的长度为取值范围在最小值与最大值之间的相互独立的随机数,避免新区块的重新添加发生在同一时刻,最小化区块链分叉状态持续时间。
随机延迟的长度的最小值为0,最大值由区块链节点间的最大延时参数通过仿真确定。
向区块链添加处于分叉状态区块的节点上设有计时器,步骤S103中当计时器从零开始计时后的时长等于随机延迟时,向区块链添加处于分叉状态区块的节点重新向区块链添加新区块。
一种基于区块链网络的分叉控制方法的装置,包括存储器和处理器,存储器包括分叉检测部201,处理器包括区块链回退部202和重新执行添加区块部203,控制方法以计算机程序的形式存储于存储器内,并由处理器执行,执行时实现以下步骤:
步骤S101:分叉检测部201在区块链上的每个区块链节点检测当前所在的位置是否存在分叉,若否则继续保持检测,若是转至步骤S102;
步骤S102:区块链回退部202控制每个区块链节点放弃处于分叉状态的区块,将区块链回退至消除分叉的唯一主干链状态;
步骤S103:重新执行添加区块部203对于所有向区块链添加处于分叉状态区块的节点,各节点进行互相独立的随机延迟,各节点随机延迟结束后,重新执行向区块链添加区块的操作,转至步骤S101。
实施例一
区块链上每个区块链节点检测当前所在的位置是否存在分叉,若检测到存在分叉的节点则实行本发明的方法,将处于分叉状态的区块删除,并重新添加新区块作为对应节点的区块。
此外,需要说明的是,本说明书中所描述的具体实施例,所取名称可以不同,本说明书中所描述的以上内容仅仅是对本发明结构所做的举例说明。凡依据本发明构思的构造、特征及原理所做的等效变化或者简单变化,均包括于本发明的保护范围内。本发明所属技术领域的技术人员可以对所描述的具体实例做各种各样的修改或补充或采用类似的方法,只要不偏离本发明的结构或者超越本权利要求书所定义的范围,均应属于本发明的保护范围。

Claims (8)

1.一种区块链网络的分叉控制方法,其特征在于,具体包括以下步骤:
步骤S101:区块链上每个区块链节点检测当前所在的位置是否存在分叉,若否则继续保持检测,若是转至步骤S102;
步骤S102:每个区块链节点放弃处于分叉状态的区块,将区块链回退至消除分叉的唯一主干链状态;
步骤S103:对于所有向区块链添加处于分叉状态区块的节点,各节点进行互相独立的随机延迟,各节点的随机延迟结束后,重新执行向区块链添加区块的操作,转至步骤S101;
存在分叉的区块链节点之间的随机延迟的长度为取值范围在最小值与最大值之间的相互独立的随机数。
2.根据权利要求1所述的一种区块链网络的分叉控制方法,其特征在于,所述区块链的唯一主干链状态具体指区块链上只有一条主干链、不存在分叉的状态。
3.根据权利要求1所述的一种区块链网络的分叉控制方法,其特征在于,所述随机延迟的长度的最小值为0,最大值由区块链节点间的最大延时参数通过仿真确定。
4.根据权利要求1所述的一种区块链网络的分叉控制方法,其特征在于,所述向区块链添加处于分叉状态区块的节点上设有计时器,步骤S103中当所述计时器从零开始计时后的时长等于随机延迟时,向区块链添加处于分叉状态区块的节点重新向所述区块链添加新区块。
5.一种基于区块链网络的分叉控制方法的装置,其特征在于,包括存储器和处理器,所述存储器包括分叉检测部(201),所述处理器包括区块链回退部(202)和重新执行添加区块部(203),所述控制方法以计算机程序的形式存储于所述存储器内,并由所述处理器执行,执行时实现以下步骤:
步骤S101:分叉检测部(201)在区块链上的每个区块链节点检测当前所在的位置是否存在分叉,若否则继续保持检测,若是转至步骤S102;
步骤S102:区块链回退部(202)控制每个区块链节点放弃处于分叉状态的区块,将区块链回退至消除分叉的唯一主干链状态;
步骤S103:重新执行添加区块部(203)对于所有向区块链添加处于分叉状态区块的节点,各节点进行互相独立的随机延迟,各节点随机延迟结束后,重新执行向区块链添加区块的操作,转至步骤S101;
存在分叉的区块链节点之间的随机延迟的长度为取值范围在最小值与最大值之间的相互独立的随机数。
6.根据权利要求5所述的一种基于区块链网络的分叉控制方法的装置,其特征在于,所述区块链的唯一主干链状态具体指区块链上只有一条主干链、不存在分叉的状态。
7.根据权利要求5所述的一种基于区块链网络的分叉控制方法的装置,其特征在于,所述随机延迟的长度的最小值为0,最大值由区块链节点间的最大延时参数通过仿真确定。
8.根据权利要求5所述的一种基于区块链网络的分叉控制方法的装置,其特征在于,所述向区块链添加处于分叉状态区块的节点上设有计时器,步骤S103中当所述计时器从零开始计时后的时长等于随机延迟时,向区块链添加处于分叉状态区块的节点重新向所述区块链添加新区块。
CN202010475257.8A 2020-05-29 2020-05-29 一种区块链网络的分叉控制方法和装置 Active CN111813852B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010475257.8A CN111813852B (zh) 2020-05-29 2020-05-29 一种区块链网络的分叉控制方法和装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010475257.8A CN111813852B (zh) 2020-05-29 2020-05-29 一种区块链网络的分叉控制方法和装置

Publications (2)

Publication Number Publication Date
CN111813852A CN111813852A (zh) 2020-10-23
CN111813852B true CN111813852B (zh) 2023-12-01

Family

ID=72848329

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010475257.8A Active CN111813852B (zh) 2020-05-29 2020-05-29 一种区块链网络的分叉控制方法和装置

Country Status (1)

Country Link
CN (1) CN111813852B (zh)

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033832A (zh) * 2018-06-22 2018-12-18 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN109255057A (zh) * 2018-09-18 2019-01-22 百度在线网络技术(北京)有限公司 区块生成方法、装置、设备及存储介质
CN109361740A (zh) * 2018-09-27 2019-02-19 百度在线网络技术(北京)有限公司 一种区块链的区块生成方法、装置、设备和介质
CN109391480A (zh) * 2018-10-19 2019-02-26 微梦创科网络科技(中国)有限公司 一种数据存储方法、装置及电子设备
CN109446266A (zh) * 2018-09-20 2019-03-08 成都捕风数据科技有限公司 一种适用于区块链网络改进事务效率与稳定性的方法
CN110223174A (zh) * 2019-05-23 2019-09-10 北京清红微谷技术开发有限责任公司 区块交易记账方法和系统、数据处理终端、区块链系统
CN110704464A (zh) * 2019-09-12 2020-01-17 广州蚁比特区块链科技有限公司 一种分叉问题的处理方法及装置
CN111190831A (zh) * 2020-01-02 2020-05-22 南京邮电大学 区块链共识算法的鲁棒性分析方法及区块链系统

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11095432B2 (en) * 2017-04-05 2021-08-17 Samsung Sds Co., Ltd. System for processing data based on blockchain and operating method thereof

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109033832A (zh) * 2018-06-22 2018-12-18 深圳前海益链网络科技有限公司 一种防范对区块链网络进行短暂分叉双花攻击的方法
CN109255057A (zh) * 2018-09-18 2019-01-22 百度在线网络技术(北京)有限公司 区块生成方法、装置、设备及存储介质
CN109446266A (zh) * 2018-09-20 2019-03-08 成都捕风数据科技有限公司 一种适用于区块链网络改进事务效率与稳定性的方法
CN109361740A (zh) * 2018-09-27 2019-02-19 百度在线网络技术(北京)有限公司 一种区块链的区块生成方法、装置、设备和介质
CN109391480A (zh) * 2018-10-19 2019-02-26 微梦创科网络科技(中国)有限公司 一种数据存储方法、装置及电子设备
CN110223174A (zh) * 2019-05-23 2019-09-10 北京清红微谷技术开发有限责任公司 区块交易记账方法和系统、数据处理终端、区块链系统
CN110704464A (zh) * 2019-09-12 2020-01-17 广州蚁比特区块链科技有限公司 一种分叉问题的处理方法及装置
CN111190831A (zh) * 2020-01-02 2020-05-22 南京邮电大学 区块链共识算法的鲁棒性分析方法及区块链系统

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
A Comprehensive Survey of Blockchain: From Theory to IoT Applications and Beyond;Mingli Wu et al.;《IEEE INTERNET OF THINGS JOURNAL》;8114-8154 *
去中心化区块链DNS研究与实现;郑旭;《中国优秀硕士学位论文全文数据库 信息科技辑》;I138-1074 *

Also Published As

Publication number Publication date
CN111813852A (zh) 2020-10-23

Similar Documents

Publication Publication Date Title
US10693994B2 (en) Method, apparatus, and electronic device for processing consensus requests in a blockchain consensus network
US7693882B2 (en) Replicating data across the nodes in a cluster environment
Ailijiang et al. WPaxos: Wide area network flexible consensus
CN107391628B (zh) 数据同步方法及装置
US20180218000A1 (en) Systems, methods, and computer-readable media for a fast snapshot of application data in storage
JP2023546249A (ja) トランザクション処理方法、装置、コンピュータ機器及びコンピュータプログラム
CN113743941B (zh) 一种在区块链中执行交易的方法、区块链和主节点
US11588618B2 (en) Transaction processing method, apparatus, device and system for multi-chain system
CN113743950B (zh) 在区块链系统中执行交易的方法、节点和区块链系统
WO2024001024A1 (zh) 在区块链系统中执行交易的方法、区块链系统和节点
Pandey et al. IDRC: a distributed real-time commit protocol
CN112368682A (zh) 使用高速缓存用于内容验证和错误补救
CN109739684A (zh) 基于向量时钟的分布式键值数据库的副本修复方法与装置
CN107153680B (zh) 一种分布式内存数据库在线扩展节点的方法及系统
CN113743943B (zh) 在区块链中执行交易的方法、区块链、主节点和从节点
US20210012025A1 (en) System and method for session-aware datastore for the edge
CN110888761A (zh) 一种基于关键任务部分主动备份的容错方法和流处理平台
CN111813852B (zh) 一种区块链网络的分叉控制方法和装置
CN117112508A (zh) 基于序号的文件同步方法、装置、计算机设备及存储介质
WO2024036829A1 (zh) 一种数据融合方法、装置、设备及存储介质
CN116540938A (zh) 数据读取方法、装置、分布式存储系统、设备和存储介质
CN113744061B (zh) 在区块链系统中执行交易的方法、区块链系统、和从节点
US9317322B2 (en) Simulating synchronous execution of asynchronous operations
US20150286649A1 (en) Techniques to take clean database file snapshot in an online database
US11392574B2 (en) Mitigating race conditions across two live datastores

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