CN110365493B - 多形态可派生的环状区块链构建方法 - Google Patents

多形态可派生的环状区块链构建方法 Download PDF

Info

Publication number
CN110365493B
CN110365493B CN201910777156.3A CN201910777156A CN110365493B CN 110365493 B CN110365493 B CN 110365493B CN 201910777156 A CN201910777156 A CN 201910777156A CN 110365493 B CN110365493 B CN 110365493B
Authority
CN
China
Prior art keywords
block
chain
parameter
main chain
calculating
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
CN201910777156.3A
Other languages
English (en)
Other versions
CN110365493A (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.)
University of Electronic Science and Technology of China
Original Assignee
University of Electronic Science and Technology 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 University of Electronic Science and Technology of China filed Critical University of Electronic Science and Technology of China
Priority to CN201910777156.3A priority Critical patent/CN110365493B/zh
Publication of CN110365493A publication Critical patent/CN110365493A/zh
Application granted granted Critical
Publication of CN110365493B publication Critical patent/CN110365493B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1044Group management mechanisms 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/10Protocols in which an application is distributed across nodes in the network
    • H04L67/104Peer-to-peer [P2P] networks
    • H04L67/1059Inter-group management mechanisms, e.g. splitting, merging or interconnection of groups
    • 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/32Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
    • H04L9/3236Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
    • 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/50Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Physics & Mathematics (AREA)
  • Computing Systems (AREA)
  • Mathematical Physics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明涉及多形态可派生的环状区块链构建方法,包括:A.初始化,生成初始区块;B.生成密钥;C.根据初始区块,通过选择随机数
Figure DDA0002175443150000011
和计算得到计算参数c1,构建环状主链D.根据随机数{αi}1≤i≤m,计算子链的参数{sci}1≤i≤m,从环状主链派生环状的子链E.将所派生的子链的起始区块SB1的指针指向所述环状主链Cn中的区块Bπ,将子链的第二个区块SB2的指针指向所述子链的起始区块SB1,并且以此类推使区块SBi的指针指向SBi+1,使环状主链派生链状的子链。本发明的方法有效加强了区块链的功能性,使区块链能够容纳更多的密码方案和例如环签名,群签名等功能,有效解决了区块链的功能性单一和扩展性差的问题。

Description

多形态可派生的环状区块链构建方法
技术领域
本发明涉及网络安全领域,具体讲是多形态可派生的环状区块链构建方法。
背景技术
区块链的概念是在2008年首次正式被提出的,它可以用于实现去中心化环境下的公共账本和不可更改的交易记录。传统的区块链采用的是链式结构,即新的区块从链的尾部插入。目前区块链面临着存储耗费和可扩展性的问题,即区块链的数据内容庞大,不便于存储,并且区块结构单一,无法较好的从链式结构上进行更进一步的扩展,从而支持更加多样化的服务和功能。与此同时,子链派生结构单一,无法很好的支持更多的区块链的应用场景。而且,由链式主链派生出的子链仍然为链式结构,即子链的区块仍然是从链的后方顺序插入。该方法虽然能够一定程度上提高区块链的确认效率和转移主链的冗余数据,却仍然无法有效的解决区块链的可扩展性问题。
发明内容
本发明提供了一种多形态可派生的环状区块链构建方法,以解决区块链的功能性单一和扩展性差的问题。
本发明多形态可派生的环状区块链构建方法,包括:
A.初始化:根据安全参数λ,通过哈希函数,输出系统公开参数P和初始区块B1(GenesisBlock);其中所述的安全参数λ是在系统初始化阶段,由初始化方根据需要输入的参数,该参数广泛的体现在现有的任何密码方案的设计中,是一个公知的参数,通常为所选择的密钥长度(如128256比特等)。初始化方可以是系统拥有者,也可以是需要运行该算法的用户等。
B.生成密钥:根据所述的系统公开参数P,计算得到用户的私钥xi和公钥yi,其中1≤i≤n,n为生成区块链的区块的总数;
C.构建环状主链:将交易信息记录到区块中,各区块按生成时间排列,并将排列的最后一个区块与所述的初始区块B1相连,通过选择一个随机数
Figure BDA0002175443130000011
计算得到以初始区块B1为环起点的计算参数c1,再由计算参数c1计算得到长度为n的环状主链Cn,其中,R表示从q阶的整数群Zq中随机选择一个元素u,Zq是由(0,1,…,q-1)元素所组成的q阶的整数群;根据所述环状主链Cn得到公钥集合L={yi}1≤i≤n,其中每个区块Bi对应一个所述的公钥yi,每个公钥yi对应一个所述的私钥xi
D.环状主链派生环状的子链:从环状主链Cn中的区块Bπ派生出的区块集合为{SBi}1≤i≤m,其中π为环状主链Cn中需要派生子链的区块Bπ在环状主链Cn中的位置,m为子链的长度;选择随机数{αi}1≤i≤m,计算子链的参数{sci}1≤i≤m,得到长度为m的环状的子链
Figure BDA0002175443130000021
其中,Bπ为子链SCm在环状主链Cn中的派生位置,sc1为子链的起始区块SB1参数,每一个SBi为子链中的一个区块,αi为子链的随机数,
Figure BDA0002175443130000022
为子链中最后一个区块SBm对应的私钥sxm的参数,Ls为子链的公钥集合,us为实现子链为首尾相连环状结构的参数;
E.环状主链派生链状的子链:从环状主链Cn中的区块Bπ派生出的区块集合为{SBi}1≤i≤m,其中π为环状主链Cn中需要派生子链的区块Bπ在环状主链Cn中的位置,m为子链的长度;将子链的起始区块SB1的指针指向所述环状主链Cn中的区块Bπ,将子链的第二个区块SB2的指针指向所述子链的起始区块SB1,并且以此类推使子链的区块SBi的指针指向子链的SBi+1,1≤i≤m。
本发明从数据结构层面上对区块链进行创新,提出区块链以环状和链状共存的形式,以及主链派生出子链的形式,有效加强了区块链的功能性,该结构能够允许区块链容纳更多的密码方案和例如环签名,群签名等功能。
进一步的,步骤C之后还包括:
F.验证环状主链Cn:根据区块链的验证公式对所述的环状主链Cn进行计算后输出验证结果;
G.向环状主链加入新区块:根据所述的环状主链Cn和需要新加入的新区块集合{B′i}n+1≤i≤n+k,计算后输出新的环状主链Cn+k或加入新区块失败的标识,其中k为需要加入的新区块的个数。
具体的,步骤A包括:
A1.根据安全参数λ选择生成元为g且群阶数为q的群G;
A2.设置哈希函数分别为:H1:{0,1}*→G和H2:{0,1}*→Zq,其中,H1为第一哈希函数,作用是将0或1所组成任意长度的字符串{0,1}*映射到群G的一个任意元素上,*表示字符串{0,1}为任意长度,H2为第二哈希函数,作用是将0或者1所组成任意长度的字符串{0,1}*映射到由(0,1,…,q-1)元素所组成的q阶的整数群Zq上,Z表示整数群;
A3.输出系统公开参数P=<G,q,g,H1,H2>;
A4.生成初始区块B1,将所述的系统公开参数P写入初始区块B1
具体的,步骤B中所述计算用户的私钥xi和公钥yi为:根据所述的系统公开参数P,选择一个随机数
Figure BDA0002175443130000023
作为用户的私钥xi,R表示从q阶的整数群Zq中随机选择一个元素xi,根据所述私钥xi计算公钥
Figure BDA0002175443130000024
具体的,步骤C包括:
C1.将当前时间段的交易信息打包,并记录到区块中,将构成环状主链的区块集合{Bi}1≤i≤n中的各区块按生成时间的顺序排列,并将排列的最后一个区块Bn与初始区块B1相连,形成B1||…||Bn||B1的首尾相连的环结构;
C2.计算h=H1(L),和
Figure BDA0002175443130000031
其中,L={yi}1≤i≤n为区块集合{Bi}1≤i≤n对应的公钥集合,h表示将公钥集合L通过第一哈希函数H1映射到群G上的一个元素,
Figure BDA0002175443130000032
为最后一个区块Bn对应私钥xn的参数,然后选择一个随机数
Figure BDA0002175443130000033
计算以初始区块B1为环起点的计算参数
Figure BDA0002175443130000034
随机数u为用于插入新区块的计算参数;
C3.选择一个随机数
Figure BDA0002175443130000035
计算区块Bi+1对应的计算参数
Figure BDA0002175443130000036
并根据环结构收尾相连的特性,得到cn+1=c1,然后计算随机数βn=(u-xncn mod q);
C4.输出由n个区块构成的环状主链
Figure BDA0002175443130000037
其中Bi和βi表示第i个区块的内容和对应的随机数。
具体的,步骤E包括:根据所述环状主链Cn中的区块Bπ的哈希值
Figure BDA0002175443130000038
从区块Bπ派生出子链的起始区块SB1,从子链的起始区块SB1依次往后执行基于工作量证明的共识机制,对子链的区块SBi分别进行顺序记录和确认,并且依次使子链的区块SBi+1的指针指向子链的区块SBi
具体的,步骤F包括:
F1.计算得到长度为n的环状主链的表达式
Figure BDA0002175443130000039
其中c1为初始区块B1的计算参数,Bi和βi表示第i个区块的内容和对应的随机数,
Figure BDA00021754431300000310
为最后一个区块Bn对应私钥xn的参数,L为各区块的公钥集合,u为用于插入新区块的计算参数;
然后计算h=H1(L),H1为第一哈希函数,根据随机数集合{βi}1≤i≤n,计算得到第一中间参数
Figure BDA00021754431300000311
第二中间参数
Figure BDA00021754431300000312
和区块Bi+1的计算参数
Figure BDA00021754431300000313
其中g为生成元,yi为区块Bi的公钥;
F2.验证等式:
Figure BDA00021754431300000314
是否成立,若成立则输出1,否则输出0,其中H2为第二哈希函数。
具体的,步骤G包括:
G1.在长度为n的环状主链
Figure BDA00021754431300000315
中加入k个新区块,新区块集合为{B′i}n+1≤i≤n+k,添加各新区块对应的公钥yi至公钥集合L,生成新的公钥集合L′=L||{yi}n+1≤i≤n+k,计算h′=H1(L′),计算新的最后一个区块Bn+k对应私钥xn+k的参数
Figure BDA0002175443130000041
然后计算初始区块B1新的计算参数
Figure BDA0002175443130000042
u为用于插入新区块的计算参数;
G2.根据得到的初始区块B1新的计算参数c′1,在i=(1,…,n-1)的范围内计算得到区块Bi+1的计算参数
Figure BDA0002175443130000043
G3.在i=(n,…,n+k-1)的范围内选择随机数
Figure BDA0002175443130000044
计算区块Bi+1的计算参数
Figure BDA0002175443130000045
G4.计算i=n+k时,第n+k个区块对应的随机数βn+k=(v-xn+kc′n+k mod q),然后验证等式
Figure BDA0002175443130000046
是否成立,若成立则表示新区块成功加入了环状主链,输出新的长度为n+k的环式主链
Figure BDA0002175443130000047
否则输出加入新区块失败的标识。
本发明多形态可派生的环状区块链构建方法的有益效果包括:
(1)提出了一种多形态的区块链结构,允许区块链以环状和链状两种形态共存,进一步加强了区块链的功能性,该结构允许区块链能够容纳更多的密码方案和例如环签名,群签名等功能。
(2)通过从主链上派生出子链,极大的提高了区块链的可扩展性。更进一步的,由于派生子链可以独立延伸而主链区块保持恒定,并且子链的性质和参数能够根据应用需求变更,能够使主链在完成交易确认的同时,不会受到线性增加的交易数量的影响。如将派生子链作为微支付方案,直接用于加速主链的交易,还能够使得主链上的交易得以更高效的确认,同时,当小笔交易在子链上进行时,主链也不会受到影响。
(3)更高效的记录交易信息,同时主链能够保持恒定和高可扩展性,从而为区块链的可扩展性和功能性提供了一体化的解决方案。
以下结合实施例的具体实施方式,对本发明的上述内容再作进一步的详细说明。但不应将此理解为本发明上述主题的范围仅限于以下的实例。在不脱离本发明上述技术思想情况下,根据本领域普通技术知识和惯用手段做出的各种替换或变更,均应包括在本发明的范围内。
附图说明
图1为本发明多形态可派生的环状区块链构建方法的流程图。
图2为通过图1构建的多形态可派生的环状区块链的结构示意图。
具体实施方式
如图1所示本发明多形态可派生的环状区块链构建方法,包括:
A.初始化:根据安全参数λ,通过哈希函数,输出系统公开参数P和初始区块B1(GenesisBlock),包括:
A1.根据安全参数λ选择生成元为g且群阶数为q的群G;
A2.设置哈希函数分别为:H1:{0,1}*→G和H2:{0,1}*→Zq,其中,H1为第一哈希函数,作用是将0或1所组成任意长度的字符串{0,1}*映射到群G的一个任意元素上,*表示字符串{0,1}为任意长度,H2为第二哈希函数,作用是将0或者1所组成任意长度的字符串{0,1}*映射到由(0,1,…,q-1)元素所组成的q阶的整数群Zq上,Z表示整数群;
A3.输出系统公开参数P=<G,q,g,H1,H2>;
A4.生成初始区块B1,将所述的系统公开参数P写入初始区块B1
B.生成密钥:根据所述的系统公开参数P,选择一个随机数
Figure BDA0002175443130000051
作为用户的私钥xi,R表示从q阶的整数群Zq中随机选择一个元素xi,根据所述私钥xi计算公钥
Figure BDA0002175443130000052
其中1≤i≤n,n为生成区块链的区块的总数。
C.构建环状主链:
C1.将当前时间段的交易信息打包,并记录到区块中,将构成环状主链的区块集合{Bi}1≤i≤n中的各区块按生成时间的顺序排列,并将排列的最后一个区块Bn与初始区块B1相连,形成B1||…||Bn||B1的首尾相连的环结构;
C2.计算h=H1(L),和
Figure BDA0002175443130000053
其中,L={yi}1≤i≤n为区块集合{Bi}1≤i≤n对应的公钥集合,h表示将公钥集合L通过第一哈希函数H1映射到群G上的一个元素,
Figure BDA0002175443130000054
为最后一个区块Bn对应私钥xn的参数,然后选择一个随机数
Figure BDA0002175443130000055
u是从q阶的整数群Zq中随机选择一个元素,再计算以初始区块B1为环起点的计算参数
Figure BDA0002175443130000056
随机数u为用于插入新区块的计算参数;
C3.选择一个随机数
Figure BDA0002175443130000057
计算区块Bi+1对应的计算参数
Figure BDA0002175443130000058
并根据环结构收尾相连的特性,得到cn+1=c1,然后计算随机数βn=(u-xncn mod q);
C4.如图2所示,输出由n个区块构成的环状主链
Figure BDA0002175443130000059
其中Bi和βi表示第i个区块的内容和对应的随机数。
D.如图2所示,环状主链派生环状的子链:从环状主链Cn中的区块Bπ派生出的区块集合为{SBi}1≤i≤m,其中π为环状主链Cn中需要派生子链的区块Bπ在环状主链Cn中的位置,m为子链的长度;选择随机数{αi}1≤i≤m,计算子链的参数{sci}1≤i≤m,得到长度为m的环状的子链
Figure BDA0002175443130000061
其中,Bπ为子链SCm在环状主链Cn中的派生位置,sc1为子链的起始区块SB1参数,每一个SBi为子链中的一个区块,αi为子链的随机数,
Figure BDA0002175443130000062
为子链中最后一个区块SBm对应的私钥sxm的参数,Ls为子链的公钥集合,us为实现子链为首尾相连环状结构的参数;
E.如图2所示,环状主链派生链状的子链:从环状主链Cn中的区块Bπ派生出的区块集合为{SBi}1≤i≤m,其中π为环状主链Cn中需要派生子链的区块Bπ在环状主链Cn中的位置,m为子链的长度;从区块Bπ派生出子链的起始区块SB1,根据区块Bπ的哈希值
Figure BDA0002175443130000063
从子链的起始区块SB1依次往后执行基于工作量证明(Proof-of-Ownership,PoW)的共识机制,对子链的区块SBi分别进行顺序记录和确认。并且将子链的起始区块SB1的指针指向环状主链Cn的区块Bπ,将子链中派生的第二个区块SB2的指针指向所述子链的起始区块SB1,以此类推使子链的区块SBi的指针指向子链的区块SBi+1,1≤i≤m。
F.验证环状主链Cn
F1.计算得到长度为n的环状主链的表达式
Figure BDA0002175443130000064
其中c1为初始区块B1的计算参数,Bi和βi表示第i个区块的内容和对应的随机数,
Figure BDA0002175443130000065
为最后一个区块Bn对应私钥xn的参数,L为各区块的公钥集合,u为用于插入新区块的计算参数;
然后计算h=H1(L),根据随机数集合{βi}1≤i≤n,计算得到第一中间参数
Figure BDA0002175443130000066
Figure BDA0002175443130000067
第二中间参数
Figure BDA0002175443130000068
和区块Bi+1的计算参数
Figure BDA0002175443130000069
其中g为生成元,yi为区块Bi的公钥;
F2.验证等式:
Figure BDA00021754431300000610
是否成立,若成立则输出1,否则输出0。
G.向环状主链加入新区块:
G1.在长度为n的环状主链
Figure BDA00021754431300000611
中加入k个新区块,新区块集合为{B′i}n+1≤i≤n+k,添加各新区块对应的公钥yi至公钥集合L,生成新的公钥集合L′=L||{yi}n+1≤i≤n+k,计算h′=H1(L′),计算新的最后一个区块Bn+k对应私钥xn+k的参数
Figure BDA00021754431300000612
然后计算初始区块B1新的计算参数
Figure BDA00021754431300000613
G2.根据得到的初始区块B1新的计算参数c′1,在i=(1,…,n-1)的范围内计算得到区块Bi+1的计算参数
Figure BDA00021754431300000614
G3.在i=(n,…,n+k-1)的范围内选择随机数
Figure BDA00021754431300000615
计算区块Bi+1的计算参数
Figure BDA00021754431300000616
G4.计算i=n+k时,第n+k个区块对应的随机数βn+k=(v-xn+kc′n+k mod q),然后验证等式
Figure BDA0002175443130000071
是否成立,若成立则表示新区块成功加入了环状主链,输出新的长度为n+k的环式主链
Figure BDA0002175443130000072
否则输出0表示加入新区块失败。

Claims (3)

1.多形态可派生的环状区块链构建方法,其特征包括:
A.初始化:根据安全参数λ,通过哈希函数,输出系统公开参数P和初始区块B1;包括:
A1.根据安全参数λ选择生成元为g且群阶数为q的群G;
A2.设置哈希函数分别为:H1:{0,1}*→G和H2:{0,1}*→Zq,其中,H1为第一哈希函数,作用是将0或1所组成任意长度的字符串{0,1}*映射到群G的一个任意元素上,*表示字符串{0,1}为任意长度,H2为第二哈希函数,作用是将0或者1所组成任意长度的字符串{0,1}*映射到由(0,1,…,q-1)元素所组成的q阶的整数群Zq上,Z表示整数群;
A3.输出系统公开参数P=<G,q,g,H1,H2>;
A4.生成初始区块B1,将所述的系统公开参数P写入初始区块B1
B.生成密钥:根据所述的系统公开参数P,计算得到用户的私钥xi和公钥yi,其中1≤i≤n,n为生成区块链的区块的总数;包括:
根据所述的系统公开参数P,选择一个随机数
Figure FDA0002496249350000011
作为用户的私钥xi,R表示从q阶的整数群Zq中随机选择一个元素xi,根据所述私钥xi计算公钥
Figure FDA0002496249350000012
C.构建环状主链:将交易信息记录到区块中,各区块按生成时间排列,并将排列的最后一个区块与所述的初始区块B1相连,通过选择一个随机数
Figure FDA0002496249350000013
计算得到以初始区块B1为环起点的计算参数c1,再由计算参数c1计算得到长度为n的环状主链Cn,其中,R表示从q阶的整数群Zq中随机选择一个元素u;根据所述环状主链Cn得到公钥集合L={yi}1≤i≤n,其中每个区块Bi对应一个所述的公钥yi,每个公钥yi对应一个所述的私钥xi;包括:
C1.将当前时间段的交易信息打包,并记录到区块中,将构成环状主链的区块集合{Bi}1≤i≤n中的各区块按生成时间的顺序排列,并将排列的最后一个区块Bn与初始区块B1相连,形成B1||…||Bn||B1的首尾相连的环结构;
C2.计算h=H1(L),和
Figure FDA0002496249350000014
其中,L={yi}1≤i≤n为区块集合{Bi}1≤i≤n对应的公钥集合,h表示将公钥集合L通过第一哈希函数H1映射到群G上的一个元素,
Figure FDA0002496249350000015
为最后一个区块Bn对应私钥xn的参数,然后选择一个随机数
Figure FDA0002496249350000016
计算以初始区块B1为环起点的计算参数
Figure FDA0002496249350000017
随机数u为用于插入新区块的计算参数;
C3.选择一个随机数
Figure FDA0002496249350000018
计算区块Bi+1对应的计算参数
Figure FDA0002496249350000019
并根据环结构收尾相连的特性,得到cn+1=c1,然后计算随机数βn=(u-xncn mod q);
C4.输出由n个区块构成的环状主链
Figure FDA0002496249350000021
其中Bi和βi表示第i个区块的内容和对应的随机数;
D.环状主链派生环状的子链:从环状主链Cn中的区块Bπ派生出的区块集合为{SBi}1≤i≤m,其中π为环状主链Cn中需要派生子链的区块Bπ在环状主链Cn中的位置,m为子链的长度;选择随机数{αi}1≤i≤m,计算子链的参数{sci}1≤i≤m,得到长度为m的环状的子链
Figure FDA00024962493500000210
Figure FDA0002496249350000022
其中,Bπ为子链SCm在环状主链Cn中的派生位置,sc1为子链的起始区块SB1参数,每一个SBi为子链中的一个区块,αi为子链的随机数,
Figure FDA0002496249350000023
为子链中最后一个区块SBm对应的私钥sxm的参数,Ls为子链的公钥集合,us为实现子链为首尾相连环状结构的参数;
E.环状主链派生链状的子链:从环状主链Cn中的区块Bπ派生出的区块集合为{SBi}1≤i≤m,其中π为环状主链Cn中需要派生子链的区块Bπ在环状主链Cn中的位置,m为子链的长度;将子链的起始区块SB1的指针指向所述环状主链Cn中的区块Bπ,将子链的第二个区块SB2的指针指向所述子链的起始区块SB1,并且以此类推使子链的区块SBi的指针指向子链的SBi+1,1≤i≤m。
2.如权利要求1所述的多形态可派生的环状区块链构建方法,其特征为:步骤C之后还包括:
F.验证环状主链Cn:根据区块链的验证公式对所述的环状主链Cn进行计算后输出验证结果;包括:
F1.计算得到长度为n的环状主链的表达式
Figure FDA0002496249350000024
其中c1为初始区块B1的计算参数,Bi和βi表示第i个区块的内容和对应的随机数,
Figure FDA0002496249350000025
为最后一个区块Bn对应私钥xn的参数,L为各区块的公钥集合,u为用于插入新区块的计算参数;
然后计算h=H1(L),H1为第一哈希函数,根据随机数集合{βi}1≤i≤n,计算得到第一中间参数
Figure FDA0002496249350000026
第二中间参数
Figure FDA0002496249350000027
和区块Bi+1的计算参数
Figure FDA0002496249350000028
其中g为生成元,yi为区块Bi的公钥;
F2.验证等式:
Figure FDA0002496249350000029
是否成立,若成立则输出1,否则输出0,其中H2为第二哈希函数;
G.向环状主链加入新区块:根据所述的环状主链Cn和需要新加入的新区块集合{B′i}n+1≤i≤n+k,计算后输出新的环状主链Cn+k或加入新区块失败的标识,其中k为需要加入的新区块的个数;包括:
G1.在长度为n的环状主链
Figure FDA0002496249350000031
中加入k个新区块,新区块集合为{B′i}n+1≤i≤n+k,添加各新区块对应的公钥yi至公钥集合L,生成新的公钥集合L′=L||{yi}n+1≤i≤n+k,计算h′=H1(L′),计算新的最后一个区块Bn+k对应私钥xn+k的参数
Figure FDA0002496249350000032
然后计算初始区块B1新的计算参数
Figure FDA0002496249350000033
u为用于插入新区块的计算参数;
G2.根据得到的初始区块B1新的计算参数c′1,在i=(1,…,n-1)的范围内计算得到区块Bi+1的计算参数
Figure FDA0002496249350000034
G3.在i=(n,…,n+k-1)的范围内选择随机数
Figure FDA0002496249350000035
计算区块Bi+1的计算参数
Figure FDA0002496249350000036
G4.计算i=n+k时,第n+k个区块对应的随机数βn+k=(v-xn+kc′n+k mod q),然后验证等式
Figure FDA0002496249350000037
是否成立,若成立则表示新区块成功加入了环状主链,输出新的长度为n+k的环式主链
Figure FDA0002496249350000038
否则输出加入新区块失败的标识。
3.如权利要求1所述的多形态可派生的环状区块链构建方法,其特征为:步骤E包括:根据所述环状主链Cn中的区块Bπ的哈希值
Figure FDA0002496249350000039
从区块Bπ派生出子链的起始区块SB1,从子链的起始区块SB1依次往后执行基于工作量证明的共识机制,对子链的区块SBi分别进行顺序记录和确认,并且依次使子链的区块SBi+1的指针指向子链的区块SBi
CN201910777156.3A 2019-08-22 2019-08-22 多形态可派生的环状区块链构建方法 Active CN110365493B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201910777156.3A CN110365493B (zh) 2019-08-22 2019-08-22 多形态可派生的环状区块链构建方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201910777156.3A CN110365493B (zh) 2019-08-22 2019-08-22 多形态可派生的环状区块链构建方法

Publications (2)

Publication Number Publication Date
CN110365493A CN110365493A (zh) 2019-10-22
CN110365493B true CN110365493B (zh) 2020-09-11

Family

ID=68225327

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201910777156.3A Active CN110365493B (zh) 2019-08-22 2019-08-22 多形态可派生的环状区块链构建方法

Country Status (1)

Country Link
CN (1) CN110365493B (zh)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111339086B (zh) * 2020-02-18 2021-04-20 腾讯科技(深圳)有限公司 区块处理方法、基于区块链的数据查询方法及装置
CN111598569B (zh) * 2020-05-21 2023-09-08 昆明大棒客科技有限公司 树状区块链扩展方法及装置

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108323232A (zh) * 2017-05-16 2018-07-24 北京大学深圳研究生院 一种多层级区块链系统之间索引与链拓扑结构的维护方法
CN108964926A (zh) * 2018-08-28 2018-12-07 成都信息工程大学 异构联盟系统中基于二层区块链的用户信任协商建立方法
CN110011810A (zh) * 2019-03-31 2019-07-12 西安电子科技大学 基于可链接环签名和多重签名的区块链匿名签名方法

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10326596B2 (en) * 2016-10-01 2019-06-18 Intel Corporation Techniques for secure authentication
US20180114218A1 (en) * 2016-10-26 2018-04-26 International Business Machines Corporation Blockchain: automatic fork protection
CN106844523B (zh) * 2016-12-29 2020-05-08 北京瑞卓喜投科技发展有限公司 顺序型多维拓展的区块链的生成方法及系统
CN106897351B (zh) * 2016-12-29 2020-11-10 北京瑞卓喜投科技发展有限公司 有向无环图型区块链的生成方法及系统
CN108462582B (zh) * 2018-02-09 2020-03-27 北京欧链科技有限公司 区块链中的反馈处理方法和装置
CN108510268B (zh) * 2018-02-09 2021-05-11 北京欧链科技有限公司 环形区块链结构、数据处理方法和装置

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108323232A (zh) * 2017-05-16 2018-07-24 北京大学深圳研究生院 一种多层级区块链系统之间索引与链拓扑结构的维护方法
CN108964926A (zh) * 2018-08-28 2018-12-07 成都信息工程大学 异构联盟系统中基于二层区块链的用户信任协商建立方法
CN110011810A (zh) * 2019-03-31 2019-07-12 西安电子科技大学 基于可链接环签名和多重签名的区块链匿名签名方法

Also Published As

Publication number Publication date
CN110365493A (zh) 2019-10-22

Similar Documents

Publication Publication Date Title
Hülsing et al. Optimal parameters for XMSS MT
CN108885741B (zh) 一种实现区块链上交换的令牌化方法及系统
Buchmann et al. Merkle signatures with virtually unlimited signature capacity
CN107276762B (zh) 一种多协议区块链的工作方法及装置
CN110474762B (zh) 环式可编辑区块链的构建方法
CN108540291B (zh) 基于身份的云存储中数据完整性验证方法
CN110061850A (zh) 变色龙哈希函数的碰撞计算方法及可编辑区块链构造方法
CN108512650A (zh) 面向区块链的动态哈希计算方法、装置、节点及存储介质
CN110365493B (zh) 多形态可派生的环状区块链构建方法
US10581616B1 (en) Managing nodes of a cryptographic hash tree in a hash-based digital signature scheme
CN101107809A (zh) 签名生成装置、密钥生成装置和签名生成方法
CN109410043B (zh) 一种基于分层树状结构的区块链信息高效存储方法及装置
JP6651042B1 (ja) 複数のノードを有する分散ネットワークに資産の移転を表すトランザクションを記憶する方法及びそのためのプログラム並びに当該分散ネットワークを構成するためのノード
US20220172180A1 (en) Method for Storing Transaction that Represents Asset Transfer to Distributed Network and Program for Same
CN112152813B (zh) 一种支持隐私保护的无证书内容提取签密方法
CN109272316A (zh) 一种基于区块链网络下的区块实现方法及系统
CN110166238A (zh) 量子密钥的生成方法及装置
Bellare et al. Deterring certificate subversion: efficient double-authentication-preventing signatures
Srivastava et al. An overview of hash based signatures
CN114328518A (zh) 基于utxo模型的低存储消耗的方法和系统
CN112671712B (zh) 一种支持高效动态更新的云数据完整性验证方法及系统
CN112800482B (zh) 基于身份的在线/离线安全云存储审计方法
CN112989436A (zh) 一种基于区块链平台的多重签名方法
TWI288532B (en) Data modulating method and apparatus, data demodulating method and apparatus, and code arranging method
CN108011723B (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
GR01 Patent grant
GR01 Patent grant