区块链系统、跨链交互方法和装置制造方法及图纸

技术编号:38818195 阅读:18 留言:0更新日期:2023-09-15 19:57
本说明书一个或多个实施例提供一种区块链系统、跨链交互方法和装置。所述跨链交互方法应用于源区块链网络中的接口源节点,包括:向目的区块链网络发起跨链请求,并接收所述目的区块链网络返回的响应消息,其中,所述接口源节点从所述源区块链网络包含的多个源节点中选取得到;对接收到的响应消息进行校验,并将通过校验的响应消息同步至所述源区块链网络中的其他源节点。络中的其他源节点。络中的其他源节点。

【技术实现步骤摘要】
区块链系统、跨链交互方法和装置


[0001]本说明书一个或多个实施例涉及区块链
,尤其涉及一种区块链系统、跨链交互方法和装置。

技术介绍

[0002]区块链技术构建在传输网络(例如点对点网络)之上。区块链网络中的节点利用链式数据结构来验证与存储数据,并采用分布式节点共识算法来生成和更新数据。可组建不同的区块链网络来存证不同类型的业务数据。在该场景下,不同的区块链网络之间存在交互的需求,从而通过跨链交互来实现一些复杂的业务。例如,区块链系统中分别对应不同用户的多个区块链节点,可以基于同态加密、零知识证明等隐私技术针对某一节点的私有数据进行安全多方计算(Secure Multi

Party Computation,SMPC)等。
[0003]在相关技术中,不同区块链网络之间的跨链交互过程往往需要双方的多个区块链节点参与,如源区块链网络中的各个节点分别向目的区块链网络中的各个节点发起跨链请求,并接收后者分别返回的响应消息等。上述跨链交互方式在不同区块链网络之间跨链传输的请求和消息数量较多,网络之间的跨链负载较大,导致跨链交互的效率较低。

技术实现思路

[0004]有鉴于此,本说明书一个或多个实施例提供一种区块链系统、跨链交互方法和装置。
[0005]为实现上述目的,本说明书一个或多个实施例提供技术方案如下:
[0006]根据本说明书一个或多个实施例的第一方面,提出了一种跨链交互方法,应用于源区块链网络中的接口源节点,所述方法包括:
[0007]向目的区块链网络发起跨链请求,并接收所述目的区块链网络返回的响应消息,其中,所述接口源节点从所述源区块链网络包含的多个源节点中选取得到;
[0008]对接收到的响应消息进行校验,并将通过校验的响应消息同步至所述源区块链网络中的其他源节点。
[0009]根据本说明书一个或多个实施例的第二方面,提出了一种跨链交互装置,应用于源区块链网络中的接口源节点,所述装置包括:
[0010]消息获取单元,用于向目的区块链网络发起跨链请求,并接收所述目的区块链网络返回的响应消息,其中,所述接口源节点从所述源区块链网络包含的多个源节点中选取得到;
[0011]消息处理单元,用于对接收到的响应消息进行校验,并将通过校验的响应消息同步至所述源区块链网络中的其他源节点。
[0012]根据本说明书一个或多个实施例的第三方面,提出了一种区块链系统,包括:
[0013]源区块链网络,所述源区块链网络中的接口源节点向目的区块链网络发起跨链请求,并接收所述目的区块链网络返回的响应消息,所述接口源节点从所述源区块链网络包
Blockchain)和联盟链(Consortium Blockchain)。此外,还有多种类型的结合,比如私有链+联盟链、联盟链+公有链等不同组合形式。其中去中心化程度最高的是公有链。以公有链为例,加入公有链的参与者可以读取链上的数据记录、参与交易以及竞争新区块的记账权等。而且,各参与者(即节点)可自由加入以及退出网络,并进行相关操作。私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,参与节点具有严格限制且少。这种类型的区块链更适合于特定机构内部使用。联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;参与者通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
[0029]不论是公有链、私有链还是联盟链,都可能提供智能合约的功能。区块链上的智能合约是在区块链系统上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
[0030]以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑。以太坊作为一个可编程区块链的核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,这意味着可以通过它实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。实际上,虚拟机直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”)。部署在区块链上的智能合约可以是字节码的形式。
[0031]例如图1所示,Bob将一个包含创建智能合约信息的交易发送到以太坊网络后,节点1的EVM可以执行这个交易并生成对应的合约实例。图1中的“0x6f8ae93
…”
代表了这个合约的地址,交易的data字段保存的可以是字节码,交易的to字段为空。节点间通过共识机制达成一致后,这个合约成功创建,并且可以在后续过程中被调用。合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址,合约代码将保存在该合约账户中。智能合约的行为由合约代码控制。换句话说,智能合约使得区块链上产生包含合约代码和账户存储(Storage)的虚拟账户。
[0032]如图2所示,仍以以太坊为例,Bob将一个用于调用智能合约的交易发送到以太坊网络后,某一节点的EVM可以执行这个交易并生成对应的合约实例。图2中交易的from字段是交易发起方(即Bob)的账户的地址,to字段中的“0x6f8ae93
…”
代表了被调用的智能合约的地址,value字段在以太坊中是用于表征数字货币的数值,交易的data字段保存的调用智能合约的方法和参数。调用智能合约后,balance的值可能改变。后续,某个客户端可以通过某一区块链节点(例如图2中的节点6)查看balance的当前值。智能合约以规定的方式在区块链网络中每个节点独立地执行,所有执行记录和数据都保存在区块链上,所以当交易完成后,区块链上就保存了无法篡改、不会丢失的交易凭证。
[0033]创建智能合约和调用智能合约的示意图如图3所示。以太坊中要创建一个智能合约,需要经过编写智能合约、编译成字节码、部署到区块链等过程。以太坊中调用智能合约,是发起一笔指向智能合约地址的交易,智能合约代码分布式地运行在以太坊网络中每个节点的虚拟机中。
[0034]需要说明的是,除了可以由用户创建智能合约,也可以在创世块中由系统设置智能合约。这类合约一般称为创世合约。一般的,创世合约中可以设置一些区块链网络的数据结构、参数、属性和方法。此外,具有系统管理员权限的账户可以创建系统级的合约,或者修改系统级的合约(简称为系统合约)。另外除了以太坊中的EVM外,不同的区块链网络还可能
采用各种的虚拟机,这里并不限定。
[0035]区块链网络中的节点在执行调用智能合约的交易后,会生成相应的收据(receipt),以用于记录与执行该智能合约相关的信息。这样,可以通过查询交易的收据来获得合约执行结果的相关信息。合约执行结果可以表现为收据中的事件(event)。消息机制可以通过收据中的事件实现消息传递,以触发区块链节点执行相应的处理。事件的结构譬如可以为:
[0036]Event:
[0037][topic][data][0038][topic][data]本文档来自技高网
...

【技术保护点】

【技术特征摘要】
1.一种跨链交互方法,应用于源区块链网络中的接口源节点,所述方法包括:向目的区块链网络发起跨链请求,并接收所述目的区块链网络返回的响应消息,其中,所述接口源节点从所述源区块链网络包含的多个源节点中选取得到;对接收到的响应消息进行校验,并将通过校验的响应消息同步至所述源区块链网络中的其他源节点。2.根据权利要求1所述的方法,所述发起跨链请求,包括:在执行区块链交易的过程中发起所述跨链请求,其中,所述接口源节点对应于所述区块链交易。3.根据权利要求2所述的方法,所述接口源节点根据所述区块链交易包含的入参选取得到;或者,所述接口源节点按照所述区块链交易所调用智能合约中定义的合约逻辑选取得到。4.根据权利要求2所述的方法,还包括:从所述通过校验的响应消息中提取目标数据,并基于所述目标数据继续执行所述区块链交易。5.根据权利要求4所述的方法,所述区块链交易用于调用所述源区块链网络中部署的业务合约,所述基于所述目标数据继续执行所述区块链交易,包括:根据所述业务合约的接口信息回调所述业务合约的回调接口,以将所述目标数据传入所述业务合约。6.根据权利要求4所述的方法,所述目标数据包括:所述目的区块链网络维护的第一原始数据;和/或,所述目的区块链网络中目的节点处理第二原始数据得到的处理结果,所述第二原始数据包含在所述跨链请求中。7.根据权利要求1所述的方法,所述向目的区块链网络发起跨链请求,包括:调用所述源区块链网络中部署的跨链服务合约向目的区块链网络发起跨链请求。8.根据权利要求1所述的方法,所述向目的区块链网络发起跨链请求,并接收所述目的区块链网络返回的响应消息,包括:向目的区块链网络中的至少部分目的节点发起跨链请求,并接收所述至少部分目的节点返回的响应消息。9.根据权利要求8所述的方法,所述向目的区块链网络中的至少部分目的节点发起跨链请求,包括:向目的区块链网络中的各个目的节点分别发起跨链请求;或者,在所述目的区块链网络中确定所述接口源节点对应的接口目的节点,并向所述接口目的节点发起跨链请求,以由所述接口目的节点将所述跨链请求转发至所述目的区块链网络中的其他目的节点。10.根据权利要求8所述的方法,接收任一目的节点返回的响应消息,包括:接收所述任一目的节点返回的包含至少一份消息内容的一条响应消息,其中,在该条响应消息包含多份消息内容的情况下,各份消息内容分别由不同的目的节点生成。11.根据权利要求...

【专利技术属性】
技术研发人员:陶友贤
申请(专利权)人:蚂蚁区块链科技上海有限公司
类型:发明
国别省市:

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

1