一种面向联盟链跨链交易的查询验证方法技术

技术编号:39191880 阅读:17 留言:0更新日期:2023-10-27 08:38
本发明专利技术涉及一种面向联盟链跨链交易的查询验证方法,包括源链将链内的所有跨链交易查询请求封装为用户查询集,利用跨链网关发送至目标链;目标链查询跨链交易所在的目标区块,将所有查询到的目标区块封装成目标区块集合发送至构造器;构造器解析出目标区块集合中所有的交易并基于RSA密码累加器算法生成新的链式结构;并根据新的链式结构对目标区块集合中用户查询集对应的交易进行批量验证生成用户查询集的证明返回给目标链;目标链通过跨链网关将用户查询集的证明发送给源链;源链将用户查询集的证明发送给验证器,验证器对用户查询集的证明进行验证,并将验证结果返回给源链;源链将用户查询集证明的验证结果进行上链并返回给用户客户端节点。返回给用户客户端节点。返回给用户客户端节点。

【技术实现步骤摘要】
一种面向联盟链跨链交易的查询验证方法


[0001]本专利技术属于信息
,特别是涉及一种面向联盟链跨链交易的查询验证方法。

技术介绍

[0002]目前区块链技在术各个领域应用日益增多,数据量也越来越大,但是区块链要落地,最主要的问题是数据查询效率低下,并且对查询结果真实性存在怀疑。尤其是涉及到跨链交易查询,传统方案是将目标链的数据实时存储在本地,进而来验证跨链交易的原始交易的合法性。此种处理模式,跨链交易的节点,既要是源链的合法用户,也要是目标链的合法用户,即是说:该节点既要运行源链,也要运行目标链,因此需要占用大量的存储、计算资源,而且验证效率低下。如果不存储目标链完整的交易副本,或者不存储部分目标链的交易数据,如区块头、完整的交易Hash列表等,则不能验证跨链交易的合法性,而且交易逐条验证,效率低下。因此,在确保数据验证的合法性和提高交易验证效率,是目亟待解决的问题。

技术实现思路

[0003]针对联盟链跨链交易验证效率低下的问题,本专利技术提出一种面向联盟链跨链交易的查询验证方法,以确保数据验证的合法性和提高交易验证效率,包括:
[0004]S1:源链将链内的所有跨链交易查询请求封装为用户查询集,再利用跨链网关将用户查询集发送至目标链;
[0005]S2:目标链根据用户查询集中的跨链交易查询请求查询跨链交易所在的目标区块,将所有查询到的目标区块封装成目标区块集合;并将目标区块集合发送至构造器;
[0006]S3:构造器解析出目标区块集合中所有的交易,并基于RSA密码累加器算法对目标区块集合中的交易进行加密生成新的链式结构;并根据新的链式结构对目标区块集合中用户查询集对应的交易进行批量验证生成用户查询集的证明;并将用户查询集的证明返回给目标链;
[0007]S4:目标链将用户查询集的证明通过跨链网关发送给源链;源链将用户查询集的证明发送给验证器,验证器对用户查询集的证明进行验证,并将验证结果返回给源链;源链将用户查询集证明的验证结果进行上链并返回给发起跨链交易查询请求的用户。
[0008]优选地,所述基于RSA密码累加器算法对目标区块集合中的交易进行加密生成新的链式结构包括:
[0009]S31:设G
T
是阶为素数Q的乘法循环群,g表示G
T
的生成元,构造器从G
T
中随机选取大素数p和q,选择哈希函数Hash=Hash2prime();
[0010]S32:针对目标区块集合中的每个交易Tx
i
生成其头部信息H
i
,即H
i
=Hash2Prime(Tx
i
);
[0011]S33:根据目标区块集合中每个交易Tx
i
的头部信息生成链式结构的头部信息即H
head
=∏H
i
和Tx
i
表示目标区块集合中的第i个交易;
[0012]S34:计算目标区块集合中每个交易Tx
i
的辅助累加值H
j
表示目标区块集合中的第j个交易的头部信息;
[0013]S34:根据链式结构的头部信息、目标区块集合中每个交易的头部信息和辅助累加值生成新的链式结构,其中,mod N表示对N进行模运算,N是p和q的乘积。
[0014]优选地,所述根据新的链式结构对目标区块集合中用户查询集对应的交易进行批量验证生成用户查询集的证明包括:
[0015]S301:当用户查询集中只有1个交易Tx
s1
的时候,则构造器生成用户查询集的证明{Tx
s1
,H
s1
,acc
s1
};其中,H
s1
表示交易Tx
s1
的头部信息,acc
s1
表示交易Tx
s1
的辅助累加值;
[0016]当用户查询集中有多个交易的时候,则计算其中,表示用户查询集中第j个交易Tx
sj
的头部信息;
[0017]S302:判断gcd(H
head
,μ)是否为1,如果gcd(H
head
,μ)为1,则执行步骤S303,反之则执行步骤S304;
[0018]S303:将用户查询集中所有的交易存入集合Set1,并生成用户查询集的证明{Set1,λ1,Flag1},其中,λ1=μ,Flag1=FLASE;
[0019]S304:计算H
head
和的最大公约数根据分解后的素数集合和用户查询集中交易的头部信息找到对应的交易,将找到的所有交易放入集合Set2,生成用户查询集的第一部分证明{Set2,λ2,Flag2},Flag2=FLASE;并根据分解后的素数集合和用户查询集中交易的头部信息找到对应的交易,将找到的所有交易放入成员集合Set3;生成用户查询集的第二部分证明{Set3,λ3,Flag3},Flag3=TURE;则用户查询集的证明包括:{Set2,λ2,Flag2}和{Set3,λ3,Flag3},Flag
k
表示构造器对用户查询集证明的承诺签名,k=1,2,3,Factor()表示素数因式分解函数。
[0020]优选地,所述验证器对用户查询集的证明进行验证包括:
[0021]当用户查询集中只有1个交易Tx
s1
的时候,则验证器获取新的链式结构的头部信息H
head
和w;并判断gcd(H
head
,H
s1
)是否为1,若gcd(H
head
,H
s1
)不为1则判断和w是否相等,若是则验证通过,向源链返回{Tx
s1
,TRUE

};
[0022]当用户查询集中有多个交易的时候,则验证器获取新的链式结构的头部信息H
head
和w;将用户查询集中的每个交易映射为素数h
sj
=Hash2Prime(Set
sj
),计算θ=∏h
sj
,如果Flag
k
等于TURE,判断是否成立,如果成立,则向源链返回{Set
k

k
,Flag
k
,TURE

},反之,则向源链返回{Set
k

k
,Flag
k
,FALSE

};
[0023]如果Flag
k
等于FALSE,判断gcd(θ,H
head
)=1是否成立,如果成立,返回{Set
k

k
,Flag
k
,TURE

},反之,则返回{Set
sj

...

【技术保护点】

【技术特征摘要】
1.一种面向联盟链跨链交易的查询验证方法,其特征在于,包括:S1:源链将链内的所有跨链交易查询请求封装为用户查询集,再利用跨链网关将用户查询集发送至目标链;S2:目标链根据用户查询集中的跨链交易查询请求查询跨链交易所在的目标区块,将所有查询到的目标区块封装成目标区块集合;并将目标区块集合发送至构造器;S3:构造器解析出目标区块集合中所有的交易,并基于RSA密码累加器算法对目标区块集合中的交易进行加密生成新的链式结构;并根据新的链式结构对目标区块集合中用户查询集对应的交易进行批量验证生成用户查询集的证明;并将用户查询集的证明返回给目标链;S4:目标链将用户查询集的证明通过跨链网关发送给源链;源链将用户查询集的证明发送给验证器,验证器对用户查询集的证明进行验证,并将验证结果返回给源链;源链将用户查询集证明的验证结果进行上链并返回给发起跨链交易查询请求的用户。2.根据权利要求1所述的一种面向联盟链跨链交易的查询验证方法,其特征在于,所述基于RSA密码累加器算法对目标区块集合中的交易进行加密生成新的链式结构包括:S31:设G
T
是阶为素数Q的乘法循环群,g表示G
T
的生成元,构造器从G
T
中随机选取大素数p和q,选择哈希函数Hash=Hash2prime();S32:针对目标区块集合中的每个交易Tx
i
生成其头部信息H
i
,即H
i
=Hash2Prime(Tx
i
);S33:根据目标区块集合中每个交易Tx
i
的头部信息生成链式结构的头部信息即H
head
=∏H
i
和Tx
i
表示目标区块集合中的第i个交易;S34:计算目标区块集合中每个交易Tx
i
的辅助累加值H
j
表示目标区块集合中的第j个交易的头部信息;S34:根据链式结构的头部信息、目标区块集合中每个交易的头部信息和辅助累加值生成新的链式结构,其中,modN表示对N进行模运算,N是p和q的乘积。3.根据权利要求2所述的一种面向联盟链跨链交易的查询验证方法,其特征在于,所述根据新的链式结构对目标区块集合中用户查询集对应的交易进行批量验证生成用户查询集的证明包括:S301:当用户查询集中只有1个交易Tx
s1
的时候,则构造器生成用户查询集的证明{Tx
s1
,H
s1
,acc
s1
};其中,H
s1
表示交易Tx
s1
的头部信息,acc
s1
表示交易Tx
s1
的辅助累加值;当用户查询集中有多个交易的时候,则计算其中,表示用户查询集中第j个交易Tx
sj
的头部信息;S302:判断gcd(H
head
,μ)是否为1,如果gcd(H
head
,μ)为1,则执行步骤S303,反之则执行步骤S304;S303:将用户查询集中所有的交易...

【专利技术属性】
技术研发人员:唐飞姜迎陈栎名牟俊宇马馨婷龚洁邱强
申请(专利权)人:重庆邮电大学
类型:发明
国别省市:

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1