【技术实现步骤摘要】
跨链交互方法、装置、系统和电子设备
本公开涉及区块链
,更具体地,涉及一种跨链交互方法、装置、系统和电子设备。
技术介绍
区块链系统是将数据及数据的操作记录通过密码学方法进行加密和散列,从而形成一种公开透明、不可篡改、可追溯的分布式数据库记账系统。该技术可以在支付清算、存证取证、价值转移、供应链金融、用户征信、监管审计等领域进行广泛应用。跨链一直是区块链领域一个重要的话题。跨链方法为区块链提供了链外通道的能力,提高了区块链的扩展性。通过跨链技术来集成多个不同的区块链平台,使得多个区块链平台协作完成实际业务。在应用中,将不同场景的业务部署在相应的专有区块链平台中,利用跨链技术实现跨场景交互。其中,公证人机制是跨链技术的热点技术。在实现本公开构思的过程中,申请人发现相关技术至少存在如下问题:相关的公证人跨链方案具有一定的局限性,如不支持跨链智能合约。
技术实现思路
本公开的一个方面提供了一种跨链交互方法,该方法应用于公证人平台,公证人平台与至少两个区块链分别通信连接,该方法可以包括:响应于来自至少两个区块中第一区块链的交互请求,存储交互请求,并且在确定交互请求满足交互条件后执行跨链方程,以将交互请求关联信息发送给至少两个区块中第二区块链;以及响应于来自第二区块链的应答结果,存储应答结果,并且将应答结果发送给第一区块链,以便第一区块链针对交互请求执行第一智能合约,然后解锁账本,其中,账本在第一区块链发送交互请求时处于锁定状态,应答结果是第二区块链针对交互请求关联信息执行第二智能合约 ...
【技术保护点】
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
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。