CN109542979B - 一种区块链系统快速同步及简精数据存储的方式 - Google Patents

一种区块链系统快速同步及简精数据存储的方式 Download PDF

Info

Publication number
CN109542979B
CN109542979B CN201811376874.1A CN201811376874A CN109542979B CN 109542979 B CN109542979 B CN 109542979B CN 201811376874 A CN201811376874 A CN 201811376874A CN 109542979 B CN109542979 B CN 109542979B
Authority
CN
China
Prior art keywords
block
data
hash
sub
block chain
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
CN201811376874.1A
Other languages
English (en)
Other versions
CN109542979A (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 Mi Wang Information Technology Co ltd
Original Assignee
Beijing Mi Wang Information Technology 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 Beijing Mi Wang Information Technology Co ltd filed Critical Beijing Mi Wang Information Technology Co ltd
Priority to CN201811376874.1A priority Critical patent/CN109542979B/zh
Publication of CN109542979A publication Critical patent/CN109542979A/zh
Application granted granted Critical
Publication of CN109542979B publication Critical patent/CN109542979B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q20/00Payment architectures, schemes or protocols
    • G06Q20/38Payment protocols; Details thereof
    • G06Q20/40Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
    • G06Q20/401Transaction verification
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy efficient computing, e.g. low power processors, power management or thermal management

Landscapes

  • Business, Economics & Management (AREA)
  • Engineering & Computer Science (AREA)
  • Accounting & Taxation (AREA)
  • Computer Security & Cryptography (AREA)
  • Finance (AREA)
  • Strategic Management (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种区块链系统快速同步及简精数据存储的方式,在区块链系统的区块头数据结构中增加了一个账本哈希,代表了完整帐本的哈希摘要。在区块链系统的同步过程中,先同步所有的区块头,从最新的一个区块头中得到账本哈希,然后根据账本哈希,从网络中同步对应的一个完整的帐本,减少区块体数据的同步,一方面大大减少区块链系统中完整节点的同步时间和存储空间需求,另一方面在区块链系统的节点运行过程中,可以随时将老的区块数据删除,从而减少在运行过程中对存储空间的需求。

Description

一种区块链系统快速同步及简精数据存储的方式
技术领域
本发明涉及区块链技术、块链式存储技术领域,具体是一种区块链系统快速同步及简精数据存储的方式。
背景技术
目前,对于区块链系统来说,对区块数据的完整同步是一个缓慢,需要大量带宽和存储空间的过程。对于一个完整节点来说,需要同步从区块链系统上线以来,到目前为止所有的区块头数据和区块数据。系统运行时间越长,交易数越多,需要同步的数据量越大。
这种同步的方式,会让整个节点需要同步和存储的数据越来越大,随着系统运行时间越长,需要同步的数据越多。最终会导致普通的网络带宽和存储空间令普通的计算机无法承受的地步。
发明内容
本发明的目的在于提供一种区块链系统快速同步及简精数据存储的方式,以解决现有技术中的问题。
为实现上述目的,本发明提供如下技术方案:
一种区块链系统快速同步及简精数据存储的方法,其区块链系统包括一个区块链数据结构,区块链数据结构分为若干区块头和区块体,区块头包括单元有本地账本哈希和上一个区块头的哈希值,所述区块链数据结构同步的下一个区块为所述区块链数据结构的子区块,其方法步骤为:
A1:在区块链数据结构的区块头增加一个本地账本哈希,本地账本哈希指代的是一个完整本地账本的所有数据;
A2:当本地节点生成新的子区块0~n时,区块链系统通过点对点网络先同步子区块0~n的区块头数据,然后从最新的第n个区块头中,得到最新的本地账本的哈希值;
A3:区块链系统再根据最新的账本哈希,通过网络同步最新的本地账本;
A4:当本地帐本同步完之后,区块链系统无需再同步第0~n个区块体,直接同步第(n+1)块区块头和区块体的数据。
进一步的,当需要计算的帐本数据较大时,将原帐本数据拆分成若干个子帐本,步骤(A2)中区块链系统计算出的哈希值是由若干子帐本的数据统一计算出来的,也可以是若干个子帐本的Merkel根,本地账本哈希为若干个子账本统计算出来的哈希值。所述Merkle树是将区块数据分组进行散列函数运算,将新的散列值放回,再重新拿出2个数据进行运算,一直递归下去,直到剩下唯一的“Merkle根”,Merkle树具有良好的扩展性,不管交易数据怎么样,都可以生成一颗Merkle树;查找算法的时间复杂度很低,从底层溯源查找到Merkle根部来验证一笔交易是否存在或合法,时间复杂度为lbN,极大降低运行时的资源占用;使轻节点成为可能,轻节点不用保存全部的区块链数据,仅需要保存包含Merkle根的块头,就可以验证交易的合法性。
进一步的,区块头还包括的单元为版本、时间戳、难度值、随机数和Merkel根,所述版本主要是4字节,标示软件及协议的相关版本信息,所述时间戳时间戳是4字节,记录该区块产生的时间,精确到秒;所述难度值也是4字节,指该区块相关数学题的难度目标值,所述Merkle根是32字节,是由区块主体中所有交易的哈希值再逐级两两哈希计算出来的一个数值,主要用于检验一笔交易是否在这个区块中存在。
进一步的,步骤(A2)中区块链系统计算哈希值的算法和步骤(A3)中区块链系统通过网络将本地账本哈希的数据和哈希值同步比较用的算法都采用的是安全散列算法,也就是SHA256算法,所述SHA256算法中区块链不会直接保存明文的原始交易记录,只是将原始交易记录经过散列运算,得到一定长度的散列值,将这串字母与数字组成的定长字符串记录进区块,散列函数具有单向性、定时性、定长性和随机性的优点。
进一步的,步骤(A4)中继续同步第(n+1)块区块头和区块体的数据的方式为重复步骤(A1)到(A4),由于下一个区块头会有哈希指向上一个区块的区块头,所以有一定的区块深度的区块头被更新的区块确认的次数会很多,其指向的本地帐本哈希是可信的,而且区块数据比区块头大几个量级,一个区块头一般只有几百个字节,而一个区块有几M甚至更大,这将大大减少节点需要同步的数据量以及需要的存储空间。
在所述的区块链数据结构中帐本的同步和区块数据同步方式相同,在节点之间用P2P的方式同步,或者从其它网络途径获取。当区块链系统中不只是有交易,还有智能合约等功能时,同步的帐本可以包括智能合约帐号的状态数据等其他数据,而且这种在区块头内增加帐本哈希的优化方式,也可以应用于帐户余额模式中和UTXO模型中。
与现有技术相比,本发明的有益效果是:本发明提供了一种区块链系统快速同步及简精数据存储的方式,主要在区块链系统的区块头数据结构中增加了一个哈希账本,代表了完整帐本的哈希摘要,在区块链系统的同步过程中,先同步所有的区块头,得到账本哈希,然后和网络中同步完整的帐本对比验证,减少区块数据的同步,一方面大大减少完整节点的同步时间和存储空间需求,另一方面在节点运行过程中,可以随时将老的区块数据删除,从而减少在运行过程中对存储空间的需求。
附图说明
为了使本发明的内容更容易被清楚地理解,下面根据具体实施例并结合附图,对本发明作进一步详细的说明。
图1为本发明一种区块链系统快速同步及简精数据存储的方法的流程图;
图2为本发明一种区块链系统快速同步及简精数据存储的方法的区块图;
图3为本发明一种区块链系统快速同步及简精数据存储的方法的同步方式;
图4为本发明一种区块链系统快速同步及简精数据存储的方法的智能合约状态图;
图5为本发明一种区块链系统快速同步及简精数据存储的方法的账本哈希的Merkel树根的形式图;
图6为本发明一种区块链系统快速同步及简精数据存储的方法的子账本哈希的哈希形式图。
具体实施方式
下面将结合本发明实施例,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例中,参照图1,一种区块链系统快速同步及简精数据存储的方法,区块链数据结构同步的下一个区块的方法步骤为:
A1:在区块链数据结构的区块头增加一个本地账本哈希,本地账本哈希指代的是一个完整本地账本的所有数据;
A2:当本地节点生成新的子区块0~n时,区块链系统通过点对点网络先同步子区块0~n的区块头数据,然后从最新的第n个区块头中,得到最新的本地账本的哈希值;
A3:区块链系统再根据最新的账本哈希,通过网络同步最新的本地账本;
A4:然后再同步第(n+1)块区块头和区块体的数据。
参照图2,所述区块头还包括的单元为版本、上一区块头哈希、时间戳、难度、随机数和Merkel根,所述版本主要是标示软件及协议的相关版本信息,所述上一区块头哈希是指由前一个区块头计算所得的哈希值,所述时间戳用于记录区块产生的时间戳值,所述难度指该区块相关数学题的难度目标值,所述Merkle根是由此区块头对应的区块体内的交易数据,按Merkel树算法计算得到的哈希值。
参照图3和图4,节点先同步区块1,区块2的区块头,从区块头内得到区块2对应的帐本哈希。再从区块链网络中同步区块2对应的本地帐本。当区块2对应的帐本同步完之后,就可以正常同步区块3的区块头和区块数据,再从区块3的交易数据,即可计算出正确的本地帐本。在所述的区块链数据结构中同步新的区块时,将本地帐本计算的哈希值写入区块头,当其他节点接收到数据后,验证所有的交易有效,同时验证本地帐本哈希有效,如果帐本哈希有效,接收这个区块头。由于下一个区块头会有哈希指向上一个区块的区块头,所以有一定的区块深度的区块头被更新的区块确认的次数会很多,其指向的本地帐本哈希是可信的。当节点需要同步数据时,节点可以只同步所有的区块头,以及有一定深度的区块头指向的本地帐本哈希,就可以正常使用,而不需要同步所有的区块数据。由于区块数据比区块头大几个量级,一个区块头一般只有几百个字节,而一个区块有几M甚至更大,这大大减少同步所需的数据量。同时,因为在区块头内有记录本地帐本的哈希值,而且经过验证的本地帐本一定是完整的和可信的,所以当本地存储的区块数据足够多时,可以把较老的区块数据直接删除,而且不会影响整个系统的安全性,这将进一步减少区块存储所需的存储空间。
参照图5和图6,所述的区块链数据结构中区块头的帐本哈希是一个完整的帐本的哈希值,由若干子帐本的数据统一计算出来的一个哈希值,当整个帐本数据较大时,将本地帐本数据拆分成若干个子帐本,本地帐本哈希是若干个子帐本的Merkel树的根。帐本的同步,可以和区块数据一样,在节点之间用P2P的方式同步,也可以从其他网络或途径获取。这种在区块头内增加帐本哈希的优化方式,不只有交易功能,还有智能合约等功能,同步的帐本可以包括智能合约帐号的状态数据等其他数据,可以应用于帐户余额模式中,也可应用于UTXO模型中。
对于本领域技术人员而言,显然本发明不限于上述示范性实施例的细节,而且在不背离本发明的精神或基本特征的情况下,能够以其他的具体形式实现本发明。因此,无论从哪一点来看,均应将实施例看作是示范性的,而且是非限制性的,本发明的范围由所附权利要求而不是上述说明限定,因此旨在将落在权利要求的等同要件的含义和范围内的所有变化囊括在本发明内。不应将权利要求中的任何标记视为限制所涉及的权利要求。

Claims (6)

1.一种区块链系统快速同步及简精数据存储的方法,其特征在于,区块链系统包括区块链数据结构和子区块,所述区块链数据结构分为若干区块头和区块体,所述区块头包括单元有本地账本哈希和最后生成的哈希值,所述区块链数据结构同步的下一个区块为所述区块链数据结构的子区块,其方法步骤为:
A1:在区块链数据结构的区块头增加一个本地账本哈希,本地账本哈希指代的是一个完整本地账本的所有数据;
A2:当本地节点生成新的子区块0~n时,区块链系统通过网络先同步子区块0~n的区块头数据,然后从最新的第n个区块头中,得到最新的本地账本的哈希值;
A3:区块链系统再根据最新的哈希值,通过网络同步最新的本地账本;
A4:当本地帐本同步完之后,区块链系统无需再同步第0~n个区块体,直接同步第(n+1)块区块头和区块体的数据。
2.据权利要求1所述的一种区块链系统快速同步及简精数据存储的方法,其特征在于,所述区块头还包括的单元为版本、时间戳、难度、随机数和Merkel根,所述版本主要是标示软件及协议的相关版本信息,所述时间戳用于记录区块产生的时间戳值,所述难度指该区块相关数学题的难度目标值,所述随机数是指专门的随机试验的结果,所述Merkle根是由相邻区块头之间计算得出的哈希值。
3.根据权利要求2所述的一种区块链系统快速同步及简精数据存储的方法,其特征在于,所述区块体主要包括单元有子账本和子账本哈希,所述子账本是指形成一个不可变的、分布式的历史记录,所述子账本哈希是指账本历史记录的形式。
4.根据权利要求3所述的一种区块链系统快速同步及简精数据存储的方法,其特征在于,当需要计算的帐本数据较大时,将原帐本数据拆分成若干个子帐本,所述步骤(A2)中区块链系统计算出的哈希值是由若干子帐本的数据统一计算出来,所述哈希值也是若干个子帐本的Merkel根,本地账本哈希为若干个子账本统计算出来的哈希值。
5.根据权利要求4所述的一种区块链系统快速同步及简精数据存储的方法,其特征在于,所述步骤(A2)中区块链系统计算哈希值的算法和所述步骤(A3)中区块链系统通过网络将本地账本哈希的数据和哈希值同步比较用的算法都采用的是安全散列算法。
6.根据权利要求5所述的一种区块链系统快速同步及简精数据存储的方法,其特征在于,所述步骤(A4)中继续同步第(n+1)块区块头和区块体的数据的方式为重复步骤(A1)到(A4)。
CN201811376874.1A 2018-11-19 2018-11-19 一种区块链系统快速同步及简精数据存储的方式 Active CN109542979B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811376874.1A CN109542979B (zh) 2018-11-19 2018-11-19 一种区块链系统快速同步及简精数据存储的方式

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811376874.1A CN109542979B (zh) 2018-11-19 2018-11-19 一种区块链系统快速同步及简精数据存储的方式

Publications (2)

Publication Number Publication Date
CN109542979A CN109542979A (zh) 2019-03-29
CN109542979B true CN109542979B (zh) 2023-08-22

Family

ID=65848315

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811376874.1A Active CN109542979B (zh) 2018-11-19 2018-11-19 一种区块链系统快速同步及简精数据存储的方式

Country Status (1)

Country Link
CN (1) CN109542979B (zh)

Families Citing this family (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110059089B (zh) * 2019-03-27 2021-01-22 深圳前海达闼云端智能科技有限公司 数据同步方法、装置、存储介质及电子设备
CN110011788B (zh) * 2019-04-10 2020-12-25 深圳市网心科技有限公司 一种基于区块链的数据处理方法、系统及相关设备
CN110162540B (zh) * 2019-04-17 2023-06-06 平安科技(深圳)有限公司 区块链账本数据的查询方法、电子装置及存储介质
CN110569311B (zh) * 2019-10-30 2020-07-10 上海商魁信息科技有限公司 一种数据库的数据同步方法、设备和计算机存储介质
CN111241069B (zh) * 2020-01-19 2023-10-20 上海墨珩网络科技有限公司 一种基于区块链的数据扁平化方法及系统
CN111400106B (zh) * 2020-03-27 2023-07-28 百度国际科技(深圳)有限公司 一种区块链账本同步方法、装置以及电子设备
CN111432009B (zh) * 2020-03-30 2023-04-07 深圳壹账通智能科技有限公司 一种区块链数据的同步方法、装置及电子设备、存储介质
JP2021175016A (ja) * 2020-04-20 2021-11-01 株式会社日立製作所 デジタル署名の管理方法、デジタル署名の管理システム
CN111865469B (zh) * 2020-07-31 2022-05-17 江西师范大学 一种基于区块链的工业物联网容错时间同步方法和系统
CN113420017B (zh) * 2021-06-21 2023-10-13 上海特高信息技术有限公司 一种机器人导航算法训练数据集获取的区块链应用方法
CN115277733B (zh) * 2022-07-29 2024-02-20 北京智融云河科技有限公司 一种区块头同步方法、装置、电子设备及存储介质
CN116628083B (zh) * 2023-04-27 2024-05-24 中国人民解放军战略支援部队信息工程大学 区块链交易数据扩容存储方法及系统

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107527285A (zh) * 2016-06-20 2017-12-29 惠众商务顾问(北京)有限公司 社区区块链多态链接及智能化处理系统
CN108765151A (zh) * 2018-05-11 2018-11-06 深圳市恋上互联网技术有限公司 一种基于区块链的交易方法
CN108810119A (zh) * 2018-05-31 2018-11-13 中国联合网络通信集团有限公司 区块链处理方法、装置及区块链节点

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10230526B2 (en) * 2014-12-31 2019-03-12 William Manning Out-of-band validation of domain name system records

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107527285A (zh) * 2016-06-20 2017-12-29 惠众商务顾问(北京)有限公司 社区区块链多态链接及智能化处理系统
CN108765151A (zh) * 2018-05-11 2018-11-06 深圳市恋上互联网技术有限公司 一种基于区块链的交易方法
CN108810119A (zh) * 2018-05-31 2018-11-13 中国联合网络通信集团有限公司 区块链处理方法、装置及区块链节点

Also Published As

Publication number Publication date
CN109542979A (zh) 2019-03-29

Similar Documents

Publication Publication Date Title
CN109542979B (zh) 一种区块链系统快速同步及简精数据存储的方式
CN110602148B (zh) 一种区块的状态树的生成和链上数据验证的方法及装置
US11663090B2 (en) Method and system for desynchronization recovery for permissioned blockchains using bloom filters
US20220141018A1 (en) Method and system for an efficient consensus mechanism for permissioned blockchains using audit guarantees
CN109194646B (zh) 一种基于区块链的安全认证数据存取方法
CN110599169B (zh) 数据处理方法、装置、终端及介质
CN111444196B (zh) 块链式账本中全局状态的哈希的生成方法、装置及设备
TWI706662B (zh) 用於鏈接資料的方法與裝置
WO2021108258A1 (en) Optimizations for verification of interactions system and method using probability density functions
CN109492049B (zh) 用于区块链网络的数据处理、区块生成及同步方法
CN110309173B (zh) 合约数据的记录方法、装置及区块链节点、存储介质
WO2021057127A1 (zh) 一种基于多条业务属性的数据存储方法、装置及设备
CN105447168A (zh) Mp4格式的碎片文件恢复与重组的方法
WO2021196463A1 (zh) 一种区块链数据的同步方法、装置及电子设备、存储介质
CN110505084B (zh) 一种区块链打包节点共识推举方法
CN103793468A (zh) 数据存储方法和装置以及数据读取方法和装置
CN112765137B (zh) 基于区块分布式区块链的区块同步方法及电子设备
CN111061698B (zh) 以太坊合约数据的存储方法及装置
CN110278176B (zh) 登录验证方法及登录服务器
CN116303789A (zh) 多分片多副本数据库并行同步方法、装置及可读介质
CN115052008A (zh) 基于云存储的区块链数据链下存储方法
CN112765681A (zh) 区块分布式区块链的生成方法、存储介质及电子设备
TWI728899B (zh) 用於處理鏈接資料的方法與裝置
TWI783441B (zh) 用於與區塊鏈協作的資料處理方法與裝置
CN111787074A (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
TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230728

Address after: 1315, 13th Floor, Building A1, Qinghe Jiayuan East District, Haidian District, Beijing, 100000

Applicant after: Beijing Mi Wang Information Technology Co.,Ltd.

Address before: Room 40801, 4th Floor, No. 31 Guangshan Third Road, Lianhe Street, Huangpu District, Guangzhou City, Guangdong Province, 510000

Applicant before: GUANGZHOU MATRIX TECHNOLOGY Co.,Ltd.

GR01 Patent grant
GR01 Patent grant