CN111314374A - 快速验证的区块链结构及其生成系统、验证方法 - Google Patents

快速验证的区块链结构及其生成系统、验证方法 Download PDF

Info

Publication number
CN111314374A
CN111314374A CN202010167903.4A CN202010167903A CN111314374A CN 111314374 A CN111314374 A CN 111314374A CN 202010167903 A CN202010167903 A CN 202010167903A CN 111314374 A CN111314374 A CN 111314374A
Authority
CN
China
Prior art keywords
block
hash value
blocks
coefficient
verification
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
CN202010167903.4A
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.)
Shanghai Jiaotong University
Original Assignee
Shanghai Jiaotong University
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 Jiaotong University filed Critical Shanghai Jiaotong University
Priority to CN202010167903.4A priority Critical patent/CN111314374A/zh
Publication of CN111314374A publication Critical patent/CN111314374A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L63/00Network architectures or network communication protocols for network security
    • H04L63/08Network architectures or network communication protocols for network security for authentication of entities
    • H04L63/083Network architectures or network communication protocols for network security for authentication of entities using passwords
    • 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/06Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols the encryption apparatus using shift registers or memories for block-wise or stream coding, e.g. DES systems or RC4; Hash functions; Pseudorandom sequence generators
    • H04L9/0643Hash functions, e.g. MD5, SHA, HMAC or f9 MAC

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Hardware Design (AREA)
  • Computing Systems (AREA)
  • General Engineering & Computer Science (AREA)
  • Power Engineering (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种快速验证的区块链结构及其生成系统、验证方法,所述快速验证的区块链结构的生成规则如下:对于除初始区块外的每个区块,均包含前一个区块的哈希值;对当前区块前一个区块的高度进行S‑分解,若分解结果中包含系数为2的项,则在当前区块中添加额外的区块哈希数据,所加的区块哈希数据为以系数为2的项的系数置1后所代表的数为高度的区块哈希值。本发明具有高可拓展性:由于本方案将传统的链状区块链结构改进,成为树状的区块链结构,树状结构有众多优异的特性,在验证优化方面只是本方案的一个应用,未来基于该方案的结构,结合树结构的研究,能够进行更多的科研创新。

Description

快速验证的区块链结构及其生成系统、验证方法
技术领域
本发明涉及区块链技术领域,具体地,涉及一种快速验证的区块链结构及其生成系统、验证方法。
背景技术
区块链是2008年由中本聪提出并在比特币中首先实现的一种数据结构。区块链中的数据元是一个个记录用户数据的区块,传统的结构是在每个区块中记录前一个区块的哈希值,从而形成一种一个接一个的链状结构,这也是目前国际上在多种数字货币中应用最广泛的区块链结构。区块链基于不同共识机制,实现了不可篡改性、去中心化的分布式记账机制已被广泛认同,并被广泛地应用于各种数字货币、智能合约等方面。它为分布式系统实现各节点之间可信、可靠的数据通信提供了强有力的技术支持。
区块链的区块中包含有一个头部,一个区块主体,在区块主体中记录的是区块链的用户数据,而区块的头部则是记录区块链验证所需要的信息,根据不同的共识机制区块头中记录的信息有所不同,但作为传统的区块链结构,区块头中都会记录区块主体数据的哈希值用于校验区块主体的数据,会记录和共识机制相关的信息,用于校验区块的记账权问题,以及前一个区块数据的哈希值,防止之前区块的数据被篡改,从而构成区块链的链状结构。
在区块的验证过程中,一个节点需要验算区块主体数据的哈希值与区块头是否匹配,验算区块头中的前一个区块哈希与前一个区块数据是否匹配,以及验算区块头是否符合共识机制的要求,通过这一系列的验算工作才能确认一个区块与前一个区块连接的合法性,如果发现了数据的哈希值与记录的哈希值不匹配,这就引发了一个错误,则节点将不认可这两个区块的连接性。由于哈希函数的不可逆性、抗碰撞性等优异的特性,当节点将前一个区块的哈希值写入区块后,这个区块就是对于前一个区块的确认,通过区块的链状连接,最新的区块实际上是对整个区块链数据的确认,从而,节点在得到最新的区块的时候,实际上确定了整个区块链的数据,从而他人无法对区块链上的任何数据进行篡改。
区块链的链状设计依赖哈希函数的特性,其具有非常高的可靠性。但是区块链的结构从设计之初就缺乏高效的验证方式,传统的验证工作需要节点获得整个区块链的全部数据,然后逐个去验证区块与区块之间的连接性,这不可避免地导致了验证工作的繁杂,迄今为止仍然没有合适的方式实施安全的简化验证,在大部分的数字货币中,仍旧利用传统的区块链结构,这不可避免地影响到了区块的验证工作,其中包括新节点获得最新区块、根据最新区块验证过去的区块等工作,而这些验证工作是在区块链的使用中会频繁遇到的基本工作。
现有的区块链结构:
传统的链状结构:
区块链的链状结构设计之初,没有考虑到为区块的验证工作进行简化,而目前为止区块链的验证方式大部分还是使用传统的验证方式,虽然有一些方法试图改进区块链的验证,但在效果和安全方面没有办法能够兼顾,其主要措施包括:
1)设置检查点
为了简化验证的工作,一些区块链应用会由一些特殊节点来产生名为检查点的区块,当其他节点在验证区块的过程中遇到检查点时,基于对这些特殊节点的信任来相信这些检查点区块,从而简化验证。
2)添加更多的过去区块哈希值
区块的验证工作都是基于一个区块中记录的前一个区块的哈希值,通过在区块中添加更多的区块哈希值,可以以更大的跨度验证两个区块的连接性,从而简化验证。
现有技术的缺点:
由于上述简化区块验证的措施均不是完善的简化措施,其对区块链的公平性和安全性会产生挑战,主要缺点包括:
1)检查点的产生方式不可信
由于大部分的区块链应用都是去中心化的应用,每个节点在区块链中的地位相当,没有任何一个节点在整个区块链网络中能够作为特殊节点,通过特殊节点来产生检查点,这已经是和去中心化的思想相悖,因为原本区块链就是帮助节点在陌生的去中心化网络中,实现对其他节点的信任,因此,在大部分的区块链应用中,设置检查点的方式是一种本末倒置的简化方案。
2)过量的区块数据
区块数据的大小直接影响到了节点存储区块的空间大小,影响到了节点间传输数据的快慢,没有合适的结构支持,没有规律地在区块中添加过多的区块哈希值,导致本来就紧张的区块数据空间被浪费,原先简洁的链状结构也被破坏得面目全非,而达到的验证简化的效果也十分有限。
国外学术论文《LeapChain:efficient blockchain verification for embeddedIoT》中提出了不同于本方案的另一种区块链结构,同样是为了解决区块链中的验证困难问题,但与本方案的设计结构完全不同,而且本方案的拓展性更好,在综合条件下本方案的性能也更为出色。
发明内容
针对现有技术中的缺陷,本发明的目的是提供一种快速验证的区块链结构及其生成系统、验证方法。
根据本发明提供的一种快速验证的区块链结构,所述快速验证的区块链结构的生成规则如下:
对于除初始区块外的每个区块,均包含前一个区块的哈希值;
对当前区块前一个区块的高度进行S-分解,若分解结果中包含系数为2的项,则在当前区块中添加额外的区块哈希数据,所加的区块哈希数据为以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
优选地,所述对当前区块前一个区块的高度进行S-分解包括:
当前区块高度n,其S-分解为:
n=ak*Sk+ak-1*Sk-1+…+1*St+1
其中,
ai为项Si的系数,ai∈{0,1,2},1≤i≤k,ak≠0,且若aj=2,1≤j≤k,则
Figure BDA0002408117810000031
ai=0
则对当前区块的前一个区块进行S-分解,即n-1的S-分解为:
n-1=ak*Sk+ak-1*Sk-1+…+0*St+1t2*St
包含一项系数为2,则在区块n中,不仅要有区块n-1的哈希值,还要有m的哈希值,其中
m=ak*Sk+ak-1*Sk-1+…+0*st+1+1*St
所述m的哈希值指:以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
优选地,所述快速验证的区块链结构的验证方法如下:
设待验证区块高度为m和n,且m<n:
步骤A:比较两个区块m和n的大小,若m≥n则验证完成,若m=n-1,则用传统方式验证两个区块的相连性,完成验证;若m<n-1,则进入步骤A继续执行;
步骤B:比较m的父区块m*和n的大小,若m*≤n,则验证m和m*的连接性,并将m*和n作为两个新的待验证区块,返回步骤A继续执行;否则,验证m和m+1的连接性,并将m+1和n作为两个新的待验证区块,返回步骤A继续执行;
优选地,所述用传统方式验证两个区块的相连性指:
若m=n-1,则说明两个区块在高度上只相差1,根据区块链的特性,每个区块的区块头中会存储前一个区块的哈希值,计算前一个区块的哈希值,将此值与后一个区块头中记录的哈希值比较,若两者相等,则两个区块是正确相连的。
本发明提供的一种快速验证的区块链结构的生成系统,包括:
模块S1:对于除初始区块外的每个区块,均包含前一个区块的哈希值;
模块S2:对当前区块前一个区块的高度进行S-分解,若分解结果中包含系数为2的项,则在当前区块中添加额外的区块哈希数据,所加的区块哈希数据为以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
优选地,所述对当前区块前一个区块的高度进行S-分解包括:
当前区块高度n,其S-分解为:
n=ak*Sk+ak-1*Sk-1+…+1*St+1
其中,
ai为项Si的系数,ai∈{0,1,2},1≤i≤k,ak≠0,且若aj=2,1≤j≤k,则
Figure BDA0002408117810000041
ai=0
则对当前区块的前一个区块进行S-分解,即n-1的S-分解为:
n-1=ak*Sk+ak-1*Sk-1+…+0*St+1+2*St
包含一项系数为2,则在区块n中,不仅要有区块n-1的哈希值,还要有m的哈希值,其中
m=ak*Sk+ak-1*Sk-1+…+0*St+1+1*St
所述m的哈希值指:以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
本发明提供的一种快速验证的区块链结构的验证系统,包括:
设待验证区块高度为m和n,且m<n:
模块A:比较两个区块m和n的大小,若m≥n则验证完成,若m=n-1,则用传统方式验证两个区块的相连性,完成验证;若m<n-1,则进入步骤A继续执行;
模块B:比较m的父区块m*和n的大小,若m*≤n,则验证m和m*的连接性,并将m*和n作为两个新的待验证区块,返回步骤A继续执行;否则,验证m和m+1的连接性,并将m+1和n作为两个新的待验证区块,返回步骤A继续执行;
优选地,所述用传统方式验证两个区块的相连性指:
若m=n-1,则说明两个区块在高度上只相差1,根据区块链的特性,每个区块的区块头中会存储前一个区块的哈希值,计算前一个区块的哈希值,将此值与后一个区块头中记录的哈希值比较,若两者相等,则两个区块是正确相连的。
与现有技术相比,本发明具有如下的有益效果:
1、本发明简化了区块链中的验证工作:
由于二叉树的特性,新结构下的验证方式复杂度仅为O(lgn),相比传统的O(n)方式有了明显的提高。
2、本发明具有极少的额外空间开销:
从方案的结构图已经详细规则中可以明显地发现,本方案在每个区块中的额外添加内容至多为一个哈希值,而且由于哈希值的特性,额外开销不会随着区块的增长而变大,相对于整个区块的数据量来说这个额外的空间开销可以忽略不计。
3、本发明可实现对传统区块链的兼容:
由于基于传统的区块链结构,本方案的新结构可以完全继承现有的传统区块链的研究成果,因此本方案的普及难度较低。
4、本发明具有高可拓展性:
由于本方案将传统的链状区块链结构改进,成为树状的区块链结构,树状结构有众多优异的特性,在验证优化方面只是本方案的一个应用,未来基于该方案的结构,结合树结构的研究,能够进行更多的科研创新。
附图说明
通过阅读参照以下附图对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1为本发明提供的区块链的新结构示意图。
图2为本发明提供的n-1的S-分解示意图。
具体实施方式
下面结合具体实施例对本发明进行详细说明。以下实施例将有助于本领域的技术人员进一步理解本发明,但不以任何形式限制本发明。应当指出的是,对本领域的普通技术人员来说,在不脱离本发明构思的前提下,还可以做出若干变化和改进。这些都属于本发明的保护范围。
根据本发明提供的一种快速验证的区块链结构,所述快速验证的区块链结构的生成规则如下:
对于除初始区块外的每个区块,均包含前一个区块的哈希值;
对当前区块前一个区块的高度进行S-分解,若分解结果中包含系数为2的项,则在当前区块中添加额外的区块哈希数据,所加的区块哈希数据为以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
具体地,所述对当前区块前一个区块的高度进行S-分解包括:
当前区块高度n,其S-分解为:
n=ak*Sk+ak-1*Sk-1+…+1*St+1
其中,
ai为项Si的系数,ai∈{0,1,2},1≤i≤k,ak≠0,且若aj=2,1≤j≤k,则
Figure BDA0002408117810000061
ai=0
则对当前区块的前一个区块进行S-分解,即n-1的S-分解为:
n-1=ak*Sk+ak-1*Sk-1+…+0*St+1+2*St
包含一项系数为2,则在区块n中,不仅要有区块n-1的哈希值,还要有m的哈希值,其中
m=ak*Sk+ak-1*Sk-1+…+0*St+1+1*St
所述m的哈希值指:以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
具体地,所述快速验证的区块链结构的验证方法如下:
设待验证区块高度为m和n,且m<n:
步骤A:比较两个区块m和n的大小,若m≥n则验证完成,若m=n-1,则用传统方式验证两个区块的相连性,完成验证;若m<n-1,则进入步骤A继续执行;
步骤B:比较m的父区块m*和n的大小,若m*≤n,则验证m和m*的连接性,并将m*和n作为两个新的待验证区块,返回步骤A继续执行;否则,验证m和m+1的连接性,并将m+1和n作为两个新的待验证区块,返回步骤A继续执行;
具体地,所述用传统方式验证两个区块的相连性指:
若m=n-1,则说明两个区块在高度上只相差1,根据区块链的特性,每个区块的区块头中会存储前一个区块的哈希值,计算前一个区块的哈希值,将此值与后一个区块头中记录的哈希值比较,若两者相等,则两个区块是正确相连的。
本发明提供的一种快速验证的区块链结构的生成系统,包括:
模块S1:对于除初始区块外的每个区块,均包含前一个区块的哈希值;
模块S2:对当前区块前一个区块的高度进行S-分解,若分解结果中包含系数为2的项,则在当前区块中添加额外的区块哈希数据,所加的区块哈希数据为以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
具体地,所述对当前区块前一个区块的高度进行S-分解包括:
当前区块高度n,其S-分解为:
n=ak*Sk+ak-1*Sk-1+…+1*St+1
其中,
ai为项Si的系数,ai∈{0,1,2},1≤i≤k,ak≠0,且若aj=2,1≤j≤k,则
Figure BDA0002408117810000071
ai=0
则对当前区块的前一个区块进行S-分解,即n-1的S-分解为:
n-1=ak*Sk+ak-1*Sk-1+…+0*St+1+2*St
包含一项系数为2,则在区块n中,不仅要有区块n-1的哈希值,还要有m的哈希值,其中
m=ak*Sk+ak-1*Sk-1+…+0*St+1+1*St
所述m的哈希值指:以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
本发明提供的一种快速验证的区块链结构的验证系统,包括:
设待验证区块高度为m和n,且m<n:
模块A:比较两个区块m和n的大小,若m≥n则验证完成,若m=n-1,则用传统方式验证两个区块的相连性,完成验证;若m<n-1,则进入步骤A继续执行;
模块B:比较m的父区块m*和n的大小,若m*≤n,则验证m和m*的连接性,并将m*和n作为两个新的待验证区块,返回步骤A继续执行;否则,验证m和m+1的连接性,并将m+1和n作为两个新的待验证区块,返回步骤A继续执行;
具体地,所述用传统方式验证两个区块的相连性指:
若m=n-1,则说明两个区块在高度上只相差1,根据区块链的特性,每个区块的区块头中会存储前一个区块的哈希值,计算前一个区块的哈希值,将此值与后一个区块头中记录的哈希值比较,若两者相等,则两个区块是正确相连的。
下面通过优选例,对本发明进行更为具体地说明。
优选例1:
本发明基于密码学技术,利用二叉树结构来构建新的区块链结构,实现对区块链验证工作的简化。
本方案将区块链按照区块高度进行排列,以二叉树的结构重新规划区块间的连接性,在传统区块链的结构基础上,在每个区块中至多只要添加一个额外的过去区块哈希值,就能够让区块们呈现出一个树状的新结构特性。
由于保持了传统区块链的连接结构,因此新结构不会对区块链原有的功能产生影响,而二叉树的结构具有众多的优异特性,将其用作区块链的新结构,实现简化验证的功能只是新结构的一个特性。
新结构如下图1所示,一个带编号的圆型表示相应高度的一个区块,图中的实线箭头即为传统区块链的连接方式,而图中的虚线箭头,则是新结构中额外添加的连接要求,在箭头指向的区块中额外记录箭头源的区块的哈希值。
新结构生成规则:
虽然通过二叉树的图形可以非常直观地理解新结构的验证优势,但如何在计算机程序中生成这样的树,通过怎么样的规则来在每个区块中添加之前区块的数据,才能让本来扁平的链状结构具有树的特性,这将在本节进行介绍。
首先,定义
Sk=2k-1 (1)
可以发现一个高度为k的二叉树,其中节点的个数为Sk,且
Sk+1=2*Sk+1 (2)
对任意的正整数k成立
再定义一种数学上的分解,对于任意的正整数n,令
n=ak*Sk+ak-1*Sk-1+…+a2*S2+a1*S1 (3)
其中,ai∈{0,1,2},1≤i≤k,ak≠0,且若aj=2,1≤j≤k,则
Figure BDA0002408117810000081
ai=0,这种结构称之为n的S-分解,对于任意的正整数,其S-分解存在且唯一。
在上述理论的基础上,新结构的生成规则如下:
首先,对于除初始区块外的每个区块,都要包含前一个区块的哈希值。
其次,对当前区块前一个区块的高度进行S-分解,若分解结果中包含系数为2的项,则在当前区块中添加额外的区块哈希数据,所加的区块数据为以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
例如,当前区块高度n,其S-分解为
n=ak*Sk+ak-1*Sk-1+…+1*St+1
St+1只是对n的S-分解举例中的未知末项,因为之后会用到n-1的S-分解,所以此处用t+1的形式表示,t表示一个正整数(若此处用St之后还需要声明St-1的合法性,即t-1≥1)。
则n-1的S-分解为(新结构生成规则中所规定的“对当前区块的前一个区块进行S-分解”,可以说n-1的S-分解才是规则中的关键,而区块高度n的S-分解只是顺便的演示)
n-1=ak*sk+ak-1*Sk-1+…+0*St+1+2*St
包含一项系数为2,则在区块n中,不仅要有区块n-1的哈希值,还要有m的哈希值,其中
m=ak*Sk+ak-1*Sk-1+…+0*St+1+1*St
以树的形式大致如图2所示。
新结构下验证方式:
新结构中保持了传统结构的特性,因此在对相邻区块的验证场景下,新结构可以使用和传统方式相同的方法进行验证。而在对两个相距较远的区块间进行验证时,新结构下能够有额外一种验证的方式,假设待验证区块高度为m和n,且m<n:
1)比较两个区块m和n的大小,若m≥n则验证完成,若m=n-1,则用传统的方式验证两个区块的相连性(若m=n-1,则说明两个区块在高度上只相差1,那么根据区块链的特性,每个区块的区块头中会存储前一个区块的哈希值,传统验证两个区块是否连接的方式是:计算前一个区块的哈希值,将此值与后一个区块头中记录的哈希值比较,若两者相等,则两个区块是正确相连的),完成验证,若m<n-1,则进入2)
2)比较m的父区块m*和n的大小,若m*≤n,则验证m和m*的连接性,并将m*和n作为两个新的待验证区块回到1),否则,验证m和m+1的连接性,并将m+1和n作为两个新的待验证区块回到1)
通过上述两个步骤的不断循环,由于每次两个待验证区块的高度差都在不断减小,则两个步骤的循环终将停止,也就能得到正确的连接性验证结果,而在2)中,我们用到了新结构的树状特性,即优先验证区块和其父区块的连接性,而不是逐个区块的验证,达到更加简化的验证,根据二叉树的特性,从一个叶子节点到树根节点的高度仅为节点个数的对数级别,即新结构下的验证方式复杂度仅为O(lgn),相比传统的O(n)方式有了明显的提高。
创新的树状区块链新结构。
树状结构区块链的生成规则和验证机制。
基于树状结构的区块链的研究、改进和应用。
在本申请的描述中,需要理解的是,术语“上”、“下”、“前”、“后”、“左”、“右”、“竖直”、“水平”、“顶”、“底”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本申请和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本申请的限制。
本领域技术人员知道,除了以纯计算机可读程序代码方式实现本发明提供的系统、装置及其各个模块以外,完全可以通过将方法步骤进行逻辑编程来使得本发明提供的系统、装置及其各个模块以逻辑门、开关、专用集成电路、可编程逻辑控制器以及嵌入式微控制器等的形式来实现相同程序。所以,本发明提供的系统、装置及其各个模块可以被认为是一种硬件部件,而对其内包括的用于实现各种程序的模块也可以视为硬件部件内的结构;也可以将用于实现各种功能的模块视为既可以是实现方法的软件程序又可以是硬件部件内的结构。
以上对本发明的具体实施例进行了描述。需要理解的是,本发明并不局限于上述特定实施方式,本领域技术人员可以在权利要求的范围内做出各种变化或修改,这并不影响本发明的实质内容。在不冲突的情况下,本申请的实施例和实施例中的特征可以任意相互组合。

Claims (8)

1.一种快速验证的区块链结构,其特征在于,所述快速验证的区块链结构的生成规则如下:
对于除初始区块外的每个区块,均包含前一个区块的哈希值;
对当前区块前一个区块的高度进行S-分解,若分解结果中包含系数为2的项,则在当前区块中添加额外的区块哈希数据,所加的区块哈希数据为以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
2.根据权利要求1所述的快速验证的区块链结构,其特征在于,所述对当前区块前一个区块的高度进行S-分解包括:
当前区块高度n,其S-分解为:
n=ak*Sk+ak-1*Sk-1+…+1*St+1
其中,
ai为项Si的系数,ai∈{0,1,2},1≤i≤k,ak≠0,且若aj=2,1≤j≤k,则
Figure FDA0002408117800000011
ai=0
则对当前区块的前一个区块进行S-分解,即n-1的S-分解为:
n-1=ak*Sk+ak-1*Sk-1+…+0*St+1+2*St
包含一项系数为2,则在区块n中,不仅要有区块n-1的哈希值,还要有m的哈希值,其中
m=ak*Sk+ak-1*Sk-1+…+0*St+1+1*St
所述m的哈希值指:以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
3.根据权利要求1所述的快速验证的区块链结构,其特征在于,所述快速验证的区块链结构的验证方法如下:
设待验证区块高度为m和n,且m<n:
步骤A:比较两个区块m和n的大小,若m≥n则验证完成,若m=n-1,则用传统方式验证两个区块的相连性,完成验证;若m<n-1,则进入步骤A继续执行;
步骤B:比较m的父区块m*和n的大小,若m*≤n,则验证m和m*的连接性,并将m*和n作为两个新的待验证区块,返回步骤A继续执行;否则,验证m和m+1的连接性,并将m+1和n作为两个新的待验证区块,返回步骤A继续执行。
4.根据权利要求3所述的快速验证的区块链结构,其特征在于,所述用传统方式验证两个区块的相连性指:
若m=n-1,则说明两个区块在高度上只相差1,根据区块链的特性,每个区块的区块头中会存储前一个区块的哈希值,计算前一个区块的哈希值,将此值与后一个区块头中记录的哈希值比较,若两者相等,则两个区块是正确相连的。
5.一种快速验证的区块链结构的生成系统,其特征在于,包括:
模块S1:对于除初始区块外的每个区块,均包含前一个区块的哈希值;
模块S2:对当前区块前一个区块的高度进行S-分解,若分解结果中包含系数为2的项,则在当前区块中添加额外的区块哈希数据,所加的区块哈希数据为以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
6.根据权利要求5所述的快速验证的区块链结构,其特征在于,所述对当前区块前一个区块的高度进行S-分解包括:
当前区块高度n,其S-分解为:
n=ak*Sk+ak-1*Sk-1+…+1*St+1
其中,
ai为项Si的系数,ai∈{0,1,2},1≤i≤k,ak≠0,且若aj=2,1≤j≤k,则
Figure FDA0002408117800000021
ai=0
则对当前区块的前一个区块进行S-分解,即n-1的S-分解为:
n-1=ak*Sk+ak-1*Sk-1+…+0*St+1+2*St
包含一项系数为2,则在区块n中,不仅要有区块n-1的哈希值,还要有m的哈希值,其中
m=ak*Sk+ak-1*Sk-1+…+0*St+1+1*St
所述m的哈希值指:以系数为2的项的系数置1后所代表的数为高度的区块哈希值。
7.一种快速验证的区块链结构的验证系统,其特征在于,包括:
设待验证区块高度为m和n,且m<n:
模块A:比较两个区块m和n的大小,若m≥n则验证完成,若m=n-1,则用传统方式验证两个区块的相连性,完成验证;若m<n-1,则进入步骤A继续执行;
模块B:比较m的父区块m*和n的大小,若m*≤n,则验证m和m*的连接性,并将m*和n作为两个新的待验证区块,返回步骤A继续执行;否则,验证m和m+1的连接性,并将m+1和n作为两个新的待验证区块,返回步骤A继续执行。
8.根据权利要求7所述的快速验证的区块链结构,其特征在于,所述用传统方式验证两个区块的相连性指:
若m=n-1,则说明两个区块在高度上只相差1,根据区块链的特性,每个区块的区块头中会存储前一个区块的哈希值,计算前一个区块的哈希值,将此值与后一个区块头中记录的哈希值比较,若两者相等,则两个区块是正确相连的。
CN202010167903.4A 2020-03-11 2020-03-11 快速验证的区块链结构及其生成系统、验证方法 Pending CN111314374A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010167903.4A CN111314374A (zh) 2020-03-11 2020-03-11 快速验证的区块链结构及其生成系统、验证方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010167903.4A CN111314374A (zh) 2020-03-11 2020-03-11 快速验证的区块链结构及其生成系统、验证方法

Publications (1)

Publication Number Publication Date
CN111314374A true CN111314374A (zh) 2020-06-19

Family

ID=71151136

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010167903.4A Pending CN111314374A (zh) 2020-03-11 2020-03-11 快速验证的区块链结构及其生成系统、验证方法

Country Status (1)

Country Link
CN (1) CN111314374A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104558A (zh) * 2020-10-30 2020-12-18 上海交通大学 区块链分发网络的实现方法、系统、终端及介质

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106899412A (zh) * 2017-03-30 2017-06-27 北京链银博科技有限责任公司 一种区块链隐私保护方法、装置及系统
CN107807951A (zh) * 2017-09-18 2018-03-16 联动优势科技有限公司 一种区块链生成方法、数据验证方法、节点及系统
US20180337931A1 (en) * 2017-05-22 2018-11-22 Amdocs Development Limited System, method, and computer program for verifying virtual network function (vnf) package and/or network service definition integrity
CN109426952A (zh) * 2017-08-22 2019-03-05 汇链丰(北京)科技有限公司 一种区块链架构
WO2019179540A2 (en) * 2019-07-11 2019-09-26 Alibaba Group Holding Limited Shared blockchain data storage

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106899412A (zh) * 2017-03-30 2017-06-27 北京链银博科技有限责任公司 一种区块链隐私保护方法、装置及系统
US20180337931A1 (en) * 2017-05-22 2018-11-22 Amdocs Development Limited System, method, and computer program for verifying virtual network function (vnf) package and/or network service definition integrity
CN109426952A (zh) * 2017-08-22 2019-03-05 汇链丰(北京)科技有限公司 一种区块链架构
CN107807951A (zh) * 2017-09-18 2018-03-16 联动优势科技有限公司 一种区块链生成方法、数据验证方法、节点及系统
WO2019179540A2 (en) * 2019-07-11 2019-09-26 Alibaba Group Holding Limited Shared blockchain data storage

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
JIANJIAN YU,LEI FAN,GONGLIANG CHEN: "A New Structure of Blockchain to Simplify the Verificatio", 《SPRINGERLINK》 *
TUYET DUONG,ALEXANDER CHEPURNOY,LEI FAN,HONG-SHENG ZHOU: "TwinsCoin: A Cryptocurrency via Proof-of-Work and Proof-of-Stake", 《BCC "18: PROCEEDINGS OF THE 2ND ACM WORKSHOP ON BLOCKCHAINS, CRYPTOCURRENCIES, AND CONTRACTS》 *
陈逸涛,周志洪,陈恭亮: "基于隐私保护的央行数字货币监管审计架构", 《通信技术》 *

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104558A (zh) * 2020-10-30 2020-12-18 上海交通大学 区块链分发网络的实现方法、系统、终端及介质
CN112104558B (zh) * 2020-10-30 2021-09-07 上海交通大学 区块链分发网络的实现方法、系统、终端及介质

Similar Documents

Publication Publication Date Title
CN110869967B (zh) 用于并行处理区块链交易的系统和方法
CN110663054B (zh) 复制带有终止条件的智能合约
EP3678346B1 (en) Blockchain smart contract verification method and apparatus, and storage medium
JP7208989B2 (ja) ブロックチェーン上に検証鍵を記録するためのシステム
CN106126722B (zh) 一种基于验证的前缀混合树及设计方法
CN1490736B (zh) 用于创建和验证数字签名子对象的方法和系统
WO2018215947A1 (en) Script-based blockchain interaction
US9008303B1 (en) Method and apparatus for generating forward secure pseudorandom numbers
US8316417B2 (en) Method for dynamic secure management of an authenticated relational table in a database
Kapralov et al. Optimal lower bounds for universal relation, and for samplers and finding duplicates in streams
CN108985934B (zh) 区块链修改方法和装置
CN113065169B (zh) 一种文件存证方法、装置及设备
CN111314374A (zh) 快速验证的区块链结构及其生成系统、验证方法
KR20220010534A (ko) 작업 증명 블록체인 네트워크 상의 비병렬식 채굴용 시스템 및 방법
CN112637203A (zh) 一种大数据流验证方法及系统
CN116938523A (zh) 区块链系统、运行方法、电子设备和存储介质
CN111416703A (zh) 一种区块链跨越式和跳跃式快速同步方法及系统
KR102231257B1 (ko) 채굴 장치, 및 채굴 장치 동작 방법
CN115982310A (zh) 一种自带验证功能的链表生成方法及电子设备
US11996861B2 (en) Decoding method and decoding device
Niu et al. Tamper-Proof Storage of User Movement Logs in Smart Parks
WO2022087888A1 (zh) 信息处理方法、装置、电子设备和存储介质
CN117610087B (zh) 区块处理方法及装置、电子设备
Ingala Fast hash-based additive accumulators
Vives Time-Coordinated Signatures

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200619