基于区块链的业务处理方法及装置、电子设备
技术领域
本说明书一个或多个实施例涉及区块链技术领域,尤其涉及一种基于区块链的业务处理方法及装置、电子设备。
背景技术
区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特性,使得区块链技术已在众多的领域中广泛的进行应用。
发明内容
本说明书提出一种基于区块链的业务处理方法,应用于跨链业务系统中的业务区块链;其中,所述跨链业务系统包括业务区块链,以及通过跨链中继与所述业务区块链对接的多个资产区块链;所述资产区块链上部署了资产交换服务;所述方法包括
接收与所述业务区块链对接的业务系统发送的目标交易;其中,所述目标交易用于触发执行目标业务;
响应于所述目标交易,从所述多个资产区块链中确定与所述目标业务对应的目标资产区块链,通过跨链中继调用所述目标资产区块链上部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过跨链中继获取所述目标资产区块链上存证的与所述目标交易相关的业务账户之间的资产交换凭证;
响应于获取到的所述资产交换凭证,对所述目标业务执行进一步的业务处理。
可选的,所述响应于所述目标交易,从所述多个资产区块链中确定与所述目标业务对应的目标资产区块链,通过跨链中继调用所述目标资产区块链上部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过跨链中继获取所述目标资产区块链上存证的与所述目标交易相关的业务账户之间的资产交换凭证,包括:
响应于所述目标交易,调用所述业务区块链部署的第一智能合约中的跨链处理逻辑,从所述多个资产区块链中确定与所述目标业务对应的目标资产区块链,通过跨链中继调用所述目标资产区块链上部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过跨链中继获取所述目标资产区块链上存证的与所述目标交易相关的业务账户之间的资产交换凭证。
可选的,所述通过跨链中继调用所述目标资产区块链上部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过跨链中继获取所述目标资产区块链上存证的与所述目标交易相关的业务账户之间的资产交换凭证,包括:
通过跨链中继跨链调用所述目标资产区块链上部署的第二智能合约中的资产交换服务逻辑,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过跨链中继获取所述第二智能合约在所述资产交换处理完成后发布至所述目标资产区块链进行存证的资产交换凭证。
可选的,所述响应于获取到的所述资产交换凭证,对所述目标业务执行进一步的业务处理,包括:
响应于获取到的所述资产交换凭证,进一步调用所述第一智能合约中的业务处理逻辑,对所述目标业务执行进一步的业务处理,并将业务处理结果发布至所述业务区块链进行存证。
可选的,所述响应于获取到的所述资产交换凭证,对所述目标业务执行进一步的业务处理,包括:
响应于获取到的所述资产交换凭证,将所述资产交换凭证发布至所述业务区块链进行存证,以使所述业务系统在监听到所述资产交换凭证时对所述目标业务进行进一步的业务处理,并将业务处理结果发布至所述业务区块链进行存证。
可选的,所述业务区块链通过跨链中继与资产服务链对接;其中,所述资产服务链通过跨链中继进一步与所述多个资产区块链分别对接;或者,所述资产服务链通过Oracle预言机进一步与资产服务机构的服务端对接。
可选的,所述业务区块链通过Oracle预言机与资产服务机构的服务端对接;其中,所述资产服务机构的服务端部署了资产交换服务。
本说明书还提出一种基于区块链的业务处理方法,应用于跨链业务系统中的业务区块链;其中,所述跨链业务系统包括业务区块链,以及通过Oracle预言机与所述业务区块链对接的多个资产服务机构的服务端;所述服务端上部署了资产交换服务;所述方法包括
接收与所述业务区块链对接的业务系统发送的目标交易;其中,所述目标交易用于触发执行目标业务;
响应于所述目标交易,从所述多个资产服务机构的服务端中确定与所述目标业务对应的目标资产服务机构的服务端,通过Oracle预言机调用所述目标资产服务机构的服务端部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过Oracle预言机获取与所述目标交易相关的业务账户之间的资产交换凭证;
响应于获取到的所述资产交换凭证,对所述目标业务执行进一步的业务处理。
可选的,所述响应于所述目标交易,从所述多个资产服务机构的服务端中确定与所述目标业务对应的目标资产服务机构的服务端,并通过Oracle预言机调用所述目标资产服务机构的服务端部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,包括:
响应于所述目标交易,调用所述业务区块链部署的第三智能合约中的链外处理逻辑,从所述多个资产服务机构的服务端中确定与所述目标业务对应的目标资产服务机构的服务端,并通过Oracle预言机调用所述目标资产服务机构的服务端部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理。
可选的,所述响应于获取到的所述资产交换凭证,对所述目标业务执行进一步的业务处理,包括:
响应于获取到的所述资产交换凭证,进一步调用所述第三智能合约中的业务处理逻辑,对所述目标业务执行进一步的业务处理,并将业务处理结果发布至所述业务区块链进行存证。
可选的,所述响应于获取到的所述资产交换凭证,对所述目标业务执行进一步的业务处理,包括:
响应于获取到的所述资产交换凭证,将所述资产交换凭证发布至所述业务区块链进行存证,以使所述业务系统在监听到所述资产流通凭时对所述目标业务进行进一步的业务处理,并将业务处理结果发布至所述业务区块链进行存证。
可选的,所述业务区块链通过跨链中继与资产服务链对接;其中,所述资产服务链通过Oracle预言机进一步与所述多个资产服务机构的服务器分别对接。
本说明书还提出一种基于区块链的业务处理装置,应用于跨链业务系统中的业务区块链;其中,所述跨链业务系统包括业务区块链,以及通过跨链中继与所述业务区块链对接的多个资产区块链;所述资产区块链上部署了资产交换服务;所述装置包括
第一接收模块,接收与所述业务区块链对接的业务系统发送的目标交易;其中,所述目标交易用于触发执行目标业务;
第一调用模块,响应于所述目标交易,从所述多个资产区块链中确定与所述目标业务对应的目标资产区块链,通过跨链中继调用所述目标资产区块链上部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过跨链中继获取所述目标资产区块链上存证的与所述目标交易相关的业务账户之间的资产交换凭证;
第一处理模块,响应于获取到的所述资产交换凭证,对所述目标业务执行进一步的业务处理。
可选的,所述第一调用模块:
响应于所述目标交易,调用所述业务区块链部署的第一智能合约中的跨链处理逻辑,从所述多个资产区块链中确定与所述目标业务对应的目标资产区块链,通过跨链中继调用所述目标资产区块链上部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过跨链中继获取所述目标资产区块链上存证的与所述目标交易相关的业务账户之间的资产交换凭证。
可选的,所述第一调用模块进一步:
通过跨链中继跨链调用所述目标资产区块链上部署的第二智能合约中的资产交换服务逻辑,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过跨链中继获取所述第二智能合约在所述资产交换处理完成后发布至所述目标资产区块链进行存证的资产交换凭证。
可选的,所述第一处理模块:
响应于获取到的所述资产交换凭证,进一步调用所述第一智能合约中的业务处理逻辑,对所述目标业务执行进一步的业务处理,并将业务处理结果发布至所述业务区块链进行存证。
可选的,所述第一处理模块:
响应于获取到的所述资产交换凭证,将所述资产交换凭证发布至所述业务区块链进行存证,以使所述业务系统在监听到所述资产交换凭证时对所述目标业务进行进一步的业务处理,并将业务处理结果发布至所述业务区块链进行存证。
可选的,所述业务区块链通过跨链中继与资产服务链对接;其中,所述资产服务链通过跨链中继进一步与所述多个资产区块链分别对接;或者,所述资产服务链通过Oracle预言机进一步与资产服务机构的服务端对接。
可选的,所述业务区块链通过Oracle预言机与资产服务机构的服务端对接;其中,所述资产服务机构的服务端部署了资产交换服务。
本说明书还提出一种基于区块链的业务处理装置,应用于跨链业务系统中的业务区块链;其中,所述跨链业务系统包括业务区块链,以及通过Oracle预言机与所述业务区块链对接的多个资产服务机构的服务端;所述服务端上部署了资产交换服务;所述装置包括
第二接收模块,接收与所述业务区块链对接的业务系统发送的目标交易;其中,所述目标交易用于触发执行目标业务;
第二调用模块,响应于所述目标交易,从所述多个资产服务机构的服务端中确定与所述目标业务对应的目标资产服务机构的服务端,通过Oracle预言机调用所述目标资产服务机构的服务端部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过Oracle预言机获取与所述目标交易相关的业务账户之间的资产交换凭证;
第二处理模块,响应于获取到的所述资产交换凭证,对所述目标业务执行进一步的业务处理。
可选的,所述第二调用模块:
响应于所述目标交易,调用所述业务区块链部署的第三智能合约中的链外处理逻辑,从所述多个资产服务机构的服务端中确定与所述目标业务对应的目标资产服务机构的服务端,并通过Oracle预言机调用所述目标资产服务机构的服务端部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理。
可选的,所述第二处理模块:
响应于获取到的所述资产交换凭证,进一步调用所述第三智能合约中的业务处理逻辑,对所述目标业务执行进一步的业务处理,并将业务处理结果发布至所述业务区块链进行存证。
可选的,所述第二处理模块:
响应于获取到的所述资产交换凭证,将所述资产交换凭证发布至所述业务区块链进行存证,以使所述业务系统在监听到所述资产流通凭时对所述目标业务进行进一步的业务处理,并将业务处理结果发布至所述业务区块链进行存证。
可选的,所述业务区块链通过跨链中继与资产服务链对接;其中,所述资产服务链通过Oracle预言机进一步与所述多个资产服务机构的服务器分别对接。
在以上技术方案中,业务区块链可以通过跨链中继与多个资产区块链对接,使得与业务区块链对接的业务系统在执行需要特定的目标资产区块链上部署的资产交换服务作为业务支撑的目标业务时,可以通过跨链中继来获取目标资产区块链上存证的与所述目标交易相关的业务账户之间的资产交换凭证,然后再基于获取到的资产交换凭证,对该目标业务执行进一步的业务处理;从而对于业务区块链而言,可以不再需要单独部署相关的资产交换服务作为上述目标业务的业务支撑,就可以整合多个资产区块链上部署的资产交换服务,使业务区块链具有多种资产交换能力,因此可以降低业务区块链的建设成本,简化业务区块链上的业务处理流程。
在以上技术方案中,业务区块链也可以通过Oracle预言机多个资产服务机构的服务端对接,使得与业务区块链对接的业务系统在执行需要特定的目标资产服务机构的服务端上部署的资产交换服务作为业务支撑的目标业务时,可以通过Oracle预言机来调用该目标资产服务机构的服务端上部署的资产交换服务,执行针对与该目标交易相关的业务账户之间的资产交换处理,并通过Oracle预言机获取与该目标交易相关的业务账户之间的资产交换凭证,然后再基于获取到的资产交换凭证,对该目标业务执行进一步的业务处理;从而对于业务区块链而言,可以不再需要单独部署相关的资产交换服务作为上述目标业务的业务支撑,就可以整合多个资产服务机构的服务端上部署的资产交换服务,使业务区块链具有多种资产交换能力,因此可以降低业务区块链的建设成本,简化业务区块链上的业务处理流程。
附图说明
图1是一示例性实施例提供的一种创建智能合约的示意图;
图2是一示例性实施例提供的调用智能合约的示意图;
图3是一示例性实施例提供的创建智能合约和调用智能合约的示意图;
图4是一示例性实施例提供的一种跨链业务系统的架构图;
图5是一示例性实施例提供的一种基于区块链的业务处理方法的流程图;
图6是一示例性实施例提供的另一种基于区块链的业务处理方法的流程图;
图7是一示例性实施例提供的一种电子设备的结构示意图;
图8是一示例性实施例提供的一种基于区块链的业务处理装置的框图;
图9是一示例性实施例提供的另一种基于区块链的业务处理装置的框图。
具体实施方式
这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书一个或多个实施例相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书一个或多个实施例的一些方面相一致的装置和方法的例子。
需要说明的是:在其他实施例中并不一定按照本说明书示出和描述的顺序来执行相应方法的步骤。在一些其他实施例中,其方法所包括的步骤可以比本说明书所描述的更多或更少。此外,本说明书中所描述的单个步骤,在其他实施例中可能被分解为多个步骤进行描述;而本说明书中所描述的多个步骤,在其他实施例中也可能被合并为单个步骤进行描述。
区块链一般被划分为三种类型:公有链(Public Blockchain),私有链(PrivateBlockchain)和联盟链(Consortium Blockchain)。此外,还可以有上述多种类型的结合,比如私有链+联盟链、联盟链+公有链等。
其中,去中心化程度最高的是公有链。公有链以比特币、以太坊为代表,加入公有链的参与者(也可称为区块链中的节点)可以读取链上的数据记录、参与交易、以及竞争新区块的记账权等。而且,各节点可自由加入或者退出网络,并进行相关操作。
私有链则相反,该网络的写入权限由某个组织或者机构控制,数据读取权限受组织规定。简单来说,私有链可以为一个弱中心化系统,其对节点具有严格限制且节点数量较少。这种类型的区块链更适合于特定机构内部使用。
联盟链则是介于公有链以及私有链之间的区块链,可实现“部分去中心化”。联盟链中各个节点通常有与之相对应的实体机构或者组织;节点通过授权加入网络并组成利益相关联盟,共同维护区块链运行。
基于区块链的基本特性,区块链通常是由若干个区块构成。在这些区块中分别记录有与该区块的创建时刻对应的时间戳,所有的区块严格按照区块中记录的时间戳,构成一条在时间上有序的数据链条。
对于物理世界产生的真实数据,可以将其构建成区块链所支持的标准的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对收到的交易进行共识处理,并在达成共识后,由区块链中作为记账节点的节点设备,将这笔交易打包进区块,在区块链中进行持久化存证。
其中,区块链中支持的共识算法可以包括:
第一类共识算法,即节点设备需要争夺每一轮的记账周期的记账权的共识算法;例如,工作量证明(Proof of Work,POW)、股权证明(Proof of Stake,POS)、委任权益证明(Delegated Proof of Stake,DPOS)等共识算法;
第二类共识算法,即预先为每一轮记账周期选举记账节点(不需要争夺记账权)的共识算法;例如,实用拜占庭容错(Practical Byzantine Fault Tolerance,PBFT)等共识算法。
在采用第一类共识算法的区块链网络中,争夺记账权的节点设备,都可以在接收到交易后执行该笔交易。争夺记账权的节点设备中可能有一个节点设备在本轮争夺记账权的过程中胜出,成为记账节点。记账节点可以将收到的交易与其它交易一起打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
在采用第二类共识算法的区块链网络中,具有记账权的节点设备在本轮记账前已经商定好。因此,节点设备在接收到交易后,如果自身不是本轮的记账节点,则可以将该交易发送至记账节点。对于本轮的记账节点,在将该交易与其它交易一起打包以生成最新区块的过程中或者之前,可以执行该交易。记账节点在生成最新区块后,可以将该最新区块或者该最新区块的区块头发送至其它节点设备进行共识。
如上所述,无论区块链采用以上示出的哪种共识算法,本轮的记账节点都可以将接收到的交易打包以生成最新区块,并将生成的最新区块或者该最新区块的区块头发送至其它节点设备进行共识验证。如果其它节点设备接收到最新区块或者该最新区块的区块头后,经验证没有问题,可以将该最新区块追加到原有的区块链末尾,从而完成区块链的记账过程。其它节点验证记账节点发来的新的区块或区块头的过程中,也可以执行该区块中的包含的交易。
在区块链领域,有一个重要的概念就是账户(Account);以以太坊为例,以太坊通常将账户划分为外部账户和合约账户两类;外部账户就是由用户直接控制的账户,也称之为用户账户;而合约账户则是由用户通过外部账户创建的,包含合约代码的账户(即智能合约)。
当然,对于一些基于以太坊的架构而衍生出的区块链项目(比如蚂蚁区块链),还可以对区块链支持的账户类型,进行进一步的扩展,在本说明书中不进行特别限定。
对于区块链中的账户而言,通常会通过一个结构体,来维护账户的账户状态。当区块中的交易被执行后,区块链中与该交易相关的账户的状态通常也会发生变化。
以以太坊为例,账户的结构体通常包括Balance,Nonce,Code和Storage等字段。其中:
Balance字段,用于维护账户目前的账户余额;
Nonce字段,用于维护该账户的交易次数;它是用于保障每笔交易能且只能被处理一次的计数器,有效避免重放攻击;
Code字段,用于维护该账户的合约代码;在实际应用中,Code字段中通常仅维护合约代码的hash值;因而,Code字段通常也称之为Codehash字段。
Storage字段,用于维护该账户的存储内容(默认字段值为空);在实际应用中,对于合约账户而言,通常会分配一个独立的存储空间,用以存储该合约账户的存储内容;该独立的存储空间通常称之为该合约账户的账户存储。合约账户的存储内容通常构建成MPT(Merkle Patricia Trie)树的数据结构存储在上述独立的存储空间之中;其中,基于合约账户的存储内容构建成的MPT树,通常也称之为Storage树。而Storage字段通常仅维护该Storage树的根节点;因此,Storage字段通常也称之为StorageRoot字段。其中,对于外部账户而言,以上示出的Code字段和Storage字段的字段值均为空值。
在区块链领域,不论是公有链、私有链还是联盟链,都可能提供智能合约(Smartcontract)的功能。区块链上的智能合约是在区块链上可以被交易触发执行的合约。智能合约可以通过代码的形式定义。
以以太坊为例,支持用户在以太坊网络中创建并调用一些复杂的逻辑。以太坊作为一个可编程区块链,其核心是以太坊虚拟机(EVM),每个以太坊节点都可以运行EVM。EVM是一个图灵完备的虚拟机,通过它可以实现各种复杂的逻辑。用户在以太坊中发布和调用智能合约就是在EVM上运行的。实际上,EVM直接运行的是虚拟机代码(虚拟机字节码,下简称“字节码”),所以部署在区块链上的智能合约可以是字节码。
如图1所示,Bob将一笔包含创建智能合约信息的交易(Transaction)发送到以太坊网络后,各节点均可以在EVM中执行这笔交易。其中,图中1中交易的From字段用于记录发起创建智能合约的账户的地址,交易的Data字段的字段值保存的合约代码可以是字节码,交易的To字段的字段值为一个null(空)的账户。当节点间通过共识机制达成一致后,这个智能合约成功创建,后续用户可以调用这个智能合约。
智能合约创建后,区块链上出现一个与该智能合约对应的合约账户,并拥有一个特定的地址;比如,图1中的各节点中的“0x68e12cf284…”就代表了创建的这个合约账户的地址;合约代码(Code)和账户存储(Storage)将保存在该合约账户的账户存储中;智能合约的行为由合约代码控制,而智能合约的账户存储则保存了智能合约的状态。换句话说,智能合约使得区块链上产生包含合约代码和账户存储的虚拟账户。
前述提到,包含创建智能合约的交易的Data字段保存的可以是该智能合约的字节码。字节码由一连串的字节组成,每一字节可以标识一个操作。基于开发效率、可读性等多方面考虑,开发者可以不直接书写字节码,而是选择一门高级语言编写智能合约代码。例如,高级语言可以诸如Solidity、Serpent、LLL语言等。对于采用高级语言编写的智能合约代码,可以经过编译器编译,生成可以部署到区块链上的字节码。
以Solidity语言为例,用其编写的合约代码与面向对象编程语言中的类(Class)很相似,在一个合约中可以声明多种成员,包括状态变量、函数、函数修改器、事件等。状态变量是永久存储在智能合约的账户存储(Storage)字段中的值,用于保存合约的状态。
如图2所示,仍以以太坊为例,Bob将一笔包含调用智能合约信息的交易发送到以太坊网络后,各节点均可以在EVM中执行这笔交易,并在EVM中运行智能合约相关的合约代码。其中,图中2中交易的From字段用于记录发起调用智能合约的账户的地址,To字段用于记录被调用的智能合约的地址,交易的Data字段用于记录调用智能合约的方法和参数。调用智能合约后,合约账户的账户状态可能改变。后续,某个客户端可以通过接入的区块链节点(例如图2中的节点1)查看合约账户的账户状态。
智能合约可以以规定的方式在区块链网络中每个节点独立的执行,所有执行记录和数据都保存在区块链上,所以当这样的交易执行完毕后,区块链上就保存了无法篡改、不会丢失的交易凭证。
创建智能合约和调用智能合约的示意图如图3所示。以太坊中要创建一个智能合约,需要经过编写智能合约、变成字节码、部署到区块链等过程。以太坊中调用智能合约,是发起一笔指向智能合约地址的交易,各个节点的EVM可以分别执行该交易,将智能合约代码分布式的运行在以太坊网络中各个节点的虚拟机中。
以以太坊代表的传统的区块链项目,为了在区块链上实现“价值转移”,通常都支持将现实世界的货币转换为能够在链上流通的虚拟代币。
而在区块链领域,对于一些基于以太坊的架构而衍生出的区块链项目(比如蚂蚁区块链),通常不再支持将现实世界的货币转换为能够在链上流通的虚拟代币的功能;取而代之的是,在这些区块链项目中,可以将现实世界中的一些非货币属性的实体资产,转化成为能够在区块链上流通的虚拟资产。
其中,需要说明的是,将现实世界中的非货币属性的实体资产转化为区块链上的虚拟资产,通常是指将该实体资产与区块链上的虚拟资产进行锚定,作为这些虚拟资产的价值支撑,进而在区块链上产生与实体资产的价值匹配,且能够在区块链上的区块链账户之间进行流通的虚拟资产的过程。
在实现时,可以对区块链支持的账户类型进行扩展,在区块链支持的账户类型的基础上,再扩展出一种资产账户(也称之为资产对象);比如,可以在以太坊支持的外部账户、合约账户的基础上,再扩展出一种资产账户;扩展出的该资产账户,即为可以将现实世界中的非货币属性的实体资产作为价值支撑,且可以在区块链账户之间流通的虚拟资产。
对于接入这类区块链的用户而言,除了可以在区块链上完成用户账户、智能合约的创建以外,在区块链上创建一笔与现实世界的非货币属性的实体资产价值匹配的虚拟资产,在区块链上进行流通;比如,用户可以将持有的房产、股票、贷款合同、票据、应收账款等非货币属性的实体资产,转换为价值匹配的虚拟资产在区块链上流通。
其中,对于上述资产账户而言,具体也可以通过一个结构体,来维护账户的账户状态。上述资产账户的结构体所包含的内容,可以与以太坊相同,当然也可以基于实际的需求进行设计;
在一种实现方式中,以上述资产账户的结构体所包含的内容与以太坊相同为例,上述资产账户的结构体也可以包括以上描述的Balance,Nonce,Code和Storage等字段。
需要说明的是,在以太坊中,Balance字段通常用于维护账户目前的账户余额;而对于基于以太坊的架构而衍生出的区块链项目而言,由于其可能并不支持将现实世界的货币转换为能够在链上流通的虚拟代币,因此在这类区块链中,可以对Balance字段的含义进行扩展,不再表示账户的“余额”,而是用于维护账户持有的“虚拟资产”对应的资产账户的地址信息。其中,在实际应用中,Balance字段中可以维护多笔“虚拟资产”对应的资产账户的地址信息。
在这种情况下,以上示出的外部账户、合约账户和资产账户,均可以通过在Balance字段中添加需要持有的“虚拟资产”对应的资产账户的地址信息,来持有这笔虚拟资产。即除了外部账户和合约账户以外,资产账户本身也可以持有虚拟资产。
对于资产账户而言,Nonce,Code字段的字段值可以为空值(也可以不为空);而Storage字段的字段值可以不再是空值;Storage字段可以用于维护与该资产账户对应的“虚拟资产”的资产状态。其中,在Storage字段中维护与该资产账户对应的“虚拟资产”的资产状态的具体方式,可以基于需求灵活的进行设计,不再赘述。
在基于以太坊的架构而衍生出的区块链项目中,用户可以通过以下示出的实现方式,在区块链上创建一笔与现实世界的非货币属性的实体资产价值匹配的虚拟资产:
在一种实现方式中,可以对区块链支持的交易类型进行扩展,扩展出一种用于创建虚拟资产的交易;比如,以太坊支持的交易类型通常包括普通的转账交易、创建智能合约的交易和调用智能合约的交易,则可以在以上三种类型的交易的基础上,再扩展出一种用于创建虚拟资产的交易。
在这种情况下,用户可以通过客户端向区块链网络中发布一笔用于创建虚拟资产的交易,由区块链中的节点设备在本地的EVM中执行这笔交易,来为该用户创建虚拟资产。当各节点设备通过共识机制达成一致后,这笔虚拟资产成功创建,区块链上出现一个与这笔虚拟资产对应的资产账户,并拥有一个特定的地址。
在另一种实现方式中,也可以在区块链上部署用于创建虚拟资产的智能合约;其中,部署用于创建虚拟资产的智能合约的过程不再赘述。
在这种情况下,用户可以通过客户端向区块链网络中发布一笔用于调用该智能合约的交易,由区块链中的节点设备在本地的EVM中执行这笔交易,并在EVM中运行智能合约相关的合约代码,来为该用户创建虚拟资产。当各节点设备通过共识机制达成一致后,这笔虚拟资产成功创建,区块链上出现一个与这笔虚拟资产对应的资产账户,并拥有一个特定的地址。
当然,对于一些基于以太坊的架构而衍生出的区块链项目,如果其也支持将现实世界的货币转换为能够在链上流通的虚拟代币的功能,那么仍然可以将现实世界中的一些非货币属性的实体资产,转化成为能够在区块链上流通的虚拟代币的形式,在区块链上流通,在本说明书中不再赘述。
随着区块链的业务场景的不断丰富,除了诸如转账等与价值转移息息相关的业务以外,越来越多的区块链项目开始引入一些与价值转移无关的传统业务场景;例如,业务系统可以与业务区块链对接,在业务区块链上来完成诸如租房业务、房产买卖等传统的业务场景。
而在这些传统的业务场景中,存在着一类需要将资产服务机构部署的资产交换服务作为业务支撑的业务场景;
其中,所谓将资产服务机构部署的资产交换服务作为业务支撑,是指在业务系统在对接的业务区块链上来完成相应的业务实现时,需要先基于资产服务机构的资产交换服务,完成与该业务相关的业务账户之间的资产交换;当资产交换完成并且相关的资产交换凭证在业务区块链上存证后,才可以在业务区块链上完成进一步的业务处理;
例如,以上述业务为房产买卖业务为例,与该业务相关的业务账户则可以是指买方产权账户和卖方产权账户,上述资产服务机构可以是指房产买卖服务机构(比如房地产交易中心),上述资产交换服务可以是指“房产过户”服务;在这种业务场景下,如果需要在业务区块链上实施房产买卖业务,则买方和买方需要先基于房产买卖服务机构提供的“房产过户”服务,将房屋在买方和买方的产权账户之间完成“房产过户”;当“房产过户”完成并且相关的“房产过户”凭证(即资产交换凭证)在业务区块链上存证后,才可以基于业务区块链上存证的“房产过户”凭证来进一步完成该房产买卖业务的后续业务处理(比如房款支付等等)。
在这些传统的业务场景中,由于需要将资产服务机构的资产交换服务作为业务支撑,因此通常需要将资产服务机构的资产交换服务也部署在业务区块链上。
而在本说明书中,则旨在提出一种,在业务区块链上不单独部署资产交换服务作为业务支撑的前提下,就可以整合多个资产服务机构的资产交换服务,使业务区块链具有多种资产交换能力的技术方案。
在实现时,可以搭建一个至少由业务区块链和多个资产区块链组成的跨链交互系统;其中,该业务区块链通过跨链中继与上述多个资产区块链对接;在各个资产区块链上可以分别部署资产交换服务;
与业务区块链对接的业务系统可以向业务区块链发布用于触发执行目标业务的目标交易;其中,该目标业务可以是以上描述的需要将上述资产交换服务作为业务支撑的业务;
而业务区块链中的节点设备在收到该目标交易后,可以响应该目标交易,从上述多个资产区块链中确定出与该目标业务对应的目标资产区块链,并通过跨链中继获取上述目标资产区块链上存证的与该目标交易相关的业务账户之间的资产交换凭证;
向获取到上述资产交换凭证之后,上述业务区块链中的节点设备可以对上述目标业务执行进一步的业务处理。
在以上技术方案中,业务区块链可以通过跨链中继与多个资产区块链对接,使得与业务区块链对接的业务系统在执行需要特定的目标资产区块链上部署的资产交换服务作为业务支撑的目标业务时,可以通过跨链中继来获取目标资产区块链上存证的与所述目标交易相关的业务账户之间的资产交换凭证,然后再基于获取到的资产交换凭证,对该目标业务执行进一步的业务处理;从而对于业务区块链而言,可以不再需要单独部署相关的资产交换服务作为上述目标业务的业务支撑,就可以整合多个资产区块链上部署的资产交换服务,使业务区块链具有多种资产交换能力,因此可以降低业务区块链的建设成本,简化业务区块链上的业务处理流程。
请参见图4,图4是一示例性实施例提供的一种跨链交互系统的架构图。
如图4所示,上述跨链交互系统具体可以是一个由多个区块链组成的跨链系统,具体可以包括:
业务区块链(以下简称业务链),业务链可以承载各种区块链业务;在这些区块链业务中可以包括需要将资产服务机构的资产交换服务作为业务支撑的目标业务。在上述跨链交互系统中可以包括多个业务链;其中,不同的业务区块链所承载的区块链的业务类型,也可以存在差异。业务链可以通过跨链中继,去调用资产类上的相关资产交换功能
业务系统,可以与业务链进行对接,利用业务链上存证的资产交换凭证作为业务支撑,来针对上述目标业务执行进一步的业务处理。其中,在上述跨链交互系统中也可以包括多个业务系统。
资产区块链(以下简称资产链),资产链可以与资产服务机构对接,将资产服务机构运营的现实世界的实体资产作为价值支撑,转换为可以在区块链上流通的虚拟资产;
例如,用户可以持有由资产服务机构运营的实体资产。当用户具有将持有的实体资产转换为可以在资产链上流通的虚拟资产的需求时,可以通过客户端向资产区块链发布用于创建虚拟资产的交易,以触发在资产区块链中创建与其持有的实体资产价值匹配的虚拟资产(资产账户);
或者,用户也可以通过向资产区块链发布用于调用智能合约交易,来调用部署在资产链上的用于创建虚拟资产的智能合约,以触发在资产区块链中创建与其持有的实体资产价值匹配的虚拟资产。
其中,在上述跨链交互系统中也可以包括多个资产链;不同的资产链上流通的虚拟资产的类型也可以存在差异。而上述资产服务机构,则具体可以包括诸如银行、支付机构等实体资产中心。
在资产链上还可以部署资产交换服务,该资产交换服务可以面向该资产链上的区块链账户提供在各区块链账户之间的资产流通服务;
例如,在实际应用中,上述资产流通服务具体可以包括虚拟资产的转移、冻结、解冻、授权、代扣等系列服务功能。
其中,在资产链上部署资产交换服务的具体方式,在本说明书中不进行特别限定;
例如,在一种实现方式中,在资产链上可以扩展出一种用于资产交换的新的交易类型;资产链上的各区块链账户,可以通过在资产链上发布资产交换交易,并在该资产交换交易中携带资产交换的资产转出方和转入方账户,进而完成虚拟资产在资产转出方和转入方账户之间的资产交换。
在另一种实现方式中,也可以在资产链上以智能合约的形式来部署资产交换服务。在这种情况下,可以在资产链上部署智能合约,并在智能合约中声明用于实现资产交换的资产交换逻辑(合约代码)。资产链上的各区块链账户,可以通过在资产链上发布调用该智能合约的交易,并在该资产交换交易中携带资产交换的资产转出方和转入方账户,来调用该智能合约中声明的资产交换逻辑,进而完成虚拟资产在资产转出方和转入方账户之间的资产交换。
跨链中继,可以通过桥接接口与业务链和资产链分别进行对接,并基于实现的数据搬运逻辑,实现业务链和资产链之间的跨链数据同步。其中,在实现上述跨链中继时所采用的跨链技术,在本说明书中不进行特别限定;例如,在实际应用中,可以通过侧链技术、公证人技术等跨链机制,将业务链和资产链连接起来。
当业务链和资产链之间通过跨链中继实现对接之后,业务链和资产链之间就可以去读取并认证另外一条区块链上的数据,也可以通过跨链中继去调用另外一条区块链上部署的智能合约。也即,业务链可以通过跨链中继来跨链调用对接的资产链上部署的资产交换服务。
其中,在实际应用中,上述业务链可以通过跨链中继与多个资产链实现对接,从而使得业务链可以引入多种资产链上的资产交换服务,具有多种资产的资产交换能力。
需要说明的是,跨链中继仅用于在业务链与资产链之间搬运数据,并不需要对搬运的数据进行持久化存储,也不需要维护所搬运的数据的数据状态。在实际应用中,跨链中继可以配置在独立于业务链和资产链之外的设备、节点或平台等处,也可以配置在业务链或者资产链上的节点设备上,在本说明书中不进行特别限定。
如图4所示,业务链除了可以通过跨链中继与资产链进行对接以外,也可以通过Oracle预言机与各资产服务机构的服务器分别对接。
其中,与跨链中继不同的是,Oracle预言机的功能并不是将一个区块链上的数据同步到另一个区块链上,而是将链外的数据实体(比如中心化的服务器或者数据中心)上的数据同步到区块链上;也即,跨链中继用于连接两个区块链,而Oracle预言机用于连接区块链与链外的数据实体,实现区块链与真实世界的数据交互。
其中,通过Oracle预言机连接区块链与链外的数据实体的具体实施细节,在本说明书中不再进行详述,本领域技术人员可以参考相关技术中的记载。
在各资产服务机构的服务器上,也可以中心化的部署资产交换服务。从而,业务链可以通过Oracle预言机,来调用对接的资产服务机构的服务器上部署的资产交换服务。
请继续参见图4,在示出的一种实施方式中,上述跨链交互系统中还可以包括资产服务链;该资产服务链,是一个综合性的服务链,可以通过跨链中继与上述多个资产链分别进行对接,进而可以集成上述多个资产链的资产服务能力。
在该资产服务链上也可以部署资产交换服务,面向资产服务链上的区块链账户提供资产交换的系列功能。在这种情况下,上述业务链,可以仅通过跨链中继与上述资产服务链实现单点对接,就可以获取丰富的资产交换能力,而不再需要通过跨链中继,与各资产链分别实现对接。
请继续参见图4,该资产服务链除了可以通过跨链中继与资产链进行对接以外,也可以通过Oracle预言机与各资产服务机构的服务器对接。
在这种情况下,上述业务链,可以仅通过跨链中继与上述资产服务链实现单点对接,也可以获取丰富的资产交换能力,而不再需要通过Oracle预言机,与各资产服务机构的服务器分别实现对接。
请参见图5,图5是一示例性实施例提供的一种基于区块链的业务处理方法的流程图。该方法应用于图4示出的跨链业务系统中的业务区块链中的节点设备;所述方法包括以下步骤:
步骤502,接收与所述业务区块链对接的业务系统发送的目标交易;其中,所述目标交易用于触发执行目标业务;
步骤504,响应于所述目标交易,从所述多个资产区块链中确定与所述目标业务对应的目标资产区块链,通过跨链中继调用所述目标资产区块链上部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过跨链中继获取所述目标资产区块链上存证的与所述目标交易相关的业务账户之间的资产交换凭证;
步骤506,响应于获取到的所述资产交换凭证,对所述目标业务执行进一步的业务处理。
在本说明书中,上述目标业务具体是指以上描述的需要将上述资产交换服务作为业务支撑的业务。业务系统在对接的业务链上执行上述目标业务时,可以通过跨链中继来跨链调用部署在与业务链对接的资产链上的资产交换服务,完成与该目标交易相关的业务账户之间的资产交换,并通过跨链中继获取与该目标交易相关的业务账户之间的资产交换凭证,然后再基于获取到的资产交换凭证,对该目标业务执行进一步的业务处理。
在示出的一种实施方式中,在上述业务链上可以部署与上述目标业务对应的第一智能合约,使得与该业务链对接的业务系统,可以通过发布交易来调用该第一智能合约,在业务链上执行上述目标业务;
其中,在上述第一智能合约的合约代码中可以预先声明跨链处理逻辑和业务处理逻辑;上述跨链处理逻辑用于从与上述业务链对接的多个资产链中确定出该目标业务对应的目标资产链,并通过跨链中继跨链调用该目标资产链上部署的资产交换服务,完成与该目标交易相关的业务账户之间的资产交换处理;以及,通过跨链中继来获取上述资产交换处理后生成的资产交换凭证。而上述业务处理逻辑,用于在获取到上述资产交换凭证后,对上述目标业务执行进一步的业务处理。
在这种情况下,业务系统在对接的业务链上执行上述目标业务时,可以向上述业务链发布一笔用于调用上述第一智能合约的目标交易。而上述业务链中的节点设备在收到上述目标交易后,可以与其它节点设备一起对该目标交易进行共识处理,并在达成共识后,由上述业务链中作为记账节点的节点设备,将这笔目标交易与其它交易一起打包进区块,在区块链中进行持久化存证。其中,对上述目标交易的共识处理过程,本说明书中不再进行赘述。
对于打包进区块的上述目标交易,区块链中的节点设备均可以执行上述目标交易,在本地的EVM中执行该目标交易所调用的上述第一智能合约的合约代码中声明的上述跨链处理逻辑,从上述多个资产区块链中确定与该目标业务对应的目标资产链;例如,在实现时,可以基于该目标业务实际所需的资产交换类型,来确定与该目标业务对应的目标资产链。
当确定了与该目标业务对应的目标资产链后,可以通过跨链中继调用上述目标资产链上部署的资产交换服务,完成与该目标交易相关的业务账户之间的资产交换处理。
例如,以上述目标业务为房产买卖业务为例,与该目标业务相关的业务账户则可以是指买方产权账户和卖方产权账户,上述资产交换服务可以是指“房产过户”服务;相应的,上述资产交换处理,是指基于房产买卖服务机构提供的“房产过户”服务,将房屋在买房和买方的产权账户之间完成“房产过户”。
其中,在示出的一种实施方式中,上述资产交换服务具体可以以智能合约的形式部署在上述目标资产链上。在上述资产链上可以部署与上述资产交换服务对应的第二智能合约,在该第二智能合约的合约代码中,可以声明资产交换服务逻辑。
在这种情况下,当通过执行上述第一智能合约的合约代码中声明的上述跨链处理逻辑,确定了与该目标业务对应的目标资产链后,可以通过跨链中继进一步调用上述第二智能合约的合约代码中声明的资产交换服务逻辑,来完成与该目标交易相关的业务账户之间的资产交换处理。
也即,部署于上述业务链中的第一智能合约,通过跨链中继,来进一步调用部署与上述目标资产链的第二智能合约,实现智能合约之间的跨链调用。
上述第二智能合约在完成上述资产交换处理之后,会将与上述目标交易相关的业务账户之间的资产交换凭证,发布至上述目标资产链进行存证。而上述第一智能合约可以进一步通过跨链中继,来获取上述第二智能合约发布至目标资产链的上述资产交换凭证。
当第一智能合约获取到上述第二智能合约发布至目标资产链的上述资产交换凭证之后,可以响应于获取到的该资产交换凭证,进一步调用该第一智能合约的合约代码中声明的上述业务处理逻辑,对上述目标业务执行进一步的业务处理,并将业务处理结果发布至上述业务链进行存证。
例如,仍以上述目标业务为房产买卖业务为例,上述资产交换凭证,是指基于房产买卖服务机构提供的“房产过户”服务,将房屋在买房和买方的产权账户之间完成“房产过户”之后生成的“房产过户”凭证。而针对该目标业务执行的进一步的业务处理,可以是指基于“房产过户”凭证来进一步完成该房产买卖业务的后续业务处理(比如房款支付等等)。
在示出的另一种实施方式中,针对上述目标业务进一步的业务处理,也可以由与上述业务链对接的业务系统来执行,而不再需要通过上述第一智能合约在业务链上来执行。
在这种情况下,上述第一智能合约的合约代码中,可以只声明上述跨链处理逻辑,不再需要声明上述业务处理逻辑,或者,在另一种情况下,在上述业务链上可以不再部署上述第一智能合约;也即,以上描述的上述第一智能合约的合约代码中声明的跨链处理逻辑,可以在上述业务链上的节点设备本地来实现,不再通过智能合约来实现。
当业务链通过跨链中继获取到上述资产交换凭证后,可以将该资产交换凭证发布至上述业务链进行存证。而对于上述业务系统而言,可以通过实现的监听程序来监听该业务链上存证的数据,一旦监听到上述资产交换凭证后,可以响应该资产交换凭证,在业务系统中针对该目标业务执行进一步的业务处理。
在以上技术方案中,业务区块链可以通过跨链中继与多个资产区块链对接,使得与业务区块链对接的业务系统在执行需要特定的目标资产区块链上部署的资产交换服务作为业务支撑的目标业务时,可以通过跨链中继来获取目标资产区块链上存证的与所述目标交易相关的业务账户之间的资产交换凭证,然后再基于获取到的资产交换凭证,对该目标业务执行进一步的业务处理;从而对于业务区块链而言,可以不再需要单独部署相关的资产交换服务作为上述目标业务的业务支撑,就可以整合多个资产区块链上部署的资产交换服务,使业务区块链具有多种资产交换能力,因此可以降低业务区块链的建设成本,简化业务区块链上的业务处理流程。
请参见图6,图6是一示例性实施例提供的一种基于区块链的业务处理方法的流程图。该方法也可以应用于图4示出的跨链业务系统中的业务区块链中的节点设备;所述方法包括以下步骤:
步骤602,接收与所述业务区块链对接的业务系统发送的目标交易;其中,所述目标交易用于触发执行目标业务;
步骤604,响应于所述目标交易,从所述多个资产服务机构的服务端中确定与所述目标业务对应的目标资产服务机构的服务端,通过Oracle预言机调用所述目标资产服务机构的服务端部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过Oracle预言机获取与所述目标交易相关的业务账户之间的资产交换凭证;
步骤606,响应于获取到的所述资产交换凭证,对所述目标业务执行进一步的业务处理。
在本说明书中,业务系统在对接的业务链上执行上述目标业务时,也可以不通过跨链中继来跨链调用部署在与业务链对接的资产链上的资产交换服务,完成与该目标交易相关的业务账户之间的资产交换,而是通过Oracle预言机调用部署在与业务链对接的资产服务机构的服务器上的资产交换服务,完成与该目标交易相关的业务账户之间的资产交换,并通过Oracle预言机获取与该目标交易相关的业务账户之间的资产交换凭证,然后再基于获取到的资产交换凭证,对该目标业务执行进一步的业务处理。
在示出的一种实施方式中,在上述业务链上可以部署与上述目标业务对应的第三智能合约,使得与该业务链对接的业务系统,可以通过发布交易来调用该第三智能合约,在业务链上执行上述目标业务;
其中,在上述第三智能合约的合约代码中可以预先声明跨链处理逻辑和业务处理逻辑;上述跨链处理逻辑用于从与该业务链对接的多个资产服务机构的服务端中,确定出该目标业务对应的目标资产服务机构的服务端,并通过Oracle预言机调用该目标资产链上部署的资产交换服务,完成与该目标交易相关的业务账户之间的资产交换处理;以及,通过Oracle预言机来获取上述资产交换处理后生成的资产交换凭证。而上述业务处理逻辑,用于在获取到上述资产交换凭证后,对上述目标业务执行进一步的业务处理。
在这种情况下,业务系统在对接的业务链上执行上述目标业务时,可以向上述业务链发布一笔用于调用上述第三智能合约的目标交易。而上述业务链中的节点设备在收到上述目标交易后,可以与其它节点设备一起对该目标交易进行共识处理,并在达成共识后,由上述业务链中作为记账节点的节点设备,将这笔目标交易与其它交易一起打包进区块,在区块链中进行持久化存证。其中,对上述目标交易的共识处理过程,本说明书中不再进行赘述。
对于打包进区块的上述目标交易,区块链中的节点设备均可以执行上述目标交易,在本地的EVM中执行该目标交易所调用的上述第三智能合约的合约代码中声明的上述跨链处理逻辑,从上述多个资产服务机构的服务端中确定与该目标业务对应的目标资产服务机构的服务端;例如,在实现时,可以基于该目标业务实际所需的资产交换类型,来确定与该目标业务对应的目标资产服务机构。
当确定了与该目标业务对应的目标资产服务机构的服务端之后,可以通过Oracle预言机调用上述目标资产服务机构的服务端上部署的资产交换服务,完成与该目标交易相关的业务账户之间的资产交换处理。
当上述目标资产服务机构的服务端在完成上述资产交换处理之后,上述第三智能合约可以通过Oracle预言机,来获取上述目标资产服务机构的服务端在完成上述资产交换处理后生成的资产交换凭证。
当第三智能合约获取到上述资产交换凭证之后,可以响应于获取到的该资产交换凭证,进一步调用该第三智能合约的合约代码中声明的上述业务处理逻辑,对上述目标业务执行进一步的业务处理,并将业务处理结果发布至上述业务链进行存证。
在示出的另一种实施方式中,针对上述目标业务进一步的业务处理,也可以由与上述业务链对接的业务系统来执行,而不再需要通过上述第三智能合约在业务链上来执行。
在这种情况下,上述第三智能合约的合约代码中,可以只声明上述跨链处理逻辑,不再需要声明上述业务处理逻辑,或者,在另一种情况下,在上述业务链上可以不再部署上述第三智能合约;也即,以上描述的上述第三智能合约的合约代码中声明的跨链处理逻辑,可以在上述业务链上的节点设备本地来实现,不再通过智能合约来实现。
当业务链通过跨链中继获取到上述资产交换凭证后,可以将该资产交换凭证发布至上述业务链进行存证。而对于上述业务系统而言,可以通过实现的监听程序来监听该业务链上存证的数据,一旦监听到上述资产交换凭证后,可以响应该资产交换凭证,在业务系统中针对该目标业务执行进一步的业务处理。
在以上技术方案中,业务区块链也可以通过Oracle预言机多个资产服务机构的服务端对接,使得与业务区块链对接的业务系统在执行需要特定的目标资产服务机构的服务端上部署的资产交换服务作为业务支撑的目标业务时,可以通过Oracle预言机来调用该目标资产服务机构的服务端上部署的资产交换服务,执行针对与该目标交易相关的业务账户之间的资产交换处理,并通过Oracle预言机获取与该目标交易相关的业务账户之间的资产交换凭证,然后再基于获取到的资产交换凭证,对该目标业务执行进一步的业务处理;从而对于业务区块链而言,可以不再需要单独部署相关的资产交换服务作为上述目标业务的业务支撑,就可以整合多个资产服务机构的服务端上部署的资产交换服务,使业务区块链具有多种资产交换能力,因此可以降低业务区块链的建设成本,简化业务区块链上的业务处理流程。
与上述方法实施例相对应,本申请还提供了装置的实施例。
与上述方法实施例相对应,本说明书还提供了一种基于区块链的业务处理装置的实施例。本说明书的基于区块链的业务处理装置的实施例可以应用在电子设备上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图7所示,为本说明书的基于区块链的业务处理装置所在电子设备的一种硬件结构图,除了图7所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
图8是本说明书一示例性实施例示出的一种基于区块链的业务处理装置的框图。
请参考图8,所述基于区块链的业务处理装置80可以应用在前述图7所示的电子设备中,所述电子设备作为跨链业务系统中的业务区块链中的节点设备;其中,所述跨链业务系统包括业务区块链,以及通过跨链中继与所述业务区块链对接的多个资产区块链;所述资产区块链上部署了资产交换服务;包括:
第一接收模块801,接收与所述业务区块链对接的业务系统发送的目标交易;其中,所述目标交易用于触发执行目标业务;
第一调用模块802,响应于所述目标交易,从所述多个资产区块链中确定与所述目标业务对应的目标资产区块链,通过跨链中继调用所述目标资产区块链上部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过跨链中继获取所述目标资产区块链上存证的与所述目标交易相关的业务账户之间的资产交换凭证;
第一处理模块803,响应于获取到的所述资产交换凭证,对所述目标业务执行进一步的业务处理。
在本实施例中,所述第一调用模块802:
响应于所述目标交易,调用所述业务区块链部署的第一智能合约中的跨链处理逻辑,从所述多个资产区块链中确定与所述目标业务对应的目标资产区块链,通过跨链中继调用所述目标资产区块链上部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过跨链中继获取所述目标资产区块链上存证的与所述目标交易相关的业务账户之间的资产交换凭证。
在本实施例中,所述第一调用模块802进一步:
通过跨链中继跨链调用所述目标资产区块链上部署的第二智能合约中的资产交换服务逻辑,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过跨链中继获取所述第二智能合约在所述资产交换处理完成后发布至所述目标资产区块链进行存证的资产交换凭证。
在本实施例中,所述第一处理模块803:
响应于获取到的所述资产交换凭证,进一步调用所述第一智能合约中的业务处理逻辑,对所述目标业务执行进一步的业务处理,并将业务处理结果发布至所述业务区块链进行存证。
在本实施例中,所述第一处理模块803:
响应于获取到的所述资产交换凭证,将所述资产交换凭证发布至所述业务区块链进行存证,以使所述业务系统在监听到所述资产交换凭证时对所述目标业务进行进一步的业务处理,并将业务处理结果发布至所述业务区块链进行存证。
在本实施例中,所述业务区块链通过跨链中继与资产服务链对接;其中,所述资产服务链通过跨链中继进一步与所述多个资产区块链分别对接;或者,所述资产服务链通过Oracle预言机进一步与资产服务机构的服务端对接。
在本实施例中,所述业务区块链通过Oracle预言机与资产服务机构的服务端对接;其中,所述资产服务机构的服务端部署了资产交换服务。
图9是本说明书一示例性实施例示出的另一种基于区块链的业务处理装置的框图。
请参考图9,所述基于区块链的业务处理装置90也可以应用在前述图7所示的电子设备中,所述电子设备作为跨链业务系统中的业务区块链中的节点设备;其中,所述跨链业务系统包括业务区块链,以及通过Oracle预言机与所述业务区块链对接的多个资产服务机构的服务端;所述服务端上部署了资产交换服务;包括:
第二接收模块901,接收与所述业务区块链对接的业务系统发送的目标交易;其中,所述目标交易用于触发执行目标业务;
第二调用模块902,响应于所述目标交易,从所述多个资产服务机构的服务端中确定与所述目标业务对应的目标资产服务机构的服务端,通过Oracle预言机调用所述目标资产服务机构的服务端部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理,并通过Oracle预言机获取与所述目标交易相关的业务账户之间的资产交换凭证;
第二处理模块903,响应于获取到的所述资产交换凭证,对所述目标业务执行进一步的业务处理。
在本实施例中,所述第二调用模块902:
响应于所述目标交易,调用所述业务区块链部署的第三智能合约中的链外处理逻辑,从所述多个资产服务机构的服务端中确定与所述目标业务对应的目标资产服务机构的服务端,并通过Oracle预言机调用所述目标资产服务机构的服务端部署的资产交换服务,完成与所述目标交易相关的业务账户之间的资产交换处理。
在本实施例中,所述第二处理模块903:
响应于获取到的所述资产交换凭证,进一步调用所述第三智能合约中的业务处理逻辑,对所述目标业务执行进一步的业务处理,并将业务处理结果发布至所述业务区块链进行存证。
在本实施例中,所述第二处理模块903:
响应于获取到的所述资产交换凭证,将所述资产交换凭证发布至所述业务区块链进行存证,以使所述业务系统在监听到所述资产流通凭时对所述目标业务进行进一步的业务处理,并将业务处理结果发布至所述业务区块链进行存证。
在本实施例中,所述业务区块链通过跨链中继与资产服务链对接;其中,所述资产服务链通过Oracle预言机进一步与所述多个资产服务机构的服务器分别对接。
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
在一个典型的配置中,计算机包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
内存可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。内存是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带、磁盘存储、量子存储器、基于石墨烯的存储介质或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、商品或者设备中还存在另外的相同要素。
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
在本说明书一个或多个实施例使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书一个或多个实施例。在本说明书一个或多个实施例和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
应当理解,尽管在本说明书一个或多个实施例可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书一个或多个实施例范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在……时”或“当……时”或“响应于确定”。
以上所述仅为本说明书一个或多个实施例的较佳实施例而已,并不用以限制本说明书一个或多个实施例,凡在本说明书一个或多个实施例的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书一个或多个实施例保护的范围之内。