CN114900319A - 一种区块链交易验证方法和*** - Google Patents

一种区块链交易验证方法和*** Download PDF

Info

Publication number
CN114900319A
CN114900319A CN202210666120.XA CN202210666120A CN114900319A CN 114900319 A CN114900319 A CN 114900319A CN 202210666120 A CN202210666120 A CN 202210666120A CN 114900319 A CN114900319 A CN 114900319A
Authority
CN
China
Prior art keywords
evidence
block
chain
verified
transaction
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.)
Granted
Application number
CN202210666120.XA
Other languages
English (en)
Other versions
CN114900319B (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.)
Institute of Software of CAS
Original Assignee
Institute of Software of CAS
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 Institute of Software of CAS filed Critical Institute of Software of CAS
Priority to CN202210666120.XA priority Critical patent/CN114900319B/zh
Publication of CN114900319A publication Critical patent/CN114900319A/zh
Application granted granted Critical
Publication of CN114900319B publication Critical patent/CN114900319B/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
    • 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/3247Cryptographic 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 involving digital signatures
    • 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
    • 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/1097Protocols in which an application is distributed across nodes in the network for distributed storage of data in networks, e.g. transport arrangements for network file system [NFS], storage area networks [SAN] or network attached storage [NAS]
    • 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

  • 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)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开一种区块链交易验证方法和***,所述方法包括:分隔证据链,其中,前n个区块为已验证区块,待验证交易位于未验证区块;通过构建MMR树,获取对同一个子段中所有区块的承诺值,以及各区块MMR证据;基于所述承诺值与所述MMR证据,生成证明待验证交易的存在性证据;基于所述证明链C的有效性证据与所述待验证交易的存在性证据,计算所述证明链C中待验证交易的有效性证据;将所述待验证交易的有效性证据发送至验证者,以使所述验证者基于获取各待验证交易的有效性证据,计算所述待验证交易的验证结果。本发明减少了证据尺寸,降低了验证过程中所需要的通信和存储开销。

Description

一种区块链交易验证方法和***
技术领域
本发明属于计算机技术与信息安全技术领域,涉及一种区块链交易验证方法和***。
背景技术
区块链交易验证协议使得本地验证者可以验证远程区块链上交易的有效性。FlyClient协议是一个适应于存储空间有限的轻客户端的区块链交易验证协议。FlyClient协议利用了一种特殊的默克尔树,称为默克尔山脉(Merkle Mountain Range,MMR)来组织区块。对于被验证链中任意第i个位置的区块,将前i-1个区块的区块头作为叶子结点组织成一棵MMR树,其根放入第i个区块的区块头中,这个树根可以看作是对之前所有区块的承诺值。将被验证链中最后一个区块头中包含的树根记作Mn,那么每一个区块头到Mn的默克尔路径,简称MMR证据,证明了该区块头在链中的正确位置。利用MMR的构造,FlyClient协议允许用户在验证远程区块链上交易的有效性时,只需要下载对数个区块头以及这些区块头的MMR证据,从而避免了下载和验证整条区块链所带来的巨大开销。但是在FlyClient协议中,证明交易有效性的证据尺寸还是跟远程链的链长有关,随着远程链的增长,证据尺寸变得很大,造成很大的通信和存储开销。
发明内容
本发明的一个目的在于对FlyClient协议进行改进,提出一种区块链交易验证方法和***,所述***使用的协议可称为Partitioned-FlyClient协议,使得在验证远程链上交易有效性时,降低证据尺寸,减少通信和存储开销。
为实现上述目的,本发明采用如下技术方案:
一种区块链交易验证方法,包括以下步骤:
将区块链中每一证明者维护的证明链C,每间隔len个区块就分隔为一个子段,总共分隔为P个子段Cp,其中,所述证明链C包括n′个区块,所述n′个区块中的前n个区块对应的证据已被验证者验证,第n+1个区块属于子段Ci中,待验证交易包含在第n+1个区块至第n′个区块中的一区块,1<i≤P;
针对每一子段Cj,通过构建MMR树,获取对同一个子段Cp中所有区块的承诺值,以及各区块MMR证据,其中,j∈[i,P],i表示第n+1个区块所在的子段Cp的序号;
基于所述承诺值与所述MMR证据,计算所述证明链C的有效性证据;
计算所述待验证交易的默克尔路径,并结合所述待验证交易所在区块的区块头与所述MMR证据,生成证明待验证交易的存在性证据;
基于所述证明链C的有效性证据与所述待验证交易的存在性证据,计算所述证明链C中待验证交易的有效性证据,并将所述待验证交易的有效性证据发送至验证者,以使所述验证者基于获取各待验证交易的有效性证据,计算所述待验证交易的验证结果。
进一步地,所述针对每一子段Cp,通过构建MMR树,获取对同一个子段Cp中所有区块的承诺值,以及各区块MMR证据,包括:
对于所述证明链C中第s个位置的区块Bs,获取所述区块Bs所在的子段Cp
在所述子段Cp中,基于所述区块Bs之前的区块,构建区块集合;
根据所述区块集合中各区块的区块头,组成一棵MMR树,其中,所述MMR树的根存放在所述区块Bs的区块头中,且所述MMR树中第一个叶子结点存放的MMR根设置为空值;
基于前一个区块中的MMR根和前一个区块的区块头,可以获取当前区块中的MMR根。
基于各个区块所在子段Cp中最后一个区块中包含的MMR根,获取对Cp中所有之前区块的承诺值;
基于所述承诺值,获取各区块的MMR证据。
进一步地,所述MMR证据的尺寸与相应的子段Cp的长度成对数关系。
进一步地,所述基于所述承诺值与所述MMR证据,计算所述证明链C的有效性证据,包括:
对于每一子段Cj,基于所述承诺值,并利用FlyClient协议中证明算法Prove(Cj,length(Cj),c),生成所述子段Cj的初始有效性证据πj,其中,length(Cj)表示子段Cj的长度,c表示敌手节点数目除以诚实节点数目数值;
将所述证明链C中第n+1个位置的区块Bn+1和MMR证据,加入所述子段Ci的初始有效性证据,得到所述子段Ci的有效性证据π′i
将所述子段Cj的第一个区块的区块头和MMR证据,加入所述子段Cj的初始有效性证据,得到所述子段Cj的有效性证据π′j
根据各子段Cj的有效性证据π′j,获取所述证明链C的有效性证据。
进一步地,计算所述长度length(Cj)的方法,包括:
若j=i,则
Figure BDA0003691685160000031
或,
若j=P,则
Figure BDA0003691685160000032
或,
其它情况,则length(Cj)=len。
进一步地,所述基于所述证明链C的有效性证据与所述待验证交易的存在性证据,计算所述证明链C中待验证交易的有效性证据,还包括:
获取第一个未被验证者验证的区块序号n+1;
计算所述证明链C中区块总数与已验证区块数的差值n’-n;
将所述区块序号n+1与所述差值n’-n,加入所述证明链C的证据。
进一步地,所述验证者基于获取各待验证交易的有效性证据,计算所述待验证交易的验证结果,包括:
计算各证明链C的长度,并基于所述长度,获取各证明链C的验证顺序
根据验证顺序,选取一证明链C的有效性证据,并验证该证明链C的有效性证据;
若所述证明链C的有效性证据验证成功,则验证链C上待验证交易的存在性证据;
若所述验证都成功,则认为该证明链C中的待验证交易为有效交易,并中止后续证明链C的验证,且输出所述验证结果;
若所述验证失败,则依据所述验证顺序选取一证明链C,并对该证明链C的有效性证据进行验证。
进一步地,所述验证该证明链C的有效性证据,包括:
验证证明链C的有效性证据π′i中区块Bn+1的区块头指针,是否指向区块Bn的区块头;
和,
验证证明链C的有效性证据π′k中区块Bk·len+1的区块头指针,是否指向证明链C的有效性证据π′k-1中区块Bk·len的区块头,其中,k∈[i+1,P];
和,
调用FlyClient协议中的验证算法,验证证明链C的有效性证据π′j的正确性。
进一步地,所述验证链C上待验证交易的存在性证据,包括:
分别验证包含所述待验证交易的区块B的区块头、所述MMR证据以及所述待验证交易到所述区块B的区块头的默克尔路径是否正确。
一种区块链交易验证***,所述区块链中每一证明者维护的证明链C被分隔为P个子段Cp,所述证明链C包括n′个区块,所述n′个区块中的前n个区块对应的证据已被验证者验证,待验证交易包含在第n+1个区块至第n′个区块中的一区块,针对每一子段,通过构建MMR树,获取对同一个子段中所有区块的承诺值,以及MMR证据,所述***包括:
证明者节点,用于基于所述承诺值与所述MMR证据,计算所述证明链C的有效性证据;计算所述待验证交易的默克尔路径,并结合所述待验证交易所在区块的区块头与MMR证据,生成交易的存在性证据;基于所述证明链的有效性证据与待验证交易的存在性证据,获取所述待验证交易的有效性证据,并将所述证据发送至验证者;
验证者节点,基于各待验证交易的有效性证据,计算所述待验证交易的验证结果。
与现有技术相比,本发明具有以下优点与效果:
本发明在验证远程链上交易的有效性时,Partitioned-FlyClient协议中的跨链证据尺寸只与被验证链新增长部分的长度成对数关系,不像在FlyClient协议中,证据尺寸与整个链长成对数关系,从而减少了证据尺寸,降低了验证过程中所需要的通信和存储开销。
附图说明
图1分段重构MMR的示例图。
图2本发明的方法流程图。
具体实施方式
为使本发明的上述特征和优点能更明显易懂,下面通过具体实施例,对本发明的技术方案做进一步说明。
本发明对FlyClient协议进行改进,提出了一种更高效的区块链交易验证***,该***使用Partitioned-FlyClient协议,使得在验证远程链上交易有效性时,减少了验证的代价,具体包括以下两个重要方面:
一、减小证据中需包含区块的个数
利用子链验证验证,每次只验证链新增长部分即可,减少了验证过程中需要选取的区块个数,从而减少证据尺寸。
二、减小证据中每一个区块的MMR证据的大小
通过分段重构MMR技术,证明每一个区块位置的MMR证据只与分段长度len成对数关系,从而减少证据尺寸。
具体来说,假设存在一个证明者集合,其中至少包含一个诚实证明者。当一个证明者想向远程验证者证明其维护的链上C存在一个有效交易Tx时,需要提供以下证据给验证者:
(1)证明链C是真正主链,即最长有效链的证据;
(2)证明交易Tx确实包含在C中的证据,即包含Tx的区块B的区块头,B的MMR证据,以及Tx的默克尔路径。
为了减少跨链证据尺寸,Partitioned-FlyClient协议使用子链验证技术和分段重构MMR技术。子链验证是指如果验证者之前已经成功验证了某一条链,之后这条链又增长了,那么验证者在验证这条增长后链的有效性时,只需要验证新增加部分即可。这样减少了验证过程中需要选取的区块个数,从而减少证据尺寸。
如果只是利用子链验证来改进FlyClient协议,证明每一个区块位置的MMR证据还是与整条链的长度成对数关系。为了减少MMR证据尺寸,Partitioned-FlyClient协议使用了分段重构MMR技术。每隔len个区块为一个子段,在每一个子段中重新开始构造一棵新的MMR,其中len的取值由***自由选择。具体地,对于被验证链中任意第s个位置的区块Bs,将属于同一个子段中之前所有的区块Bi·len+1,....,Bs-1的区块头组成一棵MMR树,其中
Figure BDA0003691685160000051
其根存放在Bs的区块头中,而这个子段中第一个叶子结点Bi·len+1中存放的MMR根设置为空值。这样构造之后,每一个区块中的MMR根可以看成是对同一个子段中所有之前区块的承诺值。对于任意一个区块,将其所在子段的最后一个区块中包含的MMR根记作M,那么每个区块到M的MMR证据证明了该区块在子段中的位置,是从这个子段中产生的,其所以MMR证据的尺寸只与这个子段的长度成对数关系。
在Partitioned-FlyClient协议中,当一个证明者想向远程验证者证明其维护的链C上存在有效交易集合{Tx}时,如图1所示,按照以下过程产生证据,并发送给验证者,其中假设验证者已经验证并接受了C中前n个区块对应的证据,现在C的长度增加到n',{Tx}包含在C新增加部分中。
1.首先将C分成多个子段
Figure BDA0003691685160000052
除了最后一个子段中包含的区块个数可能小于len,其它每一个子段都包含len个区块。
2.假设C中区块Bn+1在子段Ci中,那么对于每个子段Cj,其中j≥i,分别利用FlyClient协议中证明算法产生证明该子段有效性的证据。值得注意的是,Bn+1的区块头以及它的MMR证据也需要添加进Ci的证据中。并且对于Ci之后的每个子段,该子段中的第一个区块的区块头以及它的MMR证据也需要添加进该子段的证据中。所有Cj对应的证据一起组成证明C有效性的证据,其中j≥i。
3.另外对于每个待验证交易Tx,包含Tx的区块B的区块头,B的MMR证据以及Tx的默克尔路径也需要包含在证据中。
Partitioned-FlyClient协议假设同步的网络模型,即所有验证者产生的证据能够在一轮中被所有验证者接收到。在收到证据后,验证者验证每个证据的有效性。假设各个证明者宣称的链长相同,那么按照证据被接受的时间顺序依次验证每个证据。要是各个证明者宣称的链长不同,即n'不同,那最长链对应的证据会优先被验证。
对于每个证据,验证者按照以下几个步骤来验证证据的有效性:
1.验证证据中区块Bn+1的区块头中的指针是否指向区块Bn,其中验证者在接受C中前n个区块对应的证据后就会本地保存Bn的区块头。这一步是为了验证证据对应的新增长部分是否接在原来的链后。
2.对于每个子段Cj',其中
Figure BDA0003691685160000061
验证者验证证据中Cj'的第一个区块的区块头中的指针是否指向Cj'-1的最后一个区块的区块头。这一步是为了验证相邻子段之间链接关系。
3.对于每个子段Cj,其中
Figure BDA0003691685160000062
验证者调用FlyClient协议中验证算法验证Cj所对应证据的有效性。
4.对于每个待验证交易Tx,验证者再验证包含Tx的区块B的区块头,B的MMR证据和Tx的默克尔路径的正确性。
如果以上步骤都验证成功,验证者就相信Tx确实是C中包含的一个有效交易。
本发明还公开了一种区块链交易验证方法,如图2所示,包括:
一、符号说明
在下文中,用chain,简称C,来代表一条区块链。区块链C的长度记作length(C)。Bi代表C中第i个区块,其中
Figure BDA0003691685160000071
Bs∈[i,j]代表C中第s个区块,其中s∈[i,j]。C[i,j]代表C中第i个区块到第j个区块这段子链,其中子链包含第i个区块和第j个区块。
二、Partitioned-FlyClient协议中证据的产生过程
假设C是某个证明者维护的链,***中敌手节点数目是诚实节点数目的c倍,当该证明者想向远程验证者证明C上存在有效交易集合{Tx}时,按照以下步骤产生证据并广播给验证者,其中假设验证者已经验证并接受了C[1:n+k]对应的证据,其中k是公共前缀参数,现在C的长度增加到n',{Tx}包含在C[n+1:n']中,n+1∈[i·len+1,(i+1)·len]。
1.将C分成多个子段
Figure BDA0003691685160000072
其中除了
Figure BDA0003691685160000073
中包含的区块个数可能小于len,其它每一个子段都包含len个区块;
2.对于每个子段Cj,其中
Figure BDA0003691685160000074
调用FlyClient协议中的证明算法Prove(Cj,length(Cj),c)得到证据πj,用于证明Cj确实是长度为length(Cj)的有效子段,其中第一个字段长度
Figure BDA0003691685160000075
最后一个字段长度
Figure BDA0003691685160000076
其它每一个字段长度均为len;
3.πi中只保留Bn+1之后的区块的区块头以及对应的MMR证据;
4.将Bn+1的区块头以及它的MMR证据,加上πi一起构成π′i
5.将Bj'·len+1的区块头以及它的MMR证据,加上πj'一起构成π'j',其中
Figure BDA0003691685160000077
6.对于每个待验证的交易Tx,将包含Tx的区块B的区块头,B的MMR证据以及Tx的默克尔路径添加到集合Txproof中;
7.返回
Figure BDA0003691685160000078
作为证据。
三、Partitioned-FlyClient协议证据的验证过程
每一个验证者对于收到的所有证据,用以下步骤验证每个证据的有效性。如果各个证明者宣称的链长不同,那最长链对应的证据将会被该验证者优先验证,当有一个证据被成功验证之后,其它剩余的待验证证据就无需再验证。
1.验证证据π′i中Bn+1的区块头中的指针是否指向Bn的区块头;
2.对于
Figure BDA0003691685160000081
验证证据π'j'中Bj'·len+1的区块头中的指针是否指向证据π'j'-1中Bj'·len的区块头;
3.对于
Figure BDA0003691685160000082
调用FlyClient协议中的验证算法Verify(length(Cj),c,π'j)验证证据π'j的正确性,其中
Figure BDA0003691685160000083
其它每一个字段长度均为len;
4.对于每个Tx,验证包含Tx的区块B的区块头是否有效,即B的区块头的哈希值是否满足小于当前挖矿难度目标值,再验证B的MMR证据以及Tx到B的区块头的默克尔路径是否正确;
5.以上步骤都验证成功,验证者相信Tx是包含在C中的一个有效交易。否则,验证者把Tx当作是无效的交易。
下面通过实验验证本发明所提出的Partitioned-FlyClient协议的高效性。
实验假设待验证的区块链C是一条以太坊链,每个区块头的大小为508bytes,设置子段长度len=214,***参数c=0.9。实验假设验证者已经验证并接受了C[1:n+k]对应的证据,其中k是公共前缀参数,现在C的长度增加到n'。实验固定n'-n=106,并且假设链C新增长部分中只包含一个待验证交易Tx。实验比较在不同的n下,Partitioned-FlyClient和FlyClient协议中用于证明Tx有效性的证据的平均尺寸。如表1所示,对比可得Partitioned-FlyClient协议中证据尺寸更小,具有更小的通信和存储开销。
表1.不同协议中证明交易有效性的证据的平均尺寸对比
Figure BDA0003691685160000084
以上实施例仅用以说明本发明的技术方案而非对其进行限制,本领域的普通技术人员可以对本发明的技术方案进行修改或者等同替换,本发明的保护范围应以权利要求所述为准。

Claims (10)

1.一种区块链交易验证方法,包括以下步骤:
将区块链中每一证明者维护的证明链C,每间隔len个区块就分隔为一个子段,总共分隔为P个子段Cp,其中,所述证明链C包括n′个区块,所述n′个区块中的前n个区块对应的证据已被验证者验证,第n+1个区块属于子段Ci中,待验证交易包含在第n+1个区块至第n′个区块中的一区块,1<i≤P;
针对每一子段Cj,通过构建MMR树,获取对同一个子段Cp中所有区块的承诺值,以及各区块MMR证据,其中,j∈[i,P],i表示第n+1个区块所在的子段Cp的序号;
基于所述承诺值与所述MMR证据,计算所述证明链C的有效性证据;
计算所述待验证交易的默克尔路径,并结合所述待验证交易所在区块的区块头与所述MMR证据,生成证明待验证交易的存在性证据;
基于所述证明链C的有效性证据与所述待验证交易的存在性证据,计算所述证明链C中待验证交易的有效性证据,并将所述待验证交易的有效性证据发送至验证者,以使所述验证者基于获取各待验证交易的有效性证据,计算所述待验证交易的验证结果。
2.如权利要求1所述的方法,其特征在于,所述针对每一子段Cp,通过构建MMR树,获取对同一个子段Cp中所有区块的承诺值,以及各区块MMR证据,包括:
对于所述证明链C中第s个位置的区块Bs,获取所述区块Bs所在的子段Cp
在所述子段Cp中,基于所述区块Bs之前的区块,构建区块集合;
根据所述区块集合中各区块的区块头,组成一棵MMR树,其中,所述MMR树的根存放在所述区块Bs的区块头中,且所述MMR树中第一个叶子结点存放的MMR根设置为空值;
基于前一个区块中的MMR根和前一个区块的区块头,可以获取当前区块中的MMR根。
基于各个区块所在子段Cp中最后一个区块中包含的MMR根,获取对Cp中所有之前区块的承诺值;
基于所述承诺值,获取各区块的MMR证据。
3.如权利要求1所述的方法,其特征在于,所述MMR证据的尺寸与相应的子段Cp的长度成对数关系。
4.如权利要求1所述的方法,其特征在于,所述基于所述承诺值与所述MMR证据,计算所述证明链C的有效性证据,包括:
对于每一子段Cj,基于所述承诺值,并利用FlyClient协议中证明算法Prove(Cj,length(Cj),c),生成所述子段Cj的初始有效性证据πj,其中,length(Cj)表示子段Cj的长度,c表示敌手节点数目除以诚实节点数目数值;
将所述子段Cj的第一个区块的区块头和MMR证据,加入所述子段Cj的初始有效性证据,得到所述子段Cj的有效性证据π′j
根据各子段Cj的有效性证据π′j,获取所述证明链C的有效性证据。
5.如权利要求4所述的方法,其特征在于,计算所述长度length(Cj)的方法,包括:
若j=i,则
Figure FDA0003691685150000021
若j=P,则
Figure FDA0003691685150000022
其它情况,则length(Cj)=len。
6.如权利要求1所述的方法,其特征在于,所述证明链C的有效性证据,还包括:
获取第一个未被验证者验证的区块序号n+1;
计算所述证明链C中区块总数与已验证区块数的差值n’-n;
将所述区块序号n+1与所述差值n’-n,加入所述证明链C的证据。
7.如权利要求1所述的方法,其特征在于,所述验证者基于获取各待验证交易的有效性证据,计算所述待验证交易的验证结果,包括:
计算各证明链C的长度,并基于所述长度,获取各证明链C的验证顺序
根据验证顺序,选取一证明链C的有效性证据,并验证该证明链C的有效性证据;
若所述证明链C的有效性证据验证成功,则验证链C上待验证交易的存在性证据;
若所述验证都成功,则认为该证明链C中的待验证交易为有效交易,并中止后续证明链C的验证,且输出所述验证结果;
若所述验证失败,则依据所述验证顺序选取一证明链C,并对该证明链C的有效性证据进行验证。
8.如权利要求7所述的方法,其特征在于,所述验证该证明链C的有效性证据,包括:
验证证明链C的有效性证据π′i中区块Bn+1的区块头指针,是否指向区块Bn的区块头;
和,
验证证明链C的有效性证据π′k中区块Bk·len+1的区块头指针,是否指向证明链C的有效性证据π′k-1中区块Bk·len的区块头,其中,k∈[i+1,P];
和,
调用FlyClient协议中的验证算法,验证证明链C的有效性证据π′j的正确性。
9.如权利要求7所述的方法,其特征在于,所述验证链C上待验证交易的存在性证据,包括:
分别验证包含所述待验证交易的区块B的区块头、所述MMR证据以及所述待验证交易到所述区块B的区块头的默克尔路径是否正确。
10.一种区块链交易验证***,所述区块链中每一证明者维护的证明链C被分隔为P个子段Cp,所述证明链C包括n′个区块,所述n′个区块中的前n个区块对应的证据已被验证者验证,待验证交易包含在第n+1个区块至第n′个区块中的一区块,针对每一子段,通过构建MMR树,获取对同一个子段中所有区块的承诺值,以及MMR证据,所述***包括:
证明者节点,用于基于所述承诺值与所述MMR证据,计算所述证明链C的有效性证据;计算所述待验证交易的默克尔路径,并结合所述待验证交易所在区块的区块头与MMR证据,生成交易的存在性证据;基于所述证明链的有效性证据与待验证交易的存在性证据,获取所述待验证交易的有效性证据,并将所述证据发送至验证者;
验证者节点,基于各待验证交易的有效性证据,计算所述待验证交易的验证结果。
CN202210666120.XA 2022-06-13 2022-06-13 一种区块链交易验证方法和*** Active CN114900319B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202210666120.XA CN114900319B (zh) 2022-06-13 2022-06-13 一种区块链交易验证方法和***

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202210666120.XA CN114900319B (zh) 2022-06-13 2022-06-13 一种区块链交易验证方法和***

Publications (2)

Publication Number Publication Date
CN114900319A true CN114900319A (zh) 2022-08-12
CN114900319B CN114900319B (zh) 2023-08-01

Family

ID=82727582

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202210666120.XA Active CN114900319B (zh) 2022-06-13 2022-06-13 一种区块链交易验证方法和***

Country Status (1)

Country Link
CN (1) CN114900319B (zh)

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112887365A (zh) * 2021-01-08 2021-06-01 浙江泰科数联信息技术有限公司 基于mmr算法区块链的超轻量级节点验证方法及装置
CN113114759A (zh) * 2021-04-09 2021-07-13 杭州链网科技有限公司 一种实现多链互通的跨链方法及***
WO2021195219A1 (en) * 2020-03-24 2021-09-30 Ares Technologies, Inc Methods and systems for implementing mixed protocol certificates
WO2022020523A1 (en) * 2020-07-23 2022-01-27 Visa International Service Association Offline interaction system and method

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2021195219A1 (en) * 2020-03-24 2021-09-30 Ares Technologies, Inc Methods and systems for implementing mixed protocol certificates
WO2022020523A1 (en) * 2020-07-23 2022-01-27 Visa International Service Association Offline interaction system and method
CN112887365A (zh) * 2021-01-08 2021-06-01 浙江泰科数联信息技术有限公司 基于mmr算法区块链的超轻量级节点验证方法及装置
CN113114759A (zh) * 2021-04-09 2021-07-13 杭州链网科技有限公司 一种实现多链互通的跨链方法及***

Non-Patent Citations (5)

* Cited by examiner, † Cited by third party
Title
BENEDIKT BÜNZ等: "FlyClient: Super-Light Clients for Cryptocurrencies", 《2020 IEEE SYMPOSIUM ON SECURITY AND PRIVACY (SP)》 *
JING XU等: "Puncturable Signatures and Applications in Proof-of-Stake Blockchain Protocols", 《 IEEE TRANSACTIONS ON INFORMATION FORENSICS AND SECURITY 》 *
LINGYUAN YIN等: "Sidechains With Fast Cross-Chain Transfers", 《 IEEE TRANSACTIONS ON DEPENDABLE AND SECURE COMPUTING》 *
链巨人: "区块链论文8,NIPoPoWs,非交互工作量证明之证明", 《知乎 ZHUANLAN.ZHIHU.COM/P/93463586》 *
陈幻;王意洁;: "一种面向公有链的轻量级可扩展技术", 计算机研究与发展, no. 07 *

Also Published As

Publication number Publication date
CN114900319B (zh) 2023-08-01

Similar Documents

Publication Publication Date Title
EP3693886B1 (en) Optimizations for verification of interactions system and method
CN109586896B (zh) 一种基于哈希前缀树的数据完整性验证方法
CN110378697B (zh) 一种基于rsa累加器的区块链轻节点utxo交易验证方法及其装置
CN110781524B (zh) 一种混合云存储中数据的完整性验证方法
US7257711B2 (en) Efficient authenticated dictionaries with skip lists and commutative hashing
CN110941859A (zh) 用于区块链形成共识的方法、设备、计算机可读存储介质和计算机程序产品
CN110311776B (zh) 范围证明方法、装置、计算机设备和存储介质
WO2021108258A1 (en) Optimizations for verification of interactions system and method using probability density functions
WO2012127384A2 (en) Incorporating data into cryptographic components of an ecqv certificate
CN113114472A (zh) 一种基于报文哈希链的认证方法及***
CN112699123A (zh) 一种数据存储***中数据存在性和完整性校验方法及***
CN113127562A (zh) 一种低冗余区块链数据存储和检索方法及***
WO2021196463A1 (zh) 一种区块链数据的同步方法、装置及电子设备、存储介质
CN114900319A (zh) 一种区块链交易验证方法和***
CN114785812B (zh) 一种基于零知识证明的区块链区块同步方法及装置
Kim et al. Byzantine fault tolerance based multi-block consensus algorithm for throughput scalability
CN116303493A (zh) 一种动态跨链数据一致性审计方法
Zou et al. Dynamic provable data possession based on ranked Merkle hash tree
CN112671712B (zh) 一种支持高效动态更新的云数据完整性验证方法及***
CN115499453A (zh) 面向联盟链的分片存储方法
CN113988856A (zh) 区块头传播方法及存储介质
Junxiang et al. Dynamic provable data possession with batch-update verifiability
CN115632791B (zh) 一种动态跨链数据一致性去中心化验证方法
CN117834656B (zh) 一种边缘计算跨域同步方法及***
CN111030823A (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