[发明专利]一种区块链交易验证方法和系统有效
申请号: | 202210666120.X | 申请日: | 2022-06-13 |
公开(公告)号: | CN114900319B | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 徐静;尹铃元 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/40;H04L67/1097 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 余长江 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 交易 验证 方法 系统 | ||
1.一种区块链交易验证方法,包括以下步骤:
将区块链中每一证明者维护的证明链C,每间隔len个区块就分隔为一个子段,总共分隔为P个子段Cp,其中,所述证明链C包括n′个区块,所述n′个区块中的前n个区块对应的证据已被验证者验证,第n+1个区块属于子段Ci中,待验证交易包含在第n+1个区块至第n′个区块中的一区块,1<i≤P;
针对每一子段Cj,其中,j∈[i,P],i表示第n+1个区块所在的子段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的有效性证据;
计算所述待验证交易的默克尔路径,并结合所述待验证交易所在区块的区块头与所述MMR证据,生成证明待验证交易的存在性证据;
基于所述证明链C的有效性证据与所述待验证交易的存在性证据,计算所述证明链C中待验证交易的有效性证据,并将所述待验证交易的有效性证据发送至验证者,以使所述验证者基于获取各待验证交易的有效性证据,计算所述待验证交易的验证结果。
2.如权利要求1所述的方法,其特征在于,所述基于所述承诺值与所述MMR证据,计算所述证明链C的有效性证据,包括:
对于每一子段Cj,基于所述承诺值,并利用FlyClient协议中证明算法Prove(Cj,length(Cj),c),生成所述子段Cj的初始有效性证据πj,其中,length(Cj)表示子段Cj的长度,c表示敌手节点数目除以诚实节点数目数值;
将所述子段Cj的第一个区块的区块头和MMR证据,加入所述子段Cj的初始有效性证据,得到所述子段Cj的有效性证据π′j;
根据各子段Cj的有效性证据π′j,获取所述证明链C的有效性证据。
3.如权利要求2所述的方法,其特征在于,计算所述长度length(Cj)的方法,包括:
若j=i,则
若j=P,则
其它情况,则length(Cj)=len。
4.如权利要求1所述的方法,其特征在于,所述证明链C的有效性证据,还包括:
获取第一个未被验证者验证的区块序号n+1;
计算所述证明链C中区块总数与已验证区块数的差值n’-n;
将所述区块序号n+1与所述差值n’-n,加入所述证明链C的证据。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210666120.X/1.html,转载请声明来源钻瓜专利网。