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

中继区块链系统以及跨链交易方法与流程

2022-03-22 20:04:40 来源:中国专利 TAG:


1.本发明涉及区块链技术领域,特别涉及一种中继区块链系统以及跨链交易方法。


背景技术:

2.跨链是指数据或信息从一个区块链到另一个区块链的场景。在相关技术中,一些跨链技术采用中继链的方式实现。在跨链智能合约执行时,一般直接将智能合约运行在有跨链需求的各个区块链系统中、或者运行在中继链上。


技术实现要素:

3.发明人对相关技术进行分析后发现,在相关技术的基于中继链的跨链交易中,存在处理效率低、数据安全性差的问题。
4.本发明实施例所要解决的一个技术问题是:如何提高跨链交易的处理效率和安全性。
5.根据本发明一些实施例的第一个方面,提供一种中继区块链系统,包括:网络节点,被配置为在第一区块链系统、第二区块链系统以及中继区块链系统间交换跨链交易所涉及的数据,其中,跨链交易涉及第一区块链和第二区块链;计算节点,被配置为执行跨链智能合约,生成执行结果、以及基于执行结果生成证明;共识节点,被配置为基于证明对跨链智能合约的执行结果进行验证,以及在验证通过的情况下,将执行结果涉及的信息存储到中继区块链系统的账本中。
6.在一些实施例中,计算节点具备密钥管理功能、并支持密钥涉及的安全操作。
7.在一些实施例中,部分或全部计算节点管理用于跨链智能合约的密钥。
8.在一些实施例中,计算节点进一步被配置为生成用于证明跨链智能合约的有效性的证明;共识节点进一步被配置为对有效性的证明进行验证。
9.在一些实施例中,中继区块链系统还包括:存储器,被配置为存储中继区块链系统的账本。
10.根据本发明一些实施例的第二个方面,提供一种跨链交易方法,包括:中继区块链系统的网络节点在第一区块链、第二区块链以及中继区块链间交换跨链交易所涉及的数据,其中,跨链交易涉及第一区块链和第二区块链;网络节点将执行跨链智能合约所需的数据发送给中继区块链系统中的计算节点;计算节点基于执行跨链智能合约所需的数据,执行跨链智能合约;计算节点将执行跨链智能合约的执行结果涉及的信息以及基于执行结果生成的证明发送给中继区块链系统的共识节点;共识节点基于证明,对跨链智能合约的执行结果涉及的信息进行验证;在验证通过的情况下,共识节点将执行结果涉及的信息存储到区块链中;网络节点将执行结果发送给第一区块链系统。
11.在一些实施例中,网络节点在第一区块链、第二区块链以及中继区块链间交换跨链交易所涉及的数据包括:网络节点获取第一区块链系统发送的跨链交易请求,其中,跨链交易请求中包括跨链智能合约;网络节点接收第二区块链系统发送的执行跨链智能合约所
需的数据。
12.在一些实施例中,网络节点在第一区块链、第二区块链以及中继区块链间交换跨链交易所涉及的数据还包括:网络节点还获取第一区块链系统发送的区块头信息;网络节点生成跨链交易请求的证明;网络节点将跨链交易请求、区块头信息以及跨链交易请求的证明发送给第二区块链系统,其中,跨链智能合约所需的数据是在第二区块链系统对跨链交易请求的证明的验证通过的情况下发送的。
13.在一些实施例中,计算节点基于执行跨链智能合约所需的数据,执行跨链智能合约包括:计算节点从中继区块链系统的账本中查询跨链智能合约的状态;计算节点基于执行跨链智能合约所需的数据、以及跨链智能合约的状态,执行跨链智能合约。
14.在一些实施例中,从中继区块链系统的账本中查询跨链智能合约的状态为加密的数据,计算节点从管理密钥的计算节点中获取密钥并进行解密,获得跨链智能合约的状态。
15.在一些实施例中,执行结果涉及的信息为更新后的、跨链智能合约的状态的加密数据。
16.上述发明中的一些实施例具有如下优点或有益效果:本发明的实施例对中继区块链系统的结构进行了改进,将网络通信、计算和共识进行去耦。通过采用网络节点与参与跨链交易的区块链系统通信,可以避免将敏感数据直接暴露给智能合约的提供方,提高了系统的安全性;通过设置计算节点和共识节点,能够将智能合约的执行与共识完全剥离开来,使得计算、存储能够并行处理,提高了同构或异构区块链间跨链智能合约的执行效率。
17.通过以下参照附图对本发明的示例性实施例的详细描述,本发明的其它特征及其优点将会变得清楚。
附图说明
18.为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
19.图1示出了根据本发明一些实施例的中继区块链系统的结构示意图。
20.图2示出了根据本发明一些实施例的跨链交易方法的流程示意图。
21.图3示出了根据本发明另一些实施例的中继区块链系统的节点的结构示意图。
22.图4示出了根据本发明另一些实施例的中继区块链系统的节点的结构示意图。
具体实施方式
23.下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。以下对至少一个示例性实施例的描述实际上仅仅是说明性的,决不作为对本发明及其应用或使用的任何限制。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
24.除非另外具体说明,否则在这些实施例中阐述的部件和步骤的相对布置、数字表达式和数值不限制本发明的范围。
25.同时,应当明白,为了便于描述,附图中所示出的各个部分的尺寸并不是按照实际的比例关系绘制的。
26.对于相关领域普通技术人员已知的技术、方法和设备可能不作详细讨论,但在适当情况下,所述技术、方法和设备应当被视为授权说明书的一部分。
27.在这里示出和讨论的所有示例中,任何具体值应被解释为仅仅是示例性的,而不是作为限制。因此,示例性实施例的其它示例可以具有不同的值。
28.应注意到:相似的标号和字母在下面的附图中表示类似项,因此,一旦某一项在一个附图中被定义,则在随后的附图中不需要对其进行进一步讨论。
29.发明人经过分析后发现,在相关技术中,中继区块链中的各个节点既负责数据的交互,又要处理智能合约的执行以及共识过程。从而导致节点的开销大、性能存在瓶颈;并且,敏感数据被直接暴露给智能合约的提供方,使得数据安全性也较差。针对上述问题,本发明提供了一种全新的中继区块链系统的结构。下面参考图1描述本发明中继区块链系统的实施例。
30.图1示出了根据本发明一些实施例的中继区块链系统的结构示意图。如图1所示,该实施例的中继区块链系统10包括网络节点110、计算节点120和共识节点130。每种节点有一个或多个。
31.网络节点110被配置为在第一区块链系统、第二区块链系统以及中继区块链系统间交换跨链交易所涉及的数据,其中,跨链交易涉及第一区块链和第二区块链。
32.在一些实施例中,网络节点110通过跨链通讯协议(inter blockchain communication,简称:ibc)进行系统间的交互。
33.在一些实施例中,第一区块链系统发起跨链交易。网络节点110在收到跨链交易请求后,与第二区块链系统进行通信,以获得相关的数据。
34.在一些实施例中,跨链交易所涉及的数据包括智能合约相关的数据、用于验证的数据以及与业务相关的价值数据。智能合约相关的数据例如包括智能合约的标识、智能合约的代码等等。用于验证的数据例如包括区块头信息、默克尔(merkle)证明等等。
35.计算节点120被配置为执行跨链智能合约,生成执行结果、以及基于执行结果生成证明。
36.在一些实施例中,计算节点120运行在可信执行环境中。例如,计算节点120具备密钥管理功能、并支持密钥涉及的安全操作。从而,可以提高智能合约执行过程的安全性。
37.在一些实施例中,部分或全部计算节点120组成“密钥管理委员会”,以管理用于跨链智能合约的密钥。从而,可以进一步提高智能合约执行过程的安全性。
38.共识节点130被配置为基于证明对跨链智能合约的执行结果进行验证,以及在验证通过的情况下,将执行结果涉及的信息存储到中继区块链系统的账本中。
39.在一些实施例中,中继区块链系统的账本中存储有每次跨链智能合约执行后,该智能合约的状态。因此,执行结果涉及的信息例如包括智能合约最新的状态,以便下一次执行跨链智能合约时获得更准确、可靠的执行结果。
40.在一些实施例中,计算节点120进一步被配置为生成用于证明跨链智能合约的有效性的证明,共识节点130进一步被配置为对有效性的证明进行验证。
41.上述实施例对中继区块链系统的结构进行了改进,将网络通信、计算和共识进行
去耦。通过采用网络节点与参与跨链交易的区块链系统通信,可以避免将敏感数据直接暴露给智能合约的提供方,提高了系统的安全性;通过设置计算节点和共识节点,能够将智能合约的执行与共识完全剥离开来,使得计算、存储能够并行处理,提高了同构或异构区块链间跨链智能合约的执行效率。
42.在一些实施例中,中继区块链系统10还包括存储器140,被配置为存储中继区块链系统的账本。
43.在一些实施例中,中继区块链系统可以被划分为共识层、可信执行环境以及网络层。共识节点部署在共识层中,网络节点部署在网络层中,而计算节点和存储器涉及的存储功能部署在可信执行环境中。从而,可以将涉及敏感信息的计算、存储过程与外部系统隔离,提高了计算和存储的安全性。
44.下面参考图2描述本发明跨链交易方法的实施例。在该实施例中,跨链交易涉及第一区块链和第二区块链,中继区块链系统的结构参见前述实施例,后文不再赘述。
45.图2示出了根据本发明一些实施例的跨链交易方法的流程示意图。如图2所示,该实施例的跨链交易方法包括步骤s202~s214。
46.在步骤s202中,网络节点在第一区块链系统、第二区块链系统以及中继区块链系统间交换跨链交易所涉及的数据。
47.在一些实施例中,网络节点获取第一区块链系统发送的跨链交易请求,其中,跨链交易请求中包括跨链智能合约;网络节点接收第二区块链系统发送的执行跨链智能合约所需的数据,例如与业务相关的价值数据等等。
48.在一些实施例中,网络节点在向第二区块链系统发送数据时,还附带证明,以便第二区块链系统进行验证:网络节点还获取第一区块链系统发送的区块头信息,该区块头为第一区块链系统的区块头,例如包括第一区块链系统的身份证明信息、签名、密钥等等;网络节点生成跨链交易请求的证明,例如,生成跨链交易请求的默克尔(merkle)证明;网络节点将跨链交易请求、区块头信息以及跨链交易请求的证明发送给第二区块链系统。当第二区块链系统对跨链交易请求的证明的验证通过时,将跨链智能合约所需的数据返回给中继区块链系统的网络节点。从而,第二区块链系统在验证交易可信的情况下再返回数据,从而提升了跨链交易的安全性。
49.在步骤s204中,网络节点将执行跨链智能合约所需的数据发送给中继区块链系统中的计算节点。
50.在步骤s206中,计算节点基于执行跨链智能合约所需的数据,执行跨链智能合约。
51.在一些实施例中,计算节点从中继区块链系统的账本中查询跨链智能合约的状态;然后,基于执行跨链智能合约所需的数据、以及跨链智能合约的状态,执行跨链智能合约。由于区块链账本中的数据具有不可篡改的特性,因此通过令中继区块链系统通过账本记录跨链智能合约的状态,能够确保在执行跨链智能合约时更准确地获取其状态。
52.在一些实施例中,为了进一步提升安全性,账本中存储的智能合约的状态为加密的数据。部分计算节点组成了“密钥管理委员会”以管理密钥。计算节点从管理密钥的计算节点中获取密钥并进行解密,获得跨链智能合约的状态。从而,进一步提升了安全性。
53.在步骤s208中,计算节点将执行跨链智能合约的执行结果涉及的信息以及基于执行结果生成的证明发送给中继区块链系统的共识节点。基于执行结果生成的证明用于验证
计算是有效的。
54.在一些实施例中,执行结果涉及的信息为更新后的跨链智能合约的状态的加密数据。更新后的状态仍可以利用密钥管理委员会提供的密钥进行加密。
55.在步骤s210中,共识节点基于证明,对跨链智能合约的执行结果涉及的信息进行验证。
56.在一些实施例中,计算节点生成一对公钥和私钥,并利用生成的私钥生成随机数和零知识证明,作为基于执行结果生成的证明,并发送给共识节点。共识节点验证该随机数和零知识证明之间是否符合预设的第一函数关系。如果符合,则一次验证通过。在一些实施例中,计算节点还可以将公钥再发送给共识节点,共识节点验证公钥、随机数和零知识证明是否符合预设的第二函数关系。如果符合,则通过验证。该验证过程例如通过vrf(verifiable random function,可验证的随机函数)确定。
57.在步骤s212中,在验证通过的情况下,共识节点将执行结果涉及的信息存储到区块链中。
58.在步骤s214中,网络节点将执行结果发送给第一区块链系统。第一区块链系统将执行结果作为交易记录存储到第一区块链系统的账本中。
59.上述实施例将网络通信、计算和共识进行去耦。通过采用网络节点与参与跨链交易的区块链系统通信,可以避免将敏感数据直接暴露给智能合约的提供方,提高了系统的安全性;通过设置计算节点和共识节点,能够将智能合约的执行与共识完全剥离开来,使得计算、存储能够并行处理,提高了同构或异构区块链间跨链智能合约的执行效率。
60.图3示出了根据本发明一些实施例的中继区块链系统的节点的结构示意图。如图3所示,该实施例的节点30包括:存储器310以及耦接至该存储器310的处理器320,处理器320被配置为基于存储在存储器310中的指令,执行前述任意一个实施例中的跨链交易方法中的相应步骤。
61.其中,存储器310例如可以包括系统存储器、固定非易失性存储介质等。系统存储器例如存储有操作系统、应用程序、引导装载程序(boot loader)以及其他程序等。
62.图4示出了根据本发明另一些实施例的中继区块链系统的节点的结构示意图。如图4所示,该实施例的节点40包括:存储器410以及处理器420,还可以包括输入输出接口430、网络接口440、存储接口450等。这些接口430,440,450以及存储器410和处理器420之间例如可以通过总线460连接。其中,输入输出接口430为显示器、鼠标、键盘、触摸屏等输入输出设备提供连接接口。网络接口440为各种联网设备提供连接接口。存储接口450为sd卡、u盘等外置存储设备提供连接接口。
63.本发明的实施例还提供一种计算机可读存储介质,其上存储有计算机程序,其特征在于,该程序被处理器执行时实现前述任意一种跨链交易方法中的相应步骤。
64.本领域内的技术人员应当明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用非瞬时性存储介质(包括但不限于磁盘存储器、cd-rom、光学存储器等)上实施的计算机程序产品的形式。
65.本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程
图和/或方框图来描述的。应理解为可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
66.这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
67.这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
68.以上所述仅为本发明的较佳实施例,并不用以限制本发明,凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。
再多了解一些

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

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

相关文献