跨链交互方法、装置、系统和电子设备制造方法及图纸

技术编号:28947946 阅读:15 留言:0更新日期:2021-06-18 22:04
本公开提供了一种跨链交互方法、装置、系统和电子设备,可用于区块链领域或其他领域,该由公证人平台执行的跨链方法包括:响应于来自至少两个区块中第一区块链的交互请求,存储交互请求,并且在确定交互请求满足交互条件后执行跨链方程,以将获取的交互请求关联信息发送给至少两个区块中第二区块链;以及响应于来自第二区块链的应答结果,存储应答结果,并且将应答结果发送给第一区块链,以便第一区块链针对交互请求执行第一智能合约,然后解锁账本,其中,账本在第一区块链发送交互请求时处于锁定状态,应答结果是第二区块链针对交互请求关联信息执行第二智能合约来确定的。

【技术实现步骤摘要】
跨链交互方法、装置、系统和电子设备
本公开涉及区块链
,更具体地,涉及一种跨链交互方法、装置、系统和电子设备。
技术介绍
区块链系统是将数据及数据的操作记录通过密码学方法进行加密和散列,从而形成一种公开透明、不可篡改、可追溯的分布式数据库记账系统。该技术可以在支付清算、存证取证、价值转移、供应链金融、用户征信、监管审计等领域进行广泛应用。跨链一直是区块链领域一个重要的话题。跨链方法为区块链提供了链外通道的能力,提高了区块链的扩展性。通过跨链技术来集成多个不同的区块链平台,使得多个区块链平台协作完成实际业务。在应用中,将不同场景的业务部署在相应的专有区块链平台中,利用跨链技术实现跨场景交互。其中,公证人机制是跨链技术的热点技术。在实现本公开构思的过程中,申请人发现相关技术至少存在如下问题:相关的公证人跨链方案具有一定的局限性,如不支持跨链智能合约。
技术实现思路
本公开的一个方面提供了一种跨链交互方法,该方法应用于公证人平台,公证人平台与至少两个区块链分别通信连接,该方法可以包括:响应于来自至少两个区块中第一区块链的交互请求,存储交互请求,并且在确定交互请求满足交互条件后执行跨链方程,以将交互请求关联信息发送给至少两个区块中第二区块链;以及响应于来自第二区块链的应答结果,存储应答结果,并且将应答结果发送给第一区块链,以便第一区块链针对交互请求执行第一智能合约,然后解锁账本,其中,账本在第一区块链发送交互请求时处于锁定状态,应答结果是第二区块链针对交互请求关联信息执行第二智能合约来确定的。本公开的一个方面提供了一种跨链交互方法,该方法应用于跨链网关适配器,跨链网关适配器与公证人平台相连,跨链网关适配器存在对应的第一区块链,该方法包括:响应于来自第一区块链的交互请求,将交互请求发送给公证人平台,以便公证人平台确定交互请求满足交互条件后执行跨链方程,将交互请求发送给第二区块链,然后,公证人平台响应于来自第二区块链的应答结果,存储应答结果,并且公证人平台将应答结果发送给跨链网关适配器;以及响应于来自公证人平台的应答结果,将交互请求发送给第一区块链,以便第一区块链针对交互请求执行第一智能合约,然后解锁账本,其中,账本在第一区块链发送交互请求时处于锁定状态,应答结果是第二区块链针对交互请求关联信息执行第二智能合约来确定的。本公开的另一方面提供了一种跨链交互装置,应用于公证人平台,公证人平台与至少两个区块链通信连接,该装置包括:第一响应模块,用于响应于来自至少两个区块中第一区块链的交互请求,存储交互请求,并且在确定交互请求满足交互条件后执行跨链方程,以将交互请求关联信息发送给至少两个区块中第二区块链;以及第二响应模块,用于响应于来自第二区块链的应答结果,存储应答结果,并且将应答结果发送给第一区块链,以便第一区块链针对交互请求执行第一智能合约,然后解锁账本,其中,账本在第一区块链发送交互请求时处于锁定状态,应答结果是第二区块链针对交互请求关联信息执行第二智能合约来确定的。本公开的另一方面提供了一种跨链交互装置,应用于跨链网关适配器,跨链网关适配器与公证人平台相连,跨链网关适配器存在对应的第一区块链,上述装置包括:第三响应模块,用于响应于来自第一区块链的交互请求,将交互请求发送给公证人平台,以便公证人平台确定交互请求满足交互条件后执行跨链方程,将交互请求发送给第二区块链,然后,公证人平台响应于来自第二区块链的应答结果,存储应答结果,并且公证人平台将应答结果发送给跨链网关适配器;以及第四响应模块,用于响应于来自公证人平台的应答结果,将交互请求发送给第一区块链,以便第一区块链针对交互请求执行第一智能合约,然后解锁账本,其中,账本在第一区块链发送交互请求时处于锁定状态,应答结果是第二区块链针对交互请求关联信息执行第二智能合约来确定的。本公开的另一方面提供了一种跨链交互系统,包括:公证人平台、跨链网关适配器和至少两个区块链,至少两个区块链各自分别存在对应的跨链网关适配器,跨链网关适配器与公证人平台相连,其中,公证人平台包括隔离运行环境,隔离运行环境用于执行跨链方程以实现公证人平台与跨链网关适配器之间的交互信息传输,并且记录交互信息;以及跨链网关适配器用于分别与公证人平台和与跨链网关适配器对应的区块链进行交互信息传输,其中,发起交互的区块链的账本在交互过程中处于锁定状态,并在在交互结束后处于解锁状态。本公开的另一方面提供了一种电子设备,包括:存储器、处理器及存储在存储器上并可在处理器上运行的计算机程序,所述处理器执行所述计算机程序时用于实现如上所述的方法。本公开的另一方面提供了一种计算机可读存储介质,存储有计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。本公开的另一方面提供了一种计算机程序,所述计算机程序包括计算机可执行指令,所述指令在被执行时用于实现如上所述的方法。根据本公开的实施例,公证人平台在确定交互请求满足交互条件后执行跨链方程,以将交互请求关联信息发送给至少两个区块中第二区块链,弥补了公证人机制无法支持跨链智能合约的缺陷。此外,通过设置交互双方区块链的账本状态,有助于提升交互双方针对交互信息的一致性。根据本公开的实施例,通过跨链网关适配器对至少部分交互信息进行非对称加密,使得公证人平台对跨链交易中的至少部分数据(如敏感数据)只有交易确认权,无知情权,确保了跨链双方交易的隐私性,有助于降低可信机构的准入门槛。根据本公开的实施例,由于支持跨链方程,使得能满足跨链交互场景中针对跨链智能合约的需求,支持诸如转换交互信息格式、调用交互批量检测合约以检查链上交易的真实性、针对交互成功的回调和针对交互失败的回调中至少一种功能,实现异构链间的消息格式转换、交易回调等功能。根据本公开的实施例,利用消息队列异步通信和消息订阅/推送机制能把跨链交互的交互信息从来源链安全稳定的转发到目标链中,且在网络健康的情况下能确保消息必定可达。利用消息队列消息缓存特性,提高公证人节点跨链交易的吞吐量。根据本公开的实施例,相对于传统的公证人机制需要对每笔跨链交易进行验证,本公开实施例提出了一种批量交易验证方式,该方式是一种弱验证方式,牺牲了每笔交易的可信度换取整体性能的提升。由于在联盟链的场景中,可以认为联盟方存在虚假作恶的概率较低,牺牲实时交易检验步骤是可以接受的。使得本公开实施例在没有明显降低交易可信度的前提下有效提升了整体性能。根据本公开的实施例,采用二阶段提交协议,跨链交互双方只需要在智能合约上遵循一定的规范就能确保双方跨链交易事务一致性。根据本公开的实施例,对参与跨链的区块链产品无入侵性,借助于跨链网关适配器,使得参与方无需修改任何底链架构即可参与跨链通信。附图说明为了更完整地理解本公开及其优势,现在将参考结合附图的以下描述,其中:图1示意性示出了根据本公开实施例的适用于跨链交互方法、装置、系统和电子设备的应用场景的示意图;图2示意性示出了根据本公开实施例的应用跨链交互方法、装置、系统和电子设本文档来自技高网...

【技术保护点】
1.一种由公证人平台执行的跨链交互方法,所述公证人平台与至少两个区块链分别通信连接,所述方法包括:/n响应于来自所述至少两个区块中第一区块链的交互请求,存储所述交互请求,并且在确定所述交互请求满足交互条件后执行跨链方程,以将获取的交互请求关联信息发送给所述至少两个区块中第二区块链;以及/n响应于来自所述第二区块链的应答结果,存储所述应答结果,并且将所述应答结果发送给所述第一区块链,以便所述第一区块链针对所述交互请求执行第一智能合约,然后解锁账本,/n其中,所述账本在所述第一区块链发送所述交互请求时处于锁定状态,所述应答结果是所述第二区块链针对所述交互请求关联信息执行第二智能合约来确定的。/n

【技术特征摘要】
1.一种由公证人平台执行的跨链交互方法,所述公证人平台与至少两个区块链分别通信连接,所述方法包括:
响应于来自所述至少两个区块中第一区块链的交互请求,存储所述交互请求,并且在确定所述交互请求满足交互条件后执行跨链方程,以将获取的交互请求关联信息发送给所述至少两个区块中第二区块链;以及
响应于来自所述第二区块链的应答结果,存储所述应答结果,并且将所述应答结果发送给所述第一区块链,以便所述第一区块链针对所述交互请求执行第一智能合约,然后解锁账本,
其中,所述账本在所述第一区块链发送所述交互请求时处于锁定状态,所述应答结果是所述第二区块链针对所述交互请求关联信息执行第二智能合约来确定的。


2.根据权利要求1所述的方法,其中,所述交互请求和/或所述应答结果通过消息队列进行传输。


3.根据权利要求2所述的方法,其中:
所述公证人平台与至少两个跨链网关适配器分别相连,所述至少两个跨链网关适配器各自存在对应的区块链;
所述公证人平台启用消息队列服务器端和第一消息队列客户端,所述至少两个跨链网关适配器各自分别启用第二消息队列客户端;
所述交互请求通过如下方式传输给所述公证人平台:所述第一消息队列客户端从所述消息队列服务器端支持的消息队列中消费所述交互请求,其中,所述交互请求是与所述第一区块链对应的跨链网关适配器基于区块链软件开发工具包从所述第一区块链获取的,并且由与所述第一区块链对应的跨链网关适配器的第二消息队列客户端将所述交互请求添加至所述消息队列中;并且/或者
所述应答结果通过如下方式传输给所述第一区块链包括:所述第一消息队列客户端将所述应答结果添加至所述消息队列服务器端支持的消息队列中,以便与所述第一区块链对应的跨链网关适配器的第二消息队列客户端从所述消息队列中消费所述应答结果,并且基于区块链软件开发工具包将所述应答结果发送给所述第一区块链。


4.根据权利要求1或3所述的方法,其中,所述公证人平台与至少两个跨链网关适配器分别相连,所述至少两个跨链网关适配器各自存在对应的区块链;对于由所述第一区块链发起、并且针对所述第二区块链的跨链交互通道,通过如下方式建立:
响应于来自所述第一区块链的跨链通道建立请求,存储与所述跨链通道建立请求对应的跨链通道建立信息,并且将所述跨链通道建立信息中通道状态设置为第一状态,其中,所述跨链通道建立请求包括第二区块链标识,并且经由与所述第一区块链对应的跨链网关适配器进行发送;
将所述跨链通道建立请求发送至与所述第二区块链标识对应的跨链网关适配器,以将所述跨链通道建立请求发送至所述第二区块链,便于所述第二区块链确定针对所述跨链通道建立请求的通道建立应答;以及
响应于来自与所述第二区块链对应的跨链网关适配器的所述通道建立应答,经由与所述第一区块链对应的跨链网关适配器发送所述通道建立应答至所述第一区块链,并且如果所述通道建立应答表征确认建立所述跨链交互通道,则将所述通道状态设置为第二状态。


5.根据权利要求4所述的方法,其中,所述跨链通道建立请求、所述通道建立应答、所述交互请求或者所述应答结果中至少部分经由所述跨链网关适配器进行非对称加密操作或者非对称解密操作。


6.根据权利要求1所述的方法,其中,所述交互条件包括以下至少一种:
所述公证人平台确定所述第一区块链和所述第二区块链之间已建立跨链交互通道,所述交互包括交易和/或查询;或者
所述第一区块链具有与所述第二区块链进行交互的权限;或者
所述第二区块链具有与所述第一区块链进行交互的权限。


7.根据权利要求1至3、5和6中任意一项所述的方法,其中,所述执行跨链方程包括在隔离运行环境中执行所述跨链方程,以运行所述跨链方程的代码,所述跨链方程用于:转换交互信息格式、调用交互批量检测合约以检查链上交易的真实性、针对交互成功的回调和针对交互失败的回调中至少一种。


8.根据权利要求1至3、5和6中任意一项所述的方法,还包括:
接收交互查询请求,所述交互查询请求包括查询条件;
响应于所述交互查询请求,基于所述查询条件确定交互信息;以及
输出所述交互信息。


9.根据权利要求1至3、5和6中任意一项所述的方法,还包括:
响应于将获取的交互请求关联信息发送给所述至少两个区块中第二区块链,进行计时;
如果所述计时的计时结果大于或等于预设时间阈值,并且没有收到针对所述交互请求的应答结果,则针对所述第一区块链发起回滚交互。


10.根据权利要求1至3、5和6中任意一项所述的方法,其中,至少两种区块链底链架构各自分别对应不同的跨链网关适配器。


11.根据权利要求1至3、5和6中任意一项所述的方法,还包括:在所述执行跨链方程之后,如果所述交互请求不满足交互条件,则向所述第一区块链发送跨链应答,以便所述第一区块链执行回滚所述第一智能合约。


12.根据权利要求1至3、5和6中任意一项所述的方法,还包括:在所述确定所述交互请求满足交互条件之后,基于公证人平台私钥对所述交互请求进行私钥签名;
所述将获取的交互请求关联信息发送给所述至少两个区块中第二区块链包括将签名后的交互请求发送给所述第二区块链;
所述应答结果是针对利用公证人平台公钥验签后的交互请求的。


13.根据权利要求1至3、5和6中任意一项所述的方法,其中,所述公证人平台包括一个或多个公证人节点,多个所述公证人节点构成公证人区块链。


14.一种由跨链网关适配器执行的跨链交互方法,所述跨链网关适配器与公证人平台相连,所述跨链网关适配器存在对应的第一区块链,所述方法包括:
响应于来自所述第一区块链的交互请求,将所述交互请求发送给所述公证人平台,...

【专利技术属性】
技术研发人员:钟亮江洪黄剑陈法山
申请(专利权)人:中国工商银行股份有限公司
类型:发明
国别省市:北京;11

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

1