一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种区块链交易验证方法和系统

2022-08-13 20:57:20 来源:中国专利 TAG:

技术特征:
1.一种区块链交易验证方法,包括以下步骤:将区块链中每一证明者维护的证明链c,每间隔len个区块就分隔为一个子段,总共分隔为p个子段c
p
,其中,所述证明链c包括n

个区块,所述n

个区块中的前n个区块对应的证据已被验证者验证,第n 1个区块属于子段c
i
中,待验证交易包含在第n 1个区块至第n

个区块中的一区块,1<i≤p;针对每一子段c
j
,通过构建mmr树,获取对同一个子段c
p
中所有区块的承诺值,以及各区块mmr证据,其中,j∈[i,p],i表示第n 1个区块所在的子段c
p
的序号;基于所述承诺值与所述mmr证据,计算所述证明链c的有效性证据;计算所述待验证交易的默克尔路径,并结合所述待验证交易所在区块的区块头与所述mmr证据,生成证明待验证交易的存在性证据;基于所述证明链c的有效性证据与所述待验证交易的存在性证据,计算所述证明链c中待验证交易的有效性证据,并将所述待验证交易的有效性证据发送至验证者,以使所述验证者基于获取各待验证交易的有效性证据,计算所述待验证交易的验证结果。2.如权利要求1所述的方法,其特征在于,所述针对每一子段c
p
,通过构建mmr树,获取对同一个子段c
p
中所有区块的承诺值,以及各区块mmr证据,包括:对于所述证明链c中第s个位置的区块b
s
,获取所述区块b
s
所在的子段c
p
;在所述子段c
p
中,基于所述区块b
s
之前的区块,构建区块集合;根据所述区块集合中各区块的区块头,组成一棵mmr树,其中,所述mmr树的根存放在所述区块b
s
的区块头中,且所述mmr树中第一个叶子结点存放的mmr根设置为空值;基于前一个区块中的mmr根和前一个区块的区块头,可以获取当前区块中的mmr根。基于各个区块所在子段c
p
中最后一个区块中包含的mmr根,获取对c
p
中所有之前区块的承诺值;基于所述承诺值,获取各区块的mmr证据。3.如权利要求1所述的方法,其特征在于,所述mmr证据的尺寸与相应的子段c
p
的长度成对数关系。4.如权利要求1所述的方法,其特征在于,所述基于所述承诺值与所述mmr证据,计算所述证明链c的有效性证据,包括:对于每一子段c
j
,基于所述承诺值,并利用flyclient协议中证明算法prove(c
j
,length(c
j
),c),生成所述子段c
j
的初始有效性证据π
j
,其中,length(c
j
)表示子段c
j
的长度,c表示敌手节点数目除以诚实节点数目数值;将所述子段c
j
的第一个区块的区块头和mmr证据,加入所述子段c
j
的初始有效性证据,得到所述子段c
j
的有效性证据π

j
;根据各子段c
j
的有效性证据π

j
,获取所述证明链c的有效性证据。5.如权利要求4所述的方法,其特征在于,计算所述长度length(c
j
)的方法,包括:若j=i,则若j=p,则其它情况,则length(c
j
)=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
中区块b
n 1
的区块头指针,是否指向区块b
n
的区块头;和,验证证明链c的有效性证据π

k
中区块b
k
·
len 1
的区块头指针,是否指向证明链c的有效性证据π

k-1
中区块b
k
·
len
的区块头,其中,k∈[i 1,p];和,调用flyclient协议中的验证算法,验证证明链c的有效性证据π

j
的正确性。9.如权利要求7所述的方法,其特征在于,所述验证链c上待验证交易的存在性证据,包括:分别验证包含所述待验证交易的区块b的区块头、所述mmr证据以及所述待验证交易到所述区块b的区块头的默克尔路径是否正确。10.一种区块链交易验证系统,所述区块链中每一证明者维护的证明链c被分隔为p个子段c
p
,所述证明链c包括n

个区块,所述n

个区块中的前n个区块对应的证据已被验证者验证,待验证交易包含在第n 1个区块至第n

个区块中的一区块,针对每一子段,通过构建mmr树,获取对同一个子段中所有区块的承诺值,以及mmr证据,所述系统包括:证明者节点,用于基于所述承诺值与所述mmr证据,计算所述证明链c的有效性证据;计算所述待验证交易的默克尔路径,并结合所述待验证交易所在区块的区块头与mmr证据,生成交易的存在性证据;基于所述证明链的有效性证据与待验证交易的存在性证据,获取所述待验证交易的有效性证据,并将所述证据发送至验证者;验证者节点,基于各待验证交易的有效性证据,计算所述待验证交易的验证结果。

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


技术研发人员:徐静 尹铃元
受保护的技术使用者:中国科学院软件研究所
技术研发日:2022.06.13
技术公布日:2022/8/12
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献