[发明专利]一种区块链交易验证方法和系统有效
申请号: | 202210666120.X | 申请日: | 2022-06-13 |
公开(公告)号: | CN114900319B | 公开(公告)日: | 2023-08-01 |
发明(设计)人: | 徐静;尹铃元 | 申请(专利权)人: | 中国科学院软件研究所 |
主分类号: | H04L9/32 | 分类号: | H04L9/32;H04L9/40;H04L67/1097 |
代理公司: | 北京君尚知识产权代理有限公司 11200 | 代理人: | 余长江 |
地址: | 100190 *** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 区块 交易 验证 方法 系统 | ||
本发明公开一种区块链交易验证方法和系统,所述方法包括:分隔证据链,其中,前n个区块为已验证区块,待验证交易位于未验证区块;通过构建MMR树,获取对同一个子段中所有区块的承诺值,以及各区块MMR证据;基于所述承诺值与所述MMR证据,生成证明待验证交易的存在性证据;基于所述证明链C的有效性证据与所述待验证交易的存在性证据,计算所述证明链C中待验证交易的有效性证据;将所述待验证交易的有效性证据发送至验证者,以使所述验证者基于获取各待验证交易的有效性证据,计算所述待验证交易的验证结果。本发明减少了证据尺寸,降低了验证过程中所需要的通信和存储开销。
技术领域
本发明属于计算机技术与信息安全技术领域,涉及一种区块链交易验证方法和系统。
背景技术
区块链交易验证协议使得本地验证者可以验证远程区块链上交易的有效性。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′个区块中的一区块,1i≤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;
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于中国科学院软件研究所,未经中国科学院软件研究所许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202210666120.X/2.html,转载请声明来源钻瓜专利网。