CN111414421B - 一种分段式区块链存储方法和存储装置 - Google Patents

一种分段式区块链存储方法和存储装置 Download PDF

Info

Publication number
CN111414421B
CN111414421B CN202010190406.6A CN202010190406A CN111414421B CN 111414421 B CN111414421 B CN 111414421B CN 202010190406 A CN202010190406 A CN 202010190406A CN 111414421 B CN111414421 B CN 111414421B
Authority
CN
China
Prior art keywords
block
segment
blocks
blockchain
head
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
CN202010190406.6A
Other languages
English (en)
Other versions
CN111414421A (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.)
Renmin University of China
Original Assignee
Renmin University of China
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 Renmin University of China filed Critical Renmin University of China
Priority to CN202010190406.6A priority Critical patent/CN111414421B/zh
Publication of CN111414421A publication Critical patent/CN111414421A/zh
Application granted granted Critical
Publication of CN111414421B publication Critical patent/CN111414421B/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
    • 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
    • G06Q40/00Finance; Insurance; Tax strategies; Processing of corporate or income taxes
    • G06Q40/04Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Finance (AREA)
  • Accounting & Taxation (AREA)
  • General Physics & Mathematics (AREA)
  • Databases & Information Systems (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • Development Economics (AREA)
  • Economics (AREA)
  • Marketing (AREA)
  • Strategic Management (AREA)
  • Technology Law (AREA)
  • General Business, Economics & Management (AREA)
  • Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明属于区块链领域,其涉及一种分段式区块链存储方法和存储装置,包括以下步骤:S1.将区块链分为包括若干区块的区块段;S2.将各个区块段中区块分为包含前一区块段信息的区块和普通区块;S3.生成新区块;S4.区域链中各节点只需要下载新区块对应的区块段以及所有区块段的包含前一区块段信息的区块就能够参与区块链的共识和记账。该方法和装置降低了新加入节点参与共识记账的门槛,并使中断节点能够快速同步区块信息,使新加入节点和中断节点可以通过较短的存储时间和较小的存储空间参与区块链共识记账。

Description

一种分段式区块链存储方法和存储装置
技术领域
本发明是关于一种分段式区块链存储方法和存储装置,属于区块链技术领域。
背景技术
区块链技术起源于比特币,本质上是一种通过分布式、高信任的方式集体维护一个可靠数据库的技术方案,其核心技术包括分布式账本技术、非对称加密算法以及智能合约等,具有分布式、公开透明、可追溯性以及高度信任等特征。
在现有的区块链共识记账机制中,不管是公有链还有联盟链,节点要参与共识记账必须保存已有的所有区块链上的信息,这是分布式账本的本质要求,也是解决防篡改的最有力保障。但同时,随着交易数据的增加,区块链中信息越来越多,现有节点和新加入节点要想参与共识记账就不得不耗费大量时间和空间保存所有数据的副本,从而产生大量资源浪费。
发明内容
针对上述现有技术的不足,本发明的目的是提供了一种分段式区块链存储方法和存储装置,该方法和装置降低了新加入节点参与共识记账的门槛,并使中断节点能够快速同步区块信息,使新加入节点和中断节点可以通过较短的存储时间和较小的存储空间参与区块链共识记账。
为实现上述目的,本发明提供了一种分段式区块链存储方法,包括以下步骤:S1.将区块链分为包括若干区块的区块段;S2.将各个区块段中区块分为包含前一区块段信息的区块和普通区块;S3.生成新区块;S4.区域链中各节点只需要下载新区块对应的区块段以及所有区块段的包含前一区块段信息的区块就能够参与区块链的共识和记账。
进一步,若区块链存在脱机节点,脱机节点在重新进入区块链时,只需要保存新区块对应的区块段,以及区块段的包含前一区块段信息的区块中所有未保存的包含前一区块段信息的区块,并将二者进行同步下载,就能够参与区块链的共识和记账。
进一步,各区块段中的第一个区块称为段头区块,段头区块即为包含前一区块段信息的区块,所有段头区块以保存前一段头区块信息的方式相连接。
进一步,普通区块包括区块头和区块体;段头区块包括区块头、区块体和区块尾,前一段头区块信息存储在段头区块的区块尾。
进一步,区块头包含:版本号、上一个区块的哈希地址、该区块中交易的默克尔树根的哈希值、该区块的创建时间戳、共识目标和随机参数;区块体包含:交易数量所占字节数、交易数量和交易数据;区块尾包含:段号、前段段头区块的哈希地址、区块中交易的默克尔树根的哈希值、区块的创建时间戳、段头区块的共识目标和随机参数。
进一步,区块链的共识采用工作量证明机制,通过调节普通区块的工作量证明难度和段头区块的工作量证明难度,对新区块的产生速度进行调整。
进一步,每个区块段中普通区块的工作量证明难度和段头区块的工作量证明难度相同,不同区块段中的普通区块的工作量证明难度和段头区块的工作量证明难度不相同,即在进入下一个区块段时,对普通区块的工作量证明难度和段头区块的工作量证明难度进行调节。
进一步,步骤S3中生成新区块的具体过程为:对于普通区块,节点通过完成工作量证明后,将交易记录独立打包进新区块;对于段头区块,节点同时存储上一区块哈希地址的工作量证明以及上一段头区块哈希地址的工作量证明,将交易记录独立打包进新区块;每个节点独立对新区块进行校验,并将新区块组装进区块链。
进一步,步骤S4中,每个节点独立对区块链进行选择,在工作量证明机制下选择下载段头区块累计工作量最大同时最新段累计工作量最大的的区块链。
基于相同的发明构思,本发明还公开了一种分段式区块链存储装置,包括:区块链分段模块,用于将区块链分为包括若干区块的区块段;区块段分离模块,用于将各个区块段中区块分为包含前一区块段信息的区块和普通区块;区块生成模块,用于生成新区块;节点下载模块,用于供区块链中节点下载新区块对应的区块段以及所有区块段的包含前一区块段信息的区块,并使节点能够参与区块链的共识和记账。
本发明由于采取以上技术方案,其具有以下优点:
1、该方法和装置降低了新加入节点参与共识记账的门槛,并使中断节点能够快速同步区块信息,使新加入节点和中断节点可以通过较短的存储时间和较小的存储空间参与区块链共识记账。
2、新加入节点只保存所有段头区块和新区块对应的区块段内包含的所有的区块就可以参与区块链的共识、记账,相比较传统公有链大大降低了时间和空间成本。
3、当脱机节点重新联机时,现有的区块链中要求节点必须首先通过下载自该节点脱机后添加到区块链的所有区块,即区块链同步,这个过程需要消耗大量的时间和存储空间,本发明中区块链存储方式使得脱机节点在重新进入区块链网络时可以只下载、保存最新区块段的区块以及从最新段段头区块找到所有未保存的段头区块,从而快速加入区块链的共识、记账。
附图说明
图1是本发明一实施例中区块链的连接方式示意图;
图2是本发明一实施例中段头区块的结构示意图。
具体实施方式
为了使本领域技术人员更好的理解本发明的技术方向,通过具体实施例对本发明进行详细的描绘。然而应当理解,具体实施方式的提供仅为了更好地理解本发明,它们不应该理解成对本发明的限制。在本发明的描述中,需要理解的是,所用到的术语仅仅是用于描述的目的,而不能理解为指示或暗示相对重要性。
在对本发明的技术方案进行说明前,首先需要对本发明中技术术语:节点、区块链账本进行说明:
本发明中的节点包括以下几种类型:
1)完全节点,用于区块链的生成与维护,该完全节点保存区块链的所有信息的完整副本,并根据特定加密货币或实用代币所使用的共识协议检查产生的新事务。
2)段完全节点,用于区块链的生成与维护,该段完全节点保存区块链的所有区块段的段头区块和最新区块段的所有区块副本,并根据特定加密货币或实用代币所使用的共识协议检查产生的新事务。
3)普通节点,用于第三方发出交易和访问区块链,保存区块链的部分信息,也可以称为轻型钱包,广泛用于移动设备或仅仅是不想下载整个区块链的人。
区块链账本:区块链账本用于保存任何节点或用户想保存的任何信息。
在本发明中完全节点和段完全节点都可参与共识记账,使用相同的共识协议来保持相互兼容。普通节点不可以参与共识记账。也就是说,区域链中各节点只需要下载新区块对应的区块段以及所有区块段的包含前一区块段信息的区块就能够参与区块链的共识和记账。所有保存了新区块对应的区块段以及所有区块段的包含前一区块段信息的区块的区块链称为权威账本。
本发明中的区块链由一创世区块和一系列数据结构与其相同的其他区块连接。其中创世区块只拥有一个唯一的哈希值。除创世块外,每个后续建立的区块均包含两个哈希值,一个是该区块自身的哈希值,另一个是前一区块的哈希值。通过哈希值间的前后指向关系,所有区块按顺序相连接。
实施例一
本实施例提供了一种分段式区块链存储方法,如图1所示,包括以下步骤:
S1.将区块链分为包括若干区块的区块段;本实施例中区块段优选包括2016个区块,其中区块段中区块以保存前一区块哈希值的方式连接。
S2.将各个区块段中区块分为包含前一区块段信息的区块和普通区块;
S3.生成新区块;
S4.区域链中各节点只需要下载新区块对应的区块段以及所有区块段的包含前一区块段信息的区块就能够参与区块链的共识和记账。
若区块链存在脱机节点,脱机节点在重新进入区块链时,只需要保存新区块对应的区块段,以及区块段的包含前一区块段信息的区块中所有未保存的包含前一区块段信息的区块,并将二者进行同步下载,就能够参与区块链的共识和记账。
其中步骤S2中,各区块段中的第一个区块称为段头区块,段头区块即为包含前一区块段信息的区块,所有段头区块以保存前一段头区块信息的方式相连接。普通区块与段头区块以保存前一区块哈希值的方式连接。
如图2所示,普通区块包括区块头和区块体;段头区块包括区块头、区块体和区块尾,前一段头区块信息存储在段头区块的区块尾。区块头包含:版本号、上一个区块的哈希地址、该区块中交易的默克尔树根的哈希值、该区块的创建时间戳、共识目标和随机参数;区块体包含:交易数量所占字节数、交易数量和交易数据;区块尾包含:段号、前段段头区块的哈希地址、区块中交易的默克尔树根的哈希值、区块的创建时间戳、段头区块的共识目标和随机参数。
步骤S3中,生成新区块包括产生段头区块和产生普通区块两个步骤。若产生的区块是普通区块只需要满足本区块段的共识机制就可以生成新区块,若产生的区块是段头区块需要同时满足区块头中解决前一区块的共识机制以及前一段头区块的共识机制。
在本实施例中,区块链的共识采用工作量证明机制,通过调节普通区块的工作量证明难度和段头区块的工作量证明难度,对新区块的产生速度进行调整,使得区块的产生速度在10分钟左右。
每个区块段中普通区块的工作量证明难度和段头区块的工作量证明难度相同,不同区块段中的普通区块的工作量证明难度和段头区块的工作量证明难度不相同,即在进入下一个区块段时,对普通区块的工作量证明难度和段头区块的工作量证明难度进行调节。规定最大难度目标为:0x00000000FFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF。规定创世块区块头和区块尾中的难度目标为:0x1D00FFFF。每隔2016个区块进行区块头中难度目标调整的公式为:新难度值=旧难度值*(之前2016个区块花费时长(单位秒)/2016*10*60)。每隔2016个段头区块进行区块尾中难度目标调整公式为:新难度值=旧难度值*(之前2016个段头区块花费时长(单位秒)/2016*10*60)。
在步骤S3中,基于工作量证明机制,生成新区块的具体过程为:对于普通区块,节点通过完成工作量证明后,将交易记录独立打包进新区块;对于段头区块,节点同时存储上一区块哈希地址的工作量证明以及上一段头区块哈希地址的工作量证明,将交易记录独立打包进新区块;每个节点独立对新区块进行校验,并将新区块组装进区块链。每个节点独立对新区块进行校验的过程为:节点判断要产生段头区块,在段头区块的区块头中通过变化随机数产生哈希值,若该哈希值小于区块头中难度目标值,则该新区块能够被区块链节点网络接受。同时在段头区块的区块尾头中通过变化随机数产生哈希值,若该哈希值小于区块尾中难度目标值,则该新区块才能够被区块链节点网络接受。此时,因为节点同时完成两个工作量证明,计算更复杂,产生段头区块的节点可给予双倍的记账费。
在步骤S4中,工作量证明机制下,每个节点独立对区块链中的新区块进行校验添加,在工作量证明机制下选择下载段头区块累计工作量最大同时最新段累计工作量最大的的区块链。在选择下载段头区块的累计工作量最大,同时最新区块段的累计工作量最大的区块链后,所有的节点最终在区块链全网范围内达成共识。随着更多的工作量证明被添加到链中,节点通过“投票”来选择其想要延长的链,当区块链产生了一个新区块并且延长了一个链,新区块本身就代表其投票结果。
基于相同的发明构思,本发明还公开了一种分段式区块链存储装置,包括:区块链分段模块,用于将区块链分为包括若干区块的区块段;区块段分离模块,用于将各个区块段中区块分为包含前一区块段信息的区块和普通区块;区块生成模块,用于生成新区块;节点下载模块,用于供区块链中节点下载新区块对应的区块段以及所有区块段的包含前一区块段信息的区块,并使节点能够参与区块链的共识和记账。
上述内容仅为本申请的具体实施方式,但本申请的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本申请揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本申请的保护范围之内。因此,本申请的保护范围应以权利要求的保护范围为准。

Claims (8)

1.一种分段式区块链存储方法,其特征在于,包括以下步骤:
S1.将区块链分为包括若干区块的区块段;
S2.将各个所述区块段中区块分为包含前一区块段信息的区块和普通区块;
S3.生成新区块;
S4.区域链中各节点只需要下载所述新区块对应的区块段以及所有区块段的包含前一区块段信息的区块就能够参与区块链的共识和记账;
各所述区块段中的第一个区块称为段头区块,所述段头区块即为所述包含前一区块段信息的区块,所有所述段头区块以保存前一段头区块信息的方式相连接;
所述区块链的共识采用工作量证明机制,通过调节所述普通区块的工作量证明难度和所述段头区块的工作量证明难度,对新区块的产生速度进行调整。
2.如权利要求1所述的分段式区块链存储方法,其特征在于,若区块链存在脱机节点,所述脱机节点在重新进入区块链时,只需要保存所述新区块对应的区块段,以及所述区块段的包含前一区块段信息的区块中所有未保存的包含前一区块段信息的区块,并将二者进行同步下载,就能够参与区块链的共识和记账。
3.如权利要求1所述的分段式区块链存储方法,其特征在于,所述普通区块包括区块头和区块体;所述段头区块包括区块头、区块体和区块尾,所述前一段头区块信息存储在所述段头区块的区块尾。
4.如权利要求3所述的分段式区块链存储方法,其特征在于,所述区块头包含:版本号、上一个区块的哈希地址、该区块中交易的默克尔树根的哈希值、该区块的创建时间戳、共识目标和随机参数;区块体包含:交易数量所占字节数、交易数量和交易数据;区块尾包含:段号、前段段头区块的哈希地址、区块中交易的默克尔树根的哈希值、区块的创建时间戳、段头区块的共识目标和随机参数。
5.如权利要求1所述的分段式区块链存储方法,其特征在于,每个所述区块段中所述普通区块的工作量证明难度和所述段头区块的工作量证明难度相同,不同所述区块段中的所述普通区块的工作量证明难度和所述段头区块的工作量证明难度不相同,即在进入下一个所述区块段时,对所述普通区块的工作量证明难度和所述段头区块的工作量证明难度进行调节。
6.如权利要求5所述的分段式区块链存储方法,其特征在于,所述步骤S3中生成新区块的具体过程为:对于所述普通区块,节点通过完成工作量证明后,将交易记录独立打包进新区块;对于所述段头区块,节点同时存储上一区块哈希地址的工作量证明以及上一段头区块哈希地址的工作量证明,将交易记录独立打包进新区块;每个节点独立对新区块进行校验,并将所述新区块组装进区块链。
7.如权利要求5所述的分段式区块链存储方法,其特征在于,所述步骤S4中,每个所述节点独立对区块链进行选择,在工作量证明机制下选择下载段头区块累计工作量最大同时最新段累计工作量最大的区块链。
8.一种分段式区块链存储装置,其特征在于,包括:
区块链分段模块,用于将区块链分为包括若干区块的区块段;
区块段分离模块,用于将各个所述区块段中区块分为包含前一区块段信息的区块和普通区块;
区块生成模块,用于生成新区块;
节点下载模块,用于供区块链中节点下载所述新区块对应的区块段以及所有区块段的包含前一区块段信息的区块,并使所述节点能够参与区块链的共识和记账;
各所述区块段中的第一个区块称为段头区块,所述段头区块即为所述包含前一区块段信息的区块,所有所述段头区块以保存前一段头区块信息的方式相连接;
所述区块链的共识采用工作量证明机制,通过调节所述普通区块的工作量证明难度和所述段头区块的工作量证明难度,对新区块的产生速度进行调整。
CN202010190406.6A 2020-03-18 2020-03-18 一种分段式区块链存储方法和存储装置 Active CN111414421B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010190406.6A CN111414421B (zh) 2020-03-18 2020-03-18 一种分段式区块链存储方法和存储装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010190406.6A CN111414421B (zh) 2020-03-18 2020-03-18 一种分段式区块链存储方法和存储装置

Publications (2)

Publication Number Publication Date
CN111414421A CN111414421A (zh) 2020-07-14
CN111414421B true CN111414421B (zh) 2024-05-14

Family

ID=71491118

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010190406.6A Active CN111414421B (zh) 2020-03-18 2020-03-18 一种分段式区块链存储方法和存储装置

Country Status (1)

Country Link
CN (1) CN111414421B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113487432A (zh) * 2021-07-05 2021-10-08 普华云创科技(北京)有限公司 一种基于区块链的分段存储与共识的方法及装置
CN113626260B (zh) * 2021-10-11 2022-02-22 腾讯科技(深圳)有限公司 区块链网络的数据处理方法、装置、设备及存储介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086139A (zh) * 2018-08-15 2018-12-25 昧来网络科技(上海)有限公司 动态分片方法、设备和计算机存储介质
CN109474675A (zh) * 2018-10-18 2019-03-15 尚维斯 一种基于区块链的区块高度分片式数据存储方法
CN110245190A (zh) * 2019-06-11 2019-09-17 南京荣链科技有限公司 一种区块数据分段存储方法、终端及介质
CN110868434A (zh) * 2018-08-27 2020-03-06 深圳金刚链计算技术有限公司 一种多层分片架构的区块链共识方法及***

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11018850B2 (en) * 2017-12-26 2021-05-25 Akamai Technologies, Inc. Concurrent transaction processing in a high performance distributed system of record

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109086139A (zh) * 2018-08-15 2018-12-25 昧来网络科技(上海)有限公司 动态分片方法、设备和计算机存储介质
CN110868434A (zh) * 2018-08-27 2020-03-06 深圳金刚链计算技术有限公司 一种多层分片架构的区块链共识方法及***
CN109474675A (zh) * 2018-10-18 2019-03-15 尚维斯 一种基于区块链的区块高度分片式数据存储方法
CN110245190A (zh) * 2019-06-11 2019-09-17 南京荣链科技有限公司 一种区块数据分段存储方法、终端及介质

Also Published As

Publication number Publication date
CN111414421A (zh) 2020-07-14

Similar Documents

Publication Publication Date Title
CN108717630B (zh) 一种出块方法及其实现***
Göbel et al. Increased block size and Bitcoin blockchain dynamics
CN113114759B (zh) 一种实现多链互通的跨链方法及***
CN105912618B (zh) 基于区块链的充电桩充电交易通讯方法及装置
CN108881169B (zh) 基于区块链的时间分发和同步方法及***、数据处理***
CN107181797B (zh) 一种区块链的区块压缩方法和***
KR20210003234A (ko) 분할된 블록체인 네트워크에서 블록체인의 블록을 유지하는 것
CN110493148A (zh) 一种区块处理、区块共识和区块同步方法及装置
CN111414421B (zh) 一种分段式区块链存储方法和存储装置
CN109508968A (zh) 区块链***以及其控制方法
Ramezan et al. Analysis of proof-of-work-based blockchains under an adaptive double-spend attack
CN113783699B (zh) 基于区块链的数据处理方法、装置、设备及可读存储介质
CN109101830A (zh) 基于区块链的实时数据安全防护方法和***
CN111861459A (zh) 一种基于DPoS共识算法的Iota账本优化***及方法
CN108600161A (zh) 一种公平高效的区块链共识方法
CN110213038B (zh) 一种区块链形成共识的方法及***
CN110650321A (zh) 基于区块链技术的视频内容防篡改、防丢失及恢复的方法
KR20190010515A (ko) 블록체인 관리시스템
CN109492432A (zh) 基于区块链的实时数据安全防护方法和***
CN114328518A (zh) 基于utxo模型的低存储消耗的方法和***
CN114556864A (zh) 安全共生挖掘的方法和装置
CN113360951B (zh) 一种基于分区式区块链的电子证据保全方法
CN114219650A (zh) 一种低交易延迟的区块链共识方法
CN113269543A (zh) 一种用于区块链的多层混合交易扩容***及方法
KR102349014B1 (ko) 고속 동기화 가능 탈중앙화 분산 데이터베이스 구성 방법 및 시스템

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