一种残膜回收机防缠绕挑膜装置的制 一种秧草收获机用电力驱动行走机构

一种面向多链融合的区块链通用抽象接口

2023-04-05 05:49:26 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,特别是涉及一种面向多链融合的区块链通用抽象接口。


背景技术:

2.自第一条区块链诞生以来,开放运行的区块链系统已超过5600种,github中区块链项目多达6万个。而不同区块链系统在安全和隐私机制、交易吞吐量、可扩展性等方面存在极大的区别,从而限制了区块链本身所具有的开放性。而区块链系统相互孤立的原因主要在于各自的区块链的各个底层技术存在巨大差异,导致各个系统自成体系,因而形成了相互之间的技术壁垒,进而导致区块链系统之间难以直接互联互通。因此需要一个桥梁来连接目前不同的区块链系统,打通各个区块链之间的技术壁垒,实现不同区块链数据之间的互联互通。
3.现有的跨链系统为实现链间价值交换的目的,主要采用三种主流方法进行跨链合约调用,即哈希锁定机制、引入第三方以及侧链机制。
4.哈希锁定机制利用哈希锁和时间锁保障跨链交易的原子性,即只有满足一定的时间条件和哈希条件,交易才能够完成,但哈希锁定只能做到交换而不能做到资产或者信息的转移,因此其使用场景有限。其中htlc是原子互换协议的具体实现,btc闪电网络曾应用此协议。具体流程可以简述为双方利用哈希锁与时间锁将自己链上资产锁定,之后通过哈希值的传输互相解锁对方链上的资产,最终完成跨链的目标。
5.由于哈希锁定方式使用时间锁来限定相关交易的时间,所以其可以更快地完成跨链的交互。该种方式虽然可以完成跨链,但它仅适用于不同区块链间的资产价值交换,而不能实现更为广泛的合约调用以及合约验证任务,同时区块链网络必须拥有三种特点:1.链上必须要有对应的代币,从而对应每个账户需要有其对应的资产;2.区块链必须支持智能合约功能,从而通过智能合约建立哈希锁定机制,进而建立相关信任;3.交易双方必须在需要跨链的两种区块链网络中拥有各自的资产账户。因而这些特点限制了其在区块链跨链方面的应用,需要提出更具有通用性,能够支持广泛合约调用的区块链跨链方法。
6.引入第三方策略中最为常用的是公证人机制,其基本思路是由一个或一组节点作为公证人进行数据收集和交易验证。公证人同时跟踪两条链的状态并告知对方,交易双方完全依赖于公证人验证和实现交易。如果区块链a和b本身是不能直接进行互操作的,那么他们可以引入一个共同信任的第三方作为中介,由这个共同信任的中介进行跨链消息的验证和转发。
7.ripple提出了一种名为interledger的第三方跨链协议,在该协议下,处于不同账本系统的发送者与接收者可以通过一个或多个连接者进行跨账本交易,连接者提供转发数据或资金的服务并收取相应的费用。通过为跨账本交易的参与方提供资金托管,只有在账本收到接收方已经收到资金的证明时,才会将相应的资金发给连接者,同时保证当连接者完全执行协议后将会收到来自发送者的资金。其协议架构为三方的顺序交易,发送方发送
跨链请求,连接者通过验证双方的可信性放行跨链交易,而接收者接收等量的跨链代币,从而完成交易。
8.引入第三方的优点在于支持异构的区块链跨链,甚至可以支持例如银行等机构的区块链账本,缺点在于有中心化风险,同时只能实现货币之间的交换,同时不能实现相关合约的调用,无法实现价值整体的转移。
9.侧链机制是验证来自另一条区块链的数据的区块链,通过双向锚定机制,加密资产能够按照某种汇率在侧链和主链之间转移。侧链的交易流程可以描述为将暂时的数字货币在主链中锁定,同时将等价的数字资产在侧链中释放,从而看似将数字货币转移到了侧链,但是其实主链的数字货币没有转移,只是在主链上被暂时锁定,而同时在辅助区块链上有相同数量的等价令牌被解锁。当等量的令牌在辅助区块链上被再次锁定时,原先主链上的数字货币就会被解锁。这实质上就是双向锚定所要实现的功能。
10.现有的项目中,cosmos采用了侧链 公证人的结合机制从而实现跨链的目标,polkadot则采用中继链、平行链和转接桥的结构完成跨链。以polkadot为例,其架构中,中继链处于网络的中心位置,其处理网络中整体的共识和安全性;平行链是侧链的一种实现方式,其通过连接中继链以接入polkadot网络,完成对于其主网计算任务的分担;转接桥将独立区块链接入polkadot网络,通过平行链方式、运行转接桥合约模式或原生内置桥接接口模式,从而完成跨链的操作。而其在平行链间的跨链通信主要通过icmp(inter-chain message passing,链间消息传递)进行链与链之间的通信,其定义了polkadot的信息在平行链和中继链之间的无需额外信任的消息传递的方式。但是其整体流程完全依托于polkadot网络的整体架构,相对应的中继链以及平行链机制。icmp的过程其实就是发起跨链方利用中继链与平行链结构相似的特点,从而在中继链上进行合约验证与转发,从而在需要跨链的链上执行相关跨链合约,完成通信。
11.侧链机制最大的优点便是不再需要一个可信的第三方来监管验证相关的交易,同时在侧链上可以执行相关更广泛、更通用的智能合约,而非仅仅是代币的交换,但是利用侧链机制达成跨链目标的两条链基本都是同构的,这也限制了利用侧链进行跨链的应用范围,而这也是侧链机制的最大缺点。
12.综上所述,现有的跨链项目需要和目标链进行协商,包括协议达成一致性、共识可信中间人、侧链返回目标链确认等操作。这些方案都有一个共同的问题,就是受限于目标链的合约和底层虚拟机的架构,当目标链的合约语言更改或者是目标链的虚拟机升级后相应的跨链方案就不再可用。因此需要一种能够兼容多链的通用方案进行跨链操作。


技术实现要素:

13.本发明的目的是提供一种面向多链融合的区块链通用抽象接口,是一种通用且能够兼容多链,并进行跨链操作的抽象接口。
14.为实现上述目的,本发明提供了如下方案:
15.一种面向多链融合的区块链通用抽象接口,包括:
16.目标链容器装载模块,用于:
17.对接收到的多链同步验证数据包进行解析后,确定每个目标链对应的虚拟机以及装载所述虚拟机的容器;
18.跨链同步验证模块,用于:
19.利用装载所述虚拟机的容器,改变区块链账本状态。
20.根据本发明提供的具体实施例,本发明公开了以下技术效果:
21.本发明提供一种面向多链融合的区块链通用抽象接口,具有可插拔性的通用异构合约跨链执行方法,在无需考虑目标链具体合约语言和虚拟机架构的同时达到兼容多种异构区块链的目的,即原生完成相应异构区块链的合约执行。
附图说明
22.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
23.图1为本发明面向多链融合的区块链通用抽象接口底层模型示意图;
24.图2为本发明目标链容器装载模块流程设计图;
25.图3为本发明跨链状态同步验证模块架构图;
26.图4为本发明跨链状态同步验证模块流程设计图。
具体实施方式
27.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
28.为使本发明的上述目的、特征和优点能够更加明显易懂,下面结合附图和具体实施方式对本发明作进一步详细的说明。
29.本发明最终目的是在本地上能够运行别的区块链上的应用(dapp),实现本地能够兼容其他区块链上的程序的目的。这些应用实际上就是合约代码,而链上应用的合约代码实际上是保存在区块链全局账本(全节点多链同步验证数据包)上的,值得一提的是,如何运行这些dapp,入口就在于区块当中的交易单,交易单当中是包含了合约代码的,区块链在做同步验证的时候实际上是运行了一遍合约代码的,如果一致性验证无误就通过共识进而处理下一个区块。具体执行交易单内合约代码的执行方就是区块链虚拟机。
30.本发明实际上是一个单向兼容的通用基础设施,通过兼容多条目标区块链实现目标链上的合约代码能够在本地直接运行,理论上能够兼容任意智能合约虚拟机类型架构的区块链。
31.现有方案的不足以及本技术是如何改进的:如背景技术当中所提到的,现有的跨链方案受限于目标链合约和底层的虚拟机架构,需要一种通用的多链融合的抽象接口来适配任意链的架构并运行链上的合约代码。
32.方案具体实现直观效果:在现阶段的多链世界中,链和链之间的消息互不相同并且不能进行多链间的合约调用,即在本地c链上运行目标链a链和b链的合约。通过本方案设计的通用抽象接口,本地可以运行任意目标链上的合约代码,并且不同链之间的合约可以
相互调用。
33.区块链合约 虚拟机的架构详细介绍:区块链是由区块进行hash连接的一个全局同步多链同步验证数据包账本,即区块链=多链同步验证数据包账本。而区块是由n个交易单组成的,交易单内部包含了合约代码,矿工在打包区块的过程中实际上是全网第一个执行区块内交易单内容的(执行合约代码),而具体执行合约代码的地方就是区块链虚拟机。矿工打包完区块后通过区块链网络广播到全网,全网的节点进行同步验证,通过之后将该区块加入到区块链尾部,上述动作依此类推形成区块链。节点在同步验证的时候实际上是和矿工节点一样完全运行了一遍区块内的合约等内容。
34.方案架构解释说明:方案通过设计一个容器的机制,在装载目标链上的虚拟机并与目标链的多链同步验证数据包账本连接后即可执行目标链上的合约代码,理论上容器可以装载任意目标链的虚拟机和连接任意链的全局多链同步验证数据包账本。而本方案的关键就在于多链融合的区块链合约执行,通过兼容任意目标链的虚拟机从而能够兼容任意目标链的合约执行(前提是需要目标链的多链同步验证数据包账本),达到在本地运行任意链上的合约,为在本地开发跨链合约的工作提供了抽象的接口。
35.本发明设计一种通用的容器 目标链虚拟机 目标链状态组织的跨链验证模式,满足任意目标链的虚拟机在容器中执行并与相应的目标链状态的账本进行交互的目的。在执行跨链操作时将目标链的虚拟机原生迁移到容器当中,并在容器外进行接口对接相应目标链的多链同步验证数据包,多链同步验证数据包中存储对应区块链的快照,从而对接目标链的全局账本。当目标链的区块同步到容器时,对区块进行解析,调度对应的容器后,容器内部的虚拟机完全按照目标链的原生执行模式来执行区块内的交易合约,当区块的所有交易执行完成后容器对接的目标链多链同步验证数据包账本相应地转换到和目标链该区块高度相同的全局状态(更新后的数据实际上就是对目标链的全局多链同步验证数据包账本做了一个状态更新同步)。在外界的调度架构可以增加或删除指定的目标链运行时容器,实现多链异构合约的调度运维,其底层架构如图1所示。
36.基于以上内容,本发明提供了一种面向多链融合的区块链通用抽象接口。
37.实施例一
38.本实施例提供的一种面向多链融合的区块链通用抽象接口主要包含两个模块,分别为目标链容器装载模块和跨链状态同步验证模块。其中,目标链容器装载模块为跨链状态同步模块的基础,前者可以视为后者的环境准备基础。
39.1目标链容器装载模块
40.目标链容器装载模块根据接收到的多链同步验证数据包进行解析后,针对于不同的目标链制作不同的容器装载目标链的虚拟机。
41.多链同步验证数据包的参数具体见表1。
42.表1多链同步验证数据包参数设计表
[0043][0044][0045]
目标链容器装载具体可以分为以下步骤进行:
[0046]
(1)检查表1参数的有效性,同时对多链同步验证数据包中的目标链同步签名进行验证,确保消息来源的可靠性。
[0047]
主要解析以下内容:
[0048]
a,对整体的多链同步验证数据包进行验签操作,确保多链同步验证数据包发送方的身份以及数据完整性和可用性。
[0049]
b,解析多链同步验证数据包内的数据结构:识别链id,用于确定目标链是哪一条;
确认同步初始高度,以便于初始化账本状态;确认同步状态参数,判断是否继续同步;确认虚拟机是否更新。
[0050]
(2)通过查询多链同步验证数据包中对应区块链的账本db,判断当前db中对应目标链存储的状态快照块高是否低于目标区块,如低于目标链所需的块高,会启动同步程序,对多链同步验证数据包中的状态快照进行更新,以使快照同步至相对应的区块高度。
[0051]
(3)通过用户输入的参数,确定目标链对应的虚拟机,同时检查版本是否为目标链对应的虚拟机版本,若需要更新目标链虚拟机,则对后端多链同步验证数据包中的虚拟机进行升级。
[0052]
(4)容器制作,通过容器对准备好的目标链虚拟机进行装载,并且链接多链同步验证数据包中对应目标链存储的状态快照,同时开放对应的且统一的数据接口方便后续对接多链同步验证数据包账本和容器间通信。
[0053]
(5)启动容器,同步目标链账本至消息标注的块高,进行数据装载。
[0054]
(6)环境准备好后,控制权交由跨链状态同步验证模块(即模块2)进行调度和多链同步验证。
[0055]
上述执行整体流程见图2,图2中的标号对应上述的步骤,实线代表流程,点横线代表数据流。
[0056]
故目标链容器装载模块,用于:
[0057]
对接收到的多链同步验证数据包进行解析后,确定每个目标链对应的虚拟机以及装载所述虚拟机的容器。
[0058]
所述目标链容器装载模块,包括:
[0059]
信息验证单元,用于:
[0060]
对解析后的多链同步验证数据包中的目标链同步签名进行验证;
[0061]
当目标链同步签名验证成功时,启动区块高度验证;
[0062]
当目标链同步签名验证未成功时,更新多链同步验证数据包。
[0063]
区块链账本验证单元,用于:
[0064]
判断区块链账本块高度是否同步所需验证交易区域;
[0065]
当区块链账本块高度同步所需验证交易区域时,启动虚拟机版本验证单元;
[0066]
当区块链账本块高度未跟上所需验证交易区域时,更新区块链账本,并启动虚拟机版本验证单元。
[0067]
所述虚拟机版本验证单元,用于:
[0068]
判断虚拟机版本是否与当前目标链的虚拟机版本匹配;
[0069]
当虚拟机版本与当前目标链的虚拟机版本匹配时,启动容器制作单元。
[0070]
所述容器制作单元,用于:
[0071]
制作容器,并启动容器。
[0072]
其中,所述制作容器为:通过容器对准备好的目标链虚拟机进行装载,并且链接多链同步验证数据包中对应目标链存储的状态快照,同时开放对应的且统一的数据接口方便后续对接多链同步验证数据包账本和容器间通信。
[0073]
所述启动容器为:同步目标链账本至消息标注的块高,进行数据装载。
[0074]
2跨链状态同步验证模块
[0075]
当容器装载目标链虚拟机等预处理完成后,为了同时兼容多条链进行跨链验证,为了最大化程度利用计算机资源,本方法采用集群管理工具,对于可分割的单一虚拟机容器进行任务调度,增加系统整体效率,系统整体架构见图3。
[0076]
整体架构主要由消息队列、集群管理软件、执行器、服务器集群以及数据库组成,消息队列用于存储相关原子性交易验证任务;集群管理软件用于执行器以及服务器集群的管理,执行器即目标链容器装载模块中创建的容器,用于执行交易验证任务;服务器集群则为搭建执行器实现相关的计算资源硬件支持;数据库用于存储该跨链接口中支持的各类区块链状态快照,用于相应的执行器构建以及执行器完成任务后的数据存储。相应的依托于以上的架构该模块主要可以实现以下子功能:
[0077]
容器调度与任务分发:系统以目标链区块为输入,将每一个交易单的验证任务看作一个原子性任务,并且对于该系统,不同虚拟机对应的容器也是与外界完全隔离的执行器。任务分发即是将验证任务分配到各个执行器中。当验证任务与容器进行匹配之后,对目标容器进行调度拉起,执行后续操作。
[0078]
区块解析:解析参数对应的区块,从而获取区块中存储的交易,便于对交易进行验证。
[0079]
交易执行与状态更新:通过装载到容器中的目标链虚拟机执行包含合约字节码的已同步的交易单,伴随着交易执行,目标链的全局状态账本也会做出对应更新,当跨链区块同步验证完后,对本地数据库中的目标链的账本做持久化存储更新。
[0080]
跨链同步验证模块,用于:利用装载所述虚拟机的容器,改变区块链账本状态。
[0081]
其中,所述跨链同步验证模块,具体包括:
[0082]
消息队列,用于输入原子性任务以及对所述原子性任务进行分发调度;容器,用于通过装载到容器中的目标链虚拟机执行包含合约字节码的同步的交易单,更新目标链的全局状态账本;数据库,用于对目标链的全局状态账本进行持久化存储更新。
[0083]
跨链状态同步验证模块的步骤可以用以下的语言描述:
[0084]
任务输入:系统输入目标链区块,将每一个交易单的验证任务看作一个原子性任务。故本方法将接收到的验证任务放入消息队列,并利用集群管理软件对消息队列中的任务进行调度。
[0085]
任务分发与调度:对于调度的任务进行分发,将其分配至对应的执行器,通过集群管理软件对其进行调度拉起。在任务分发完成后,原子性任务将会分配到服务器集群中的各个装载有虚拟机的容器内,同时将正在运行的包含虚拟机的镜像链接至对应的区块链状态快照。
[0086]
区块解析:对传入的目标区块进行和目标链同样的解析的操作,即解析区块中的交易单,解析交易单中的合约,从而执行器能够对应完成区块解析。
[0087]
合约执行:将解析好的合约传入容器当中,虚拟机最终执行智能合约,完成对交易的验证。
[0088]
目标链账本状态更新:验证完成后,对于数据库中的区块链账本快照仍未更新,所以在执行器关闭,整体容器销毁前,需要对本地数据库中目标链的快照进行更新。系统整体流程见图4。
[0089]
与现有技术相比,本发明具有以下有益效果:
[0090]
第一,完全同步目标链动作,低延迟
[0091]
利用容器镜像挂载数据的方式,分别独立存储各个区块链全节点全局状态账本,从而快速在各个虚拟机容器中建立不同区块链的二进制节点文件,完全同步目标链的动作,快速在独立的区块链虚拟机环境中进行智能合约的验证,达到低延迟同步的效果。
[0092]
第二,通用的跨链架构,可以适配任意区块链,具有高通用性及低耦合性
[0093]
利用目标链容器装载模块,将对应的交易单验证划分为原子性任务,同时利用跨链同步验证模块中的集群管理系统以及容器技术,将各个区块链虚拟机的运行环境进行隔离,从而实现对于任意区块链调用的高适配性。采用容器技术,同样降低了系统的耦合性,便于在系统中集成更多的区块链。
[0094]
第三,对各条区块链的验证可以进行调度操作,减少资源开销
[0095]
利用集群管理系统及容器技术的原生适配性,采用消息队列的模式,在同步多目标链时采用支持高并发消息队列的方式使得同一时间验证多个目标链的区块并进行对应链的状态更新。通过调整内部的调度算法,可以完成对于重要任务的提前执行,保证整体系统运转高效,提升系统任务处理效率,减少资源开销。
[0096]
本说明书中各个实施例采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似部分互相参见即可。
[0097]
本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处。综上所述,本说明书内容不应理解为对本发明的限制。
再多了解一些

本文用于创业者技术爱好者查询,仅供学习研究,如用于商业用途,请联系技术所有人。

发表评论 共有条评论
用户名: 密码:
验证码: 匿名发表

相关文献