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

一种跨链消息传输方法、设备及储存介质与流程

2021-12-04 13:23:00 来源:中国专利 TAG:


1.本发明属于计算机技术领域,尤其涉及一种跨链消息传输方法、设备及储存 介质。


背景技术:

2.区块链技术是一种分布式账本技术,可以将交易数据存储在不可篡改的区块 中,并将区块按照时间顺序串连形成区块链。狭义来讲,区块链是一种按照时间 顺序将数据区块以顺序相连的方式组合成的一种链式数据结构,并以密码学方式 保证的不可篡改和不可伪造的分布式账本;广义来讲,区块链技术是利用块链式 数据结构来验证与存储数据、利用分布式节点共识算法来生成和更新数据、利用 密码学的方式保证数据传输和访问的安全、利用由自动化脚本代码组成的智能合 约来编程和操作数据的一种全新的分布式基础架构与计算方式。
3.智能合约,smart contract,是一种旨在以信息化方式传播、验证或执行合同 的计算机协议。区块链领域的智能合约有以下特点:1、规则公开透明,合约内 的规则以及数据对外部可见;2、所有交易公开可见,不会存在任何虚假或者隐 藏的交易。所以我们常说区块链技术具有“公开透明”“不可篡改”的特点,这 些其实都是智能合约赋予区块链的。程序员的世界里一致有个认知:相较于程序 和机器,人更加不可控。人会作恶,但是代码并不会主观主动作恶。而传统的契 约行为,都是由人来制定规则,由人去执行。当然,遇到边界问题或者异常,也 是由人去做界定。但有了智能合约之后,这些就变得不一样了。开发者通过智能 合约去制定一套规则,然后发布到线上,人与智能合约进行交互,由机器去完成 业务的部分,这样就规避了由人来做执行时可能造成的作弊行为。
4.目前存在基于智能合约已经有许多跨链技术进行开发,在已有的跨链技术 中,在消息发送区块链中,通常通过在合约中调用用于发送跨链消息的跨链合约 来向链外提供跨链消息,在消息接收区块链中,通常通过在交易中也需要调用用 于接收跨链消息的跨链合约来将跨链消息传递到区块链内。
5.因此,亟需一种更高效的跨链传输消息的方法。


技术实现要素:

6.为实现上述目的,本发明提供了一种跨链消息传输方法、设备及储存介质, 能够更高效的跨链传输消息的方法。
7.本发明采用以下技术方案。
8.第一方面,提供一种跨链消息传输方法,包括以下内容:
9.所述跨链消息传输方法的角色包括:第一区块链、第一区块链节点、中继设 备、第二区块链、第二区块链节点、跨链函数库;
10.第一区块链节点为第一区块链上的节点设备,第二区块链节点为第二区块链 上的节点设备,所述第一区块链部署有第一合约,第二区块链部署有第二合约, 所述中继设
备预先部署有所述第一合约和第二合约,所述第一合约用于发送跨链 消息,所述第二合约用于接收跨链消息,所述第一合约和第二合约均包含跨链函 数库;
11.所述跨链函数库为用于在区块链之间传递跨链消息的多个函数的集合,所述 跨链函数库发布在至少包括第一区块链和第二区块链的区块链网络中;
12.所述方法包括:
13.用户发送第一交易至第一区块链,所述第一交易用于生成第一跨链消息和发 送请求;
14.所述第一区块链节点从所述第一区块链中获取所述第一交易并执行,以使所 述第一交易生成第一跨链消息,并通过第一合约调用跨链函数库内的发送函数, 将所述第一跨链消息提供给所述发送函数,以使发送函数在所述第一合约对应的 合约账户的消息队列中记录第一跨链消息,同时所述第一区块链节点通过执行所 述第一交易生成所述第一交易的交易凭证和发送请求,所述第一交易的交易凭证 包括第一跨链消息,第一区块链节点向第一区块链发送所述第一交易的交易凭证 和发送请求;
15.中继设备获取发送请求,响应于发送请求向第一区块链发送第二交易,所述 第二交易基于发送请求生成,所述第二交易包括通过第一合约调用跨链函数库查 询函数的第一指令;
16.第一区块链节点从所述第一区块链中获取第二交易并执行,第二交易通过执 行第二指令来从所述消息队列中读取所述第一跨链消息;
17.第一区块链节点生成第二交易的交易凭证并上传至第一区块链,所述第二交 易的交易凭证括所述第一跨链消息;
18.中继设备从所述第一区块链上获取所述第二交易的交易凭证以得到所述第 一跨链消息,并确认第一跨链消息的接收函数为第二合约;
19.中继设备向所述第二区块链发送包含第二指令和第一跨链消息的第三交易, 所述第二指令为通过第二合约调用接收函数的指令;
20.第二区块链节点向第二区块链获取第三交易并执行,基于第二指令第三交易 通过第二合约调用跨链函数库中的接收函数,以获取所述第一跨链消息。
21.作为优选,所述发送请求包括所述第一跨链消息在所述消息队列中的位置信 息及第一区块高度,所述第一区块高度为所述第一交易执行的区块高度,所述第 二交易包括所述第一区块高度,所述第二交易执行时所述查询函数根据所述第一 区块高度进行查询。
22.第二方面,提供一种计算机设备,包括一个或多个处理器;
23.存储器,用于存储一个或多个程序,
24.当所述一个或多个程序被所述一个或多个处理器执行时,使得所述一个或多 个处理器执行如上述第一方面所述的方法。
25.第三方面,提供一种存储有计算机程序的存储介质,该程序被处理器执行时 实现如上述第一方面所述的方法。
26.本发明的有益效果在于在区块链网络中发布跨链函数库,所有跨链业务合约 都可以通过调用使其发布时包括跨链函数库,并且在中继设备中注册跨链业务合 约,从而可通过调用跨链业务合约中的跨链函数实现对业务合约中的跨链消息的 跨链发送,而不需要在一个合约中跨合约调用另一个专门用于跨链发送或接收消 息的合约,使得简化了调
用跨链业务合约的交易的执行过程,节约、减少了交易 执行时间,提高了区块链的效率。另一方面,发送请求生成时确定了区块高度, 使得查询函数查询时高度锁定,避免了消息队列的位置信息由于消息的处理而变 得不准确。
附图说明
27.图1为本发明实施例2的一种计算机设备的结构示意图。
具体实施方式
28.以下结合具体实施例和说明书附图对本发明作出进一步清楚详细的描述说 明。本领域普通技术人员在基于这些说明的情况下将能够实现本发明。此外,下 述说明中涉及到的本发明的实施例通常仅是本发明一部分的实施例,而不是全部 的实施例。因此,基于本发明中的实施例,本领域普通技术人员在没有做出创造 性劳动的前提下所获得的所有其他实施例,都应当属于本发明保护的范围。如无 特殊说明,本发明实施例所简述的方法均为本领域技术人员所掌握的方法。
29.实施例1
30.本实施例提供一种跨链消息传输方法,包括以下内容:
31.所述跨链消息传输方法的角色包括:第一区块链、第一区块链节点、中继设 备、第二区块链、第二区块链节点、跨链函数库;
32.第一区块链节点为第一区块链上的节点设备,第二区块链节点为第二区块链 上的节点设备,所述第一区块链部署有第一合约,第二区块链部署有第二合约, 所述中继设备预先部署有所述第一合约和第二合约,所述第一合约用于发送跨链 消息,所述第二合约用于接收跨链消息,所述第一合约和第二合约均包含跨链函 数库;
33.所述跨链函数库为用于在区块链之间传递跨链消息的多个函数的集合,所述 跨链函数库发布在至少包括第一区块链和第二区块链的区块链网络中;
34.所述方法包括:
35.用户发送第一交易至第一区块链,所述第一交易用于生成第一跨链消息和发 送请求;
36.所述第一区块链节点从所述第一区块链中获取所述第一交易并执行,以使所 述第一交易生成第一跨链消息,并通过第一合约调用跨链函数库内的发送函数, 将所述第一跨链消息提供给所述发送函数,以使发送函数在所述第一合约对应的 合约账户的消息队列中记录第一跨链消息,同时所述第一区块链节点通过执行所 述第一交易生成所述第一交易的交易凭证和发送请求,所述第一交易的交易凭证 包括第一跨链消息,第一区块链节点向第一区块链发送所述第一交易的交易凭证 和发送请求;
37.中继设备获取发送请求,响应于发送请求向第一区块链发送第二交易,所述 第二交易基于发送请求生成,所述第二交易包括通过第一合约调用跨链函数库查 询函数的第一指令;
38.第一区块链节点从所述第一区块链中获取第二交易并执行,第二交易通过执 行第二指令来从所述消息队列中读取所述第一跨链消息;
39.第一区块链节点生成第二交易的交易凭证并上传至第一区块链,所述第二交 易
的交易凭证括所述第一跨链消息;
40.中继设备从所述第一区块链上获取所述第二交易的交易凭证以得到所述第 一跨链消息,并确认第一跨链消息的接收函数为第二合约;
41.中继设备向所述第二区块链发送包含第二指令和第一跨链消息的第三交易, 所述第二指令为通过第二合约调用接收函数的指令;
42.第二区块链节点向第二区块链获取第三交易并执行,基于第二指令第三交易 通过第二合约调用跨链函数库中的接收函数,以获取所述第一跨链消息。
43.进一步的,所述发送请求包括所述第一跨链消息在所述消息队列中的位置信 息及第一区块高度,所述第一区块高度为所述第一交易执行的区块高度,所述第 二交易包括所述第一区块高度,所述第二交易执行时所述查询函数根据所述第一 区块高度进行查询。
44.本实施例的原理在于在区块链网络中发布跨链函数库,所有跨链业务合约都 可以通过调用使其发布时包括跨链函数库,并且在中继设备中注册跨链业务合 约,从而可通过调用跨链业务合约中的跨链函数实现对业务合约中的跨链消息的 跨链发送,而不需要在一个合约中跨合约调用另一个专门用于跨链发送或接收消 息的合约,使得简化了调用跨链业务合约的交易的执行过程,节约、减少了交易 执行时间,提高了区块链的效率。另一方面,发送请求生成时确定了区块高度, 使得查询函数查询时高度锁定,避免了消息队列的位置信息由于消息的处理而变 得不准确。
45.一般来说区块链中的中继设备的转发权是需要各个中继设备竞争的,参考比 特币的记账权,因此,用户首先发送第一交易进行广播共识,通过之后第一交易 被打包入区块,第一区块链节点执行区块内的所有交易包括第一交易,随着第一 交易的执行生成第一跨链消息和发送请求,发送请求记录了第一交易所在的区块 高度,再中继设备获取了转发权后,获取第一区块链内的发送请求及对应的第一 跨链消息,第一跨链消息通过生成第二交易并在第一区块链内执行获取,如此能 够验证中继设备的转发权,验证通过后通过第二交易的交易凭证来获得第一跨链 消息,然后中继设备根据第一跨链消息来向目标区块链发送该跨链消息,生成了 对应的第三交易,第三交易的执行能够传输第一跨链消息的同时验证第一跨链消 息自带的信息确认是否确实是跨链发送至第二区块链。
46.实施例2
47.一种计算机设备,所述设备包括:一个或多个处理器;存储器,用于存储一 个或多个程序,当所述一个或多个程序被所述一个或多个处理器执行时,使得所 述一个或多个处理器执行如实施例1所述的方法。
48.一种存储有计算机程序的存储介质,该程序被处理器执行时实现如以上实施 例1所述的方法。
49.图1为本实施例提供的一种设备的结构示意图。
50.如图1所示,作为另一方面,本技术还提供了一种计算机设备500,包括一 个或多个中央处理单元(cpu)501,其可以根据存储在只读存储器(rom)502中的 程序或者从存储部分508加载到随机访问存储器(ram)503中的程序而执行各种 适当的动作和处理。在ram503中,还存储有设备500操作所需的各种程序和数 据。cpu501、rom502以及ram503通过总线504彼此相连。输入/输出(i/o)接 口505也连接至总线504。
51.以下部件连接至i/o接口505:包括键盘、鼠标等的输入部分506;包括诸如 阴极射
线管(crt)、液晶显示器(lcd)等以及扬声器等的输出部分507;包括硬盘等 的存储部分508;以及包括诸如lan卡、调制解调器等的网络接口卡的通信部分 509。通信部分509经由诸如因特网的网络执行通信处理驱动器510也根据需要 连接至i/o接口505。可拆卸介质511,诸如磁盘、光盘、磁光盘、半导体存储 器等等,根据需要安装在驱动器510上,以便于从其上读出的计算机程序根据需 要被安装入存储部分508。
52.特别地,根据本技术公开的实施例,上述实施例1所描述的方法可以被实现 为计算机软件程序。例如,本技术公开的实施例包括一种计算机程序产品,其包 括有形地包含在机器可读介质上的计算机程序,所述计算机程序包含用于执行上 述任一实施例描述的方法的程序代码。在这样的实施例中,该计算机程序可以通 过通信部分509从网络上被下载和安装,和/或从可拆卸介质511被安装。
53.作为又一方面,本技术还提供了一种计算机可读存储介质,该计算机可读存 储介质可以是上述实施例的装置中所包含的计算机可读存储介质;也可以是单独 存在,未装配入设备中的计算机可读存储介质。计算机可读存储介质存储有一个 或者一个以上程序,该程序被一个或者一个以上的处理器用来执行描述于本技术 的方法。
54.附图中的流程图和框图,图示了按照本发明各种实施例的系统、方法和计算 机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的 每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代 码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注 意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标 注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们 有时也可以按相反的顺序执行,这根据所涉及的功能而定。也要注意的是,框图 和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以通过执 行规定的功能或操作的专用的基于硬件的系统来实现,或者可以通过专用硬件与 计算机指令的组合来实现。
55.描述于本技术实施例中所涉及到的单元或模块可以通过软件的方式实现,也 可以通过硬件的方式来实现。所描述的单元或模块也可以设置在处理器中,例如, 各所述单元可以是设置在计算机或移动智能设备中的软件程序,也可以是单独配 置的硬件装置。其中,这些单元或模块的名称在某种情况下并不构成对该单元或 模块本身的限定。
56.以上描述仅为本技术的较佳实施例以及对所运用技术原理的说明。本领域技 术人员应当理解,本技术中所涉及的发明范围,并不限于上述技术特征的特定组 合而成的技术方案,同时也应涵盖在不脱离本技术构思的情况下,由上述技术特 征或其等同特征进行任意组合而形成的其它技术方案。例如上述特征与本技术中 公开的(但不限于)具有类似功能的技术特征进行互相替换而形成的技术方案。
再多了解一些

本文用于企业家、创业者技术爱好者查询,结果仅供参考。

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

相关文献