区块链跨链交易可信验证方法

文档序号:35422008发布日期:2023-09-13 09:22阅读:46来源:国知局
区块链跨链交易可信验证方法

本发明属于区块链,更为具体地讲,涉及一种区块链跨链交易可信验证方法。


背景技术:

1、区块链技术作为国家数字化发展的重中之重,已经成为了现代化数字经济建设中无法或缺的基础设施。但在区块链生态蓬勃发展的同时,规模逐渐变大的用户群体势必会引起不同区块链平台应用之间的交互。与此同时,发展壮大的链上应用也需在既有用户的价值基础上形成更大的网络效应,毫无疑问,链上应用交互必然是不可避免的未来趋势。因此,整个区块链生态都需要一个更加通用、便捷、易于多方合作的交互方式。打造一个具有兼容性、灵活性以及可用性的多链生态,实现可信、可靠、安全的跨链技术已经成为了整个行业关注的重点,如何达成“万链互联”、解决“数据孤岛”问题,也成为了当前区块链技术最火热的发展方向之一。

2、目前区块链可靠性的范围均是以平台自身为边界的,但是跨链交易会涉及到多条区块链之间的交互,这种交互必然会突破现有的可靠性边界,流出区块链的数据如何进行可靠性验证是一个需要解决的难题。目前,现有的跨链方案中对交易验证有不同的实现方案,但是基本上都以区块链平台同构为前提,因此有必要提出一种较为通用的同异构区块链可靠验证机制。


技术实现思路

1、本发明的目的在于克服现有技术的不足,提供一种区块链跨链交易可信验证方法,以跨链默克尔树为基础,结合验证规则和验证链路保证了交易在跨链流转过程中的可靠性,从而实现了跨链交易完整生命周期的可靠性。

2、为了实现上述发明目的,本发明区块链跨链交易可信验证方法包括以下步骤:

3、s1:为每个区块链配置一个适配器,每个适配器分别接入跨链网关,其中:

4、适配器是运行在区块链平台侧的独立进程,作为跨链网关和区块链交互的桥梁,用于跨链请求的捕捉、格式转化以及请求执行结果的收集;

5、跨链网关用于进行链间交互工作,包括跨链信息路由和事务控制;

6、s2:区块链生成注册请求并发送给适配器,注册请求包括由区块链根据实际情况设置的验证规则和对应的验证函数;

7、适配器从注册请求中解析出验证函数并保存,然后将注册请求转发至跨链网关;根据预设的跨链默克尔树生成方法产生对应验证函数并保存;

8、跨链网关根据注册请求对区块链进行注册,并解析出验证规则,为每个区块链分配一个docker容器,然后采用验证规则编译服务将验证规则编译为若干个可执行文件,随后这些可执行文件以服务的方式运行在对应区块链的docker容器中;跨链网关根据预设的跨链默克尔树生成方法将对应的验证规则编译为可执行文件,并以服务的方式运行在单独的docker容器中;

9、s3:在跨链网关注册成功的所有区块链构成跨链联盟,由跨链联盟向每个区块链、适配器和跨链网关发放身份凭证;

10、s4:当区块链需要进行跨链交易,则生成跨链交易请求并采用自身的身份凭证签名后发送至适配器;

11、s5:起源区块链适配器在接收到跨链交易请求后首先解析并验证起源区块链的身份凭证签名,如果验证未通过,则向区块链反馈身份验证失败的提示信息,如果验证通过,则根据对应区块链的验证函数验证该跨链交易请求在业务链上的交易存在性和交易正确性,如果验证不通过,则向区块链反馈验证失败信息,如果验证通过,则生成跨链默克尔树,具体方法为:

12、如果区块链本身存在交易默克尔树和回执默克尔树,则生成一个跨链默克尔树根,作为交易默克尔树和回执默克尔树两个根节点的父节点,从而将交易默克尔树和回执默克尔树合并为一个,形成跨链默克尔树;

13、如果区块链不存在交易默克尔树和回执默克尔树,则由适配器根据区块链中的交易信息分别按预设方法生成交易默克尔树和回执默克尔树,再合并得到跨链默克尔树;

14、然后起源区块链适配器将起源区块链的跨链交易请求和跨链默克尔树打包得到跨链交易数据,采用自身的身份凭证签名后发送给跨链网关;

15、s6:跨链网关在接收到跨链交易数据后,首先解析并验证适配器的身份凭证签名,如果验证未通过,则向适配器反馈身份验证失败的提示信息,如果验证通过,则解析得到跨链交易请求和跨链默克尔树,将跨链默克尔树发送至起源区块链的docker容器中进行验证,如果验证不通过则通过起源区块链适配器向起源区块链发送数据验证失败信息,如果验证通过,则将跨链交易数据采用跨链网关的身份凭证签名后转发至该请求的目标区块链所对应的适配器;

16、s7:目标区块链适配器在接收到跨链交易数据后,首先解析并验证跨链网关的身份凭证签名,如果验证未通过,则向跨链网关反馈身份验证失败的提示信息,如果验证通过,则解析得到跨链交易请求和跨链默克尔树,对跨链默克尔树进行验证,如果验证未通过则通过跨链网关、起源区块链适配器向起源区块链发送数据验证失败信息,如果验证通过,则将跨链交易请求采用自身的身份凭证签名后转发至该目标区块链;

17、s8:目标区块链在收到跨链交易请求后,首先解析并验证目标区块链适配器的身份凭证签名,如果验证未通过,则向目标区块链适配器反馈身份验证失败的提示信息,如果验证通过,则执行跨链交易请求,成功落块后生成执行结果回执并采用自身身份凭证签名后反馈至目标区块链适配器;

18、s9:目标区块链适配器在接收到执行结果回执后,首先解析并验证目标区块链的身份凭证签名,如果验证未通过,则向目标区块链反馈身份验证失败的提示信息,如果验证通过,则将执行结果回执并入该跨链交易请求对应的跨链默克尔树中,将执行结果回执和更新后的跨链默克尔树打包得到跨链交易回执数据并采用自身身份凭证签名后反馈跨链网关;

19、s10:跨链网关在接收到跨链交易回执数据后,首先解析并验证目标区块链适配器的身份凭证签名,如果验证未通过,则向目标区块链适配器反馈身份验证失败的提示信息,如果验证通过,则解析得到执行结果回执和更新后的跨链默克尔树,对更新后的跨链默克尔树进行验证,如果验证未通过则通过目标区块链适配器向目标区块链发送数据验证失败信息,如果验证通过,则将执行结果回执保存,结束此次跨链交易。

20、本发明区块链跨链交易可信验证方法,为每个区块链配置一个适配器,每个适配器分别接入跨链网关,区块链通过注册将自身验证规则和对应的验证函数发送给适配器和跨链网关,适配器保存验证函数,跨链网关为每个区块链分配一个docker容器用于将验证规则的可执行文件转化为验证服务,每个区块链、适配器和跨链网关通过跨链联盟获取身份凭证;区块链向对应适配器发起跨链交易请求,起源区块链适配器生成跨链默克尔树,将起源区块链的跨链交易请求和跨链默克尔树打包得到跨链交易数据发送给跨链网关,跨链网关将跨链交易数据通过目标区块链的适配器转发给目标区块链,在此过程中各组件通过身份凭证进行身份验证,通过跨链默克尔树进行数据验证,直至交易完成。

21、本发明具有以下有益效果:

22、1)本发明通过跨链默克尔树这种通用的验证数据结果,屏蔽了区块链平台之间因为底层结构不同而导致的差异性,使得跨链各方在不修改底层实现的前提下就可以用统一的方式进行交易验证。

23、2)本发明通过验证规则从业务链外围的角度出发,保证了业务链流出数据的可靠性和可验证性;

24、3)本发明在跨链交易进行的过程中,每一步数据流转均会经过可靠性校验,实现了跨链请求的全链路可验证性。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1