1.本说明书涉及区块链技术领域,特别涉及一种跨区块链的交易同步方法和装置。
背景技术:2.相关技术中,区块链系统内部的各个区块链节点之间可以进行交易的共识,以保证数据的一致性。而若多个区块链系统之间想要保证数据的一致性,则无法通过上述共识的方法实现。基于此,如何对跨区块链系统的交易进行同步,成为业内关注的重点。
技术实现要素:3.有鉴于此,本说明书提供一种跨区块链的交易同步方法和装置。
4.具体地,本说明书是通过如下技术方案实现的:
5.一种跨区块链的交易同步方法,基于桥接系统实现第一区块链系统与第二区块链系统之间的交易同步,所述方法应用于第一区块链系统上的任一区块链节点,包括:
6.接收第一冻结交易,所述第一冻结交易中携带待同步的交易信息;
7.执行所述第一冻结交易,以调用智能合约中的第一冻结逻辑基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第一冻结结果;
8.接收桥接系统发送的第一划拨交易,所述第一划拨交易中携带第二区块链系统在确定第一冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行冻结操作得到的第二冻结结果;所述第一冻结结果由桥接系统监听得到;
9.执行所述第一划拨交易,以调用智能合约中的第一划拨逻辑,在确定所述第二冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第一划拨结果;
10.接收桥接系统发送的确认交易,所述确认交易中携带第二区块链系统在确定所述第一划拨结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第二划拨结果;所述第一划拨结果由桥接系统监听得到;
11.执行所述确认交易,以调用智能合约中的确认逻辑,在确定所述第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
12.一种跨区块链的交易同步方法,基于桥接系统实现第一区块链系统与第二区块链系统之间的交易同步,所述方法应用于第二区块链系统上的任一区块链节点,包括:
13.接收桥接系统发送的第二冻结交易,所述第二冻结交易中携带待同步的交易信息和第一区块链系统对其区块链上所述交易信息对应的账户执行冻结操作得到的第一冻结结果;
14.执行第二冻结交易,以调用智能合约中的第二冻结逻辑,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第二冻结结果;
15.接收桥接系统发送的第二划拨交易,所述第二划拨交易中携带第一区块链系统在
确定第二冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第一划拨结果;所述第二冻结结果由桥接系统监听得到;
16.执行第二划拨交易,以调用智能合约中的第二划拨逻辑,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第二划拨结果,以供第一区块链系统在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
17.一种跨区块链的交易同步方法,基于桥接系统实现第一区块链系统与第二区块链系统之间的交易同步,所述方法应用于桥接系统,包括:
18.监听到第一区块链系统对其区块链上待同步的交易信息对应账户执行冻结操作得到的第一冻结结果;
19.基于所述待同步的交易信息和所述第一冻结结果生成第二冻结交易,并向第二区块链系统发送所述第二冻结交易;
20.监听到第二区块链系统的第二冻结结果;所述第二冻结结果为第二区块链系统执行所述第二冻结交易,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行冻结操作得到;
21.基于所述第二冻结结果生成第一划拨交易,并向第一区块链系统发送所述第一划拨交易;
22.监听到第一区块链系统的第一划拨结果;所述第一划拨结果为第一区块链系统执行所述第一划拨交易,在确定所述第二冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
23.基于所述第一划拨结果生成第二划拨交易,并向第二区块链系统发送所述第二划拨交易;
24.监听到第二区块链系统的第二划拨结果;所述第二划拨结果为第二区块链系统执行所述第二划拨交易,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
25.基于所述第二划拨结果生成确认交易,并向第一区块链系统发送所述确认交易,以使第一区块链在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
26.一种跨区块链的交易同步装置,所述装置包括:
27.第一冻结交易接收单元,接收第一冻结交易,所述第一冻结交易中携带待同步的交易信息;
28.第一冻结交易执行单元,执行所述第一冻结交易,以调用智能合约中的第一冻结逻辑基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第一冻结结果;
29.第一划拨交易接收单元,桥接系统发送的第一划拨交易,所述第一划拨交易中携带第二区块链系统在确定第一冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行冻结操作得到的第二冻结结果;所述第一冻结结果由桥接系统监听得到;
30.第一划拨交易执行单元,执行所述第一划拨交易,以调用智能合约中的第一划拨逻辑,在确定所述第二冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第一划拨结果;
31.确认交易接收单元,接收桥接系统发送的确认交易,所述确认交易中携带第二区
块链系统在确定所述第一划拨结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第二划拨结果;所述第一划拨结果由桥接系统监听得到;
32.确认交易执行单元,执行所述确认交易,以调用智能合约中的确认逻辑,在确定所述第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
33.一种跨区块链的交易同步装置,所述装置包括:
34.第二冻结交易接收单元,接收桥接系统发送的第二冻结交易,所述第二冻结交易中携带待同步的交易信息和第一区块链系统对其区块链上所述交易信息对应的账户执行冻结操作得到的第一冻结结果;
35.第二冻结交易执行单元,执行第二冻结交易,以调用智能合约中的第二冻结逻辑,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第二冻结结果;
36.第二划拨交易接收单元,接收桥接系统发送的第二划拨交易,所述第二划拨交易中携带第一区块链系统在确定第二冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第一划拨结果;所述第二冻结结果由桥接系统监听得到;
37.第二划拨交易执行单元,执行第二划拨交易,以调用智能合约中的第二划拨逻辑,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第二划拨结果,以供第一区块链系统在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
38.一种跨区块链的交易同步装置,所述装置包括:
39.第一冻结结果监听单元,监听到第一区块链系统对其区块链上待同步的交易信息对应账户执行冻结操作得到的第一冻结结果;
40.第二冻结交易发送单元,基于所述待同步的交易信息和所述第一冻结结果生成第二冻结交易,并向第二区块链系统发送所述第二冻结交易;
41.第二冻结结果监听单元,监听到第二区块链系统的第二冻结结果;所述第二冻结结果为第二区块链系统执行所述第二冻结交易,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行冻结操作得到;
42.第一划拨交易发送单元,基于所述第二冻结结果生成第一划拨交易,并向第一区块链系统发送所述第一划拨交易;
43.第一划拨结果监听单元,监听到第一区块链系统的第一划拨结果;所述第一划拨结果为第一区块链系统执行所述第一划拨交易,在确定所述第二冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
44.第二划拨交易发送单元,基于所述第一划拨结果生成第二划拨交易,并向第二区块链系统发送所述第二划拨交易;
45.第二划拨结果监听单元,监听到第二区块链系统的第二划拨结果;所述第二划拨结果为第二区块链系统执行所述第二划拨交易,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
46.确认交易发送单元,基于所述第二划拨结果生成确认交易,并向第一区块链系统
发送所述确认交易,以使第一区块链在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
47.一种跨区块链的交易同步装置,包括:
48.处理器;
49.用于存储机器可执行指令的存储器;
50.其中,通过读取并执行所述存储器存储的与跨区块链的交易同步逻辑对应的机器可执行指令,所述处理器被促使:
51.接收第一冻结交易,所述第一冻结交易中携带待同步的交易信息;
52.执行所述第一冻结交易,以调用智能合约中的第一冻结逻辑基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第一冻结结果;
53.接收桥接系统发送的第一划拨交易,所述第一划拨交易中携带第二区块链系统在确定第一冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行冻结操作得到的第二冻结结果;所述第一冻结结果由桥接系统监听得到;
54.执行所述第一划拨交易,以调用智能合约中的第一划拨逻辑,在确定所述第二冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第一划拨结果;
55.接收桥接系统发送的确认交易,所述确认交易中携带第二区块链系统在确定所述第一划拨结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第二划拨结果;所述第一划拨结果由桥接系统监听得到;
56.执行所述确认交易,以调用智能合约中的确认逻辑,在确定所述第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
57.一种跨区块链的交易同步装置,包括:
58.处理器;
59.用于存储机器可执行指令的存储器;
60.其中,通过读取并执行所述存储器存储的与跨区块链的交易同步逻辑对应的机器可执行指令,所述处理器被促使:
61.接收桥接系统发送的第二冻结交易,所述第二冻结交易中携带待同步的交易信息和第一区块链系统对其区块链上所述交易信息对应的账户执行冻结操作得到的第一冻结结果;
62.执行第二冻结交易,以调用智能合约中的第二冻结逻辑,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第二冻结结果;
63.接收桥接系统发送的第二划拨交易,所述第二划拨交易中携带第一区块链系统在确定第二冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第一划拨结果;所述第二冻结结果由桥接系统监听得到;
64.执行第二划拨交易,以调用智能合约中的第二划拨逻辑,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第二划拨结果,以供第一区块链系统在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
65.一种跨区块链的交易同步装置,包括:
66.处理器;
67.用于存储机器可执行指令的存储器;
68.其中,通过读取并执行所述存储器存储的与跨区块链的交易同步逻辑对应的机器可执行指令,所述处理器被促使:
69.监听到第一区块链系统对其区块链上待同步的交易信息对应账户执行冻结操作得到的第一冻结结果;
70.基于所述待同步的交易信息和所述第一冻结结果生成第二冻结交易,并向第二区块链系统发送所述第二冻结交易;
71.监听到第二区块链系统的第二冻结结果;所述第二冻结结果为第二区块链系统执行所述第二冻结交易,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行冻结操作得到;
72.基于所述第二冻结结果生成第一划拨交易,并向第一区块链系统发送所述第一划拨交易;
73.监听到第一区块链系统的第一划拨结果;所述第一划拨结果为第一区块链系统执行所述第一划拨交易,在确定所述第二冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
74.基于所述第一划拨结果生成第二划拨交易,并向第二区块链系统发送所述第二划拨交易;
75.监听到第二区块链系统的第二划拨结果;所述第二划拨结果为第二区块链系统执行所述第二划拨交易,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
76.基于所述第二划拨结果生成确认交易,并向第一区块链系统发送所述确认交易,以使第一区块链在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
77.本说明书一个实施例实现了,第一区块链上的任一区块链节点可以接收到携带待同步的交易信息的第一冻结交易,执行该第一冻结交易以调用智能合约中的第一冻结逻辑基于所述交易信息冻结本区块链上对应的账户,得到第一冻结结果。桥接系统可以监听到第一冻结结果,基于该第一冻结结果和待同步的交易信息生成第二冻结交易并发送给第二区块链系统,以使第二区块链系统执行该第二冻结交易,以调用智能合约中的第二冻结逻辑在确定第一冻结结果为成功的情况下冻结其区块链上交易信息对应的账户得到第二冻结结果。桥接系统可以监听到第二冻结结果,基于该第二冻结结果生成第一划拨交易并发送给第一区块链系统,第一区块链系统接收到该第一划拨交易后,可以调用智能合约中的第一划拨逻辑,在确定所述第二冻结结果为成功的情况下,基于所述交易信息解冻本区块链上对应的账户并进行余额划拨,得到第一划拨结果。桥接系统可以监听到第一划拨结果,基于该第一划拨结果生成第二划拨交易并发送给第二区块链系统,以使第二区块链系统执行该第二划拨交易,以调用智能合约中的第二划拨逻辑在确定所述第一划拨结果为成功的情况下,解冻其区块链上所述交易信息对应的账户并进行余额划拨得到的第二划拨结果。桥接系统可以监听到第二划拨结果,基于第二划拨结果生成确认交易并发送给第一区块链系统,第一区块链系统可以执行该确认交易,以调用智能合约中的确认逻辑在确定所述第
二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
78.采用上述方法,第一区块链系统可以基于桥接系统与第二区块链系统对待同步的交易信息进行同步,桥接系统可以基于第一区块链系统、第二区块链系统当前执行的交易类型来生成相应的交易,并通过这些交易来推进第一区块链系统、第二区块链系统执行相应的流程,整个过程是在区块链链上实现数据同步的,可以避免因交易信息在链下处理导致交易信息被篡改的问题。并且第一区块链系统、第二区块链系统是在确定对方执行成功后再进行下一步的处理,可以避免某一方未执行成功导致需要同步的交易信息遗漏、同步不成功的问题,可以大大提高交易同步的安全性、可靠性。
附图说明
79.图1是本说明书一示例性实施例示出的一种跨区块链的交易同步方法的场景示意图;
80.图2是本说明书一示例性实施例示出的一种跨区块链的交易同步方法的流程示意图;
81.图3是本说明书一示例性实施例示出的另一种跨区块链的交易同步方法的流程示意图;
82.图4是本说明书一示例性实施例示出的另一种跨区块链的交易同步方法的流程示意图;
83.图5是本说明书一示例性实施例示出的一种跨区块链的交易同步方法的多方交互示意图;
84.图6是本说明书一示例性实施例示出的一种跨区块链的交易同步装置所在电子设备的一种硬件结构图;
85.图7是本说明书一示例性实施例示出的一种跨区块链的交易同步装置的框图;
86.图8是本说明书一示例性实施例示出的另一种跨区块链的交易同步装置的框图;
87.图9是本说明书一示例性实施例示出的另一种跨区块链的交易同步装置的框图。
具体实施方式
88.这里将详细地对示例性实施例进行说明,其示例表示在附图中。下面的描述涉及附图时,除非另有表示,不同附图中的相同数字表示相同或相似的要素。以下示例性实施例中所描述的实施方式并不代表与本说明书相一致的所有实施方式。相反,它们仅是与如所附权利要求书中所详述的、本说明书的一些方面相一致的装置和方法的例子。
89.在本说明书使用的术语是仅仅出于描述特定实施例的目的,而非旨在限制本说明书。在本说明书和所附权利要求书中所使用的单数形式的“一种”、“所述”和“该”也旨在包括多数形式,除非上下文清楚地表示其他含义。还应当理解,本文中使用的术语“和/或”是指并包含一个或多个相关联的列出项目的任何或所有可能组合。
90.应当理解,尽管在本说明书可能采用术语第一、第二、第三等来描述各种信息,但这些信息不应限于这些术语。这些术语仅用来将同一类型的信息彼此区分开。例如,在不脱离本说明书范围的情况下,第一信息也可以被称为第二信息,类似地,第二信息也可以被称为第一信息。取决于语境,如在此所使用的词语“如果”可以被解释成为“在
……
时”或
“
当
……
时”或“响应于确定”。
91.区块链技术,也被称之为分布式账本技术,是一种由若干台计算设备共同参与“记账”,共同维护一份完整的分布式数据库的新兴技术。由于区块链技术具有去中心化、公开透明、每台计算设备可以参与数据库记录、并且各计算设备之间可以快速的进行数据同步的特征,使得区块链技术已在众多的领域中广泛的进行应用。
92.区块链技术中,对于物理世界产生的真实数据,可以将其构建成区块链所支持的标准内的交易(transaction)格式,然后发布至区块链,由区块链中的节点设备对接收到的交易进行共识处理。通过共识,可以对区块链中各个节点设备上存储的交易进行同步,以确保各个节点设备上存储的交易是相同的,实现数据一致性。
93.然而,通过上述共识的方法只能实现区块链系统内部各个节点设备之间的交易同步,若多个区块链系统之间想要实现跨区块链的交易同步,则无法采用上述共识的方法实现。相关技术中,可以通过“公证人机制”实现跨区块链系统之间的交易同步,具体是使用中心化的第三方系统对跨区块链的交易进行确认、转发,然而这种方法存在交易被篡改、遗漏的风险,安全性较低。
94.基于此,本说明书提供了一种跨区块链的交易同步方法,可以对跨区块链系统的交易进行同步,并且确保交易在同步的过程中不被篡改、避免遗漏,提高交易同步的安全性、可靠性。
95.首先对本说明书所述跨区块链的交易同步方法的场景进行说明。
96.请参见图1,图1是本说明书一示例性实施例示出的一种跨区块链的交易同步方法的场景示意图。
97.图1中包括第一区块链系统10、第二区块链系统20和桥接系统30。其中,第一区块链系统10可以维护有一个区块链,包括用于承载该区块链的多个区块链节点,分别为区块链节点11、区块链节点12、区块链节点13、区块链节点14
……
区块链节点1i。第二区块链系统20可以维护有一个区块链,包括用于承载该区块链的多个区块链节点,分别为区块链节点21、区块链节点22、区块链节点23、区块链节点24
……
区块链节点2j。
98.其中,第一区块链系统的区块链节点数量可以与第二区块链系统的节点数量相同,也可以不同。第一区块链系统10和第二区块链系统20各自可以与桥接系统30进行交互,并通过桥接系统30实现这两个区块链系统之间的交易同步,具体将会在后面的实施例中详细说明。
99.当然,图1所示场景仅仅为示例性的说明,并不用于限制本说明书。
100.阐明了上述场景后,下面对本说明书提供的一种跨区块链的交易同步方法的实施例进行说明。
101.请参见图2,图2是本说明书一示例性实施例示出的一种跨区块链的交易同步方法的流程示意图。所述方法可以应用于第一区块链系统上的任一区块链节点,比如图1中第一区块链系统10中的区块链节点11。所述方法可以包括以下步骤:
102.步骤202,接收第一冻结交易,所述第一冻结交易中携带待同步的交易信息。
103.本实施例可以针对待同步的交易信息,实现其在第一区块链系统、第二区块链系统之间的交易同步。比如,待同步的交易信息可以是转账交易信息、汇款交易信息,交易信息中可以包括交易金额及对应的转出账户和转入账户,如交易信息可以是张三给李四汇款
500元,其中转出账户为张三,转入账户为李四,交易金额为500元。
104.在一个例子中,桥接系统可以与业务系统对接,用户可以基于业务系统发起一笔交易,如上述例子中的汇款交易,然后业务系统可以判断该交易是否需要同步,若需要同步,则可以将该交易的信息提供给桥接系统,桥接系统可以将该待同步的交易信息提供给第一区块链系统、第二区块链系统进行同步。
105.其中,确定交易是否为待同步的交易信息的方法可以有多种,比如判断交易类型是否符合待同步交易所规定的类型,如规定的类型可以是跨境汇款,在跨境汇款的场景中,存在境内区块链和境外区块链,因此需要在这两个区块链上对这笔汇款交易进行同步。当然,该例子仅仅为示例性的说明,实际业务场景中也可以采取其他方法,本实施例对此不作特殊限制。
106.在另一个例子中,用户也可以直接向第一区块链系统的任一区块链节点发起一笔交易,第一区块链系统可以将该交易的信息确定为待同步的交易信息,并基于桥接系统与第二区块链系统进行同步。
107.比如,桥接系统可以监听第一区块链系统上任一区块链节点的成块事件,并获取这些区块,从这些区块上获取到交易,然后将这些交易提供给第二区块链系统。其中,可以预先设有若干需要进行交易同步的目标用户id,第二区块链系统可以判断这些交易对应的用户id是否属于目标用户id,若属于,则说明交易为需要同步的。或者,也可以在部署智能合约时预设有关键词,则第一区块链系统执行待同步的交易后可以在执行结果中包含该关键词,则桥接系统或者第二区块链系统可以基于该关键词来确定需要同步的交易。
108.当然,用户也可以直接向第二区块链系统的任一区块链节点发起一笔交易,第二区块链系统可以将该交易的交易信息确定为待同步的交易信息并基于桥接系统与第一区块链系统进行同步,对此不作特殊限制。
109.本实施例中,第一区块链系统上的区块链节点可以接收到第一冻结交易,第一冻结交易中可以携带待同步的交易信息。该第一冻结交易可以是桥接系统发送的,也可以是其他方发送的。
110.在一个例子中,对于上述用户基于业务系统发起待同步的交易信息的例子,业务系统将该交易的交易信息发送给桥接系统后,桥接系统可以基于待同步的交易信息生成第一冻结交易,并将第一冻结交易发送给第一区块链系统上的任一区块链节点。
111.在另一个例子中,对于上述用户直接向第一区块链系统上的任一区块链节点发起待同步的交易的例子,则该区块链节点可以直接接收到第一冻结交易。
112.步骤204,执行所述第一冻结交易,以调用智能合约中的第一冻结逻辑基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第一冻结结果。
113.本实施例中,当第一区块链上的区块链节点接收到第一冻结交易后,可以执行第一冻结交易,以调用智能合约中的第一冻结逻辑基于所述交易信息查找到本区块链上对应的账户,并对该账户执行冻结操作。
114.其中,冻结操作可以有多种。
115.比如,可以对交易金额对应的转入账户、转出账户的余额均进行冻结,即不允许任何人对这两个账户的余额进行划拨。仍以上述张三给李四汇款500元的例子为例,可以查找到对应的账户为张三的账户、李四的账户,则可以将这两个账户冻结。
116.再比如,也可以仅转出账户的余额进行冻结。仍以上述例子为例,则可以对张三的账户余额进行冻结,而不需要对李四的账户余额信息冻结。
117.再比如,也可以仅对转出账户冻结交易金额。仍以上述例子为例,可以仅对张三的账户冻结500元。这样冻结之后可以避免其他方操作张三账户余额导致其余额不足500元的情况。
118.本实施例中,冻结之后可以得到第一冻结结果,该第一冻结结果可以是成功或失败。
119.步骤206,接收桥接系统发送的第一划拨交易,所述第一划拨交易中携带第二区块链系统在确定第一冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行冻结操作得到的第二冻结结果;所述第一冻结结果由桥接系统监听得到。
120.步骤208,执行所述第一划拨交易,以调用智能合约中的第一划拨逻辑,在确定所述第二冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第一划拨结果。
121.本实施例中,桥接系统可以从第一区块链系统上监听到第一冻结结果,监听的方法具体可以参照相关技术,对此不作特殊限制。桥接系统可以基于该第一冻结结果和待处理的交易信息生成第二冻结交易,然后向第二区块链系统中的任一区块链节点发送第二冻结交易。该区块链节点接收到第二冻结交易后,可以调用智能合约中的第二冻结逻辑在确定第一冻结结果为成功的情况下,基于第二冻结交易中携带的交易信息查找到其区块链上对应的账户,并对该账户执行冻结操作,得到第二冻结结果,该第二冻结结果可以是成功或失败。该冻结操作具体可以参照第一区块链上任一区块链节点执行的冻结操作,在此不再赘述。
122.桥接系统可以从第二区块链系统上监听到第二冻结结果,基于该第二冻结结果生成第一划拨交易,然后向第一区块链系统中的任一区块链节点发送第一划拨交易。该区块链节点接收到第一划拨交易后,可以调用智能合约中的第一划拨逻辑在确定第二冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨。
123.其中,解冻操作可以与冻结操作对应。
124.例如,仍以前述例子张三给李四汇款500元的例子为例,若冻结操作为对张三、李四的账户余额均冻结,则解冻操作可以是对这两个账户余额均解冻。
125.再例如,若冻结操作为仅为张三账户冻结500元,则解冻操作可以是对张三账户余额的500元解冻。
126.然后可以对交易金额的转出账户、转入账户进行余额划拨。
127.仍以上述例子为例,可以对张三的账户扣除500元,给李四的账户转入500元,实现余额划拨。余额划拨后可以得到第一划拨结果,该第一划拨结果可以是成功或失败。
128.步骤210,接收桥接系统发送的确认交易,所述确认交易中携带第二区块链系统在确定所述第一划拨结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第二划拨结果;所述第一划拨结果由桥接系统监听得到。
129.步骤212,执行所述确认交易,以调用智能合约中的确认逻辑,在确定所述第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
130.本实施例中,桥接系统可以从第一区块链系统上监听到第一划拨结果,基于该第一划拨结果生成第二划拨交易,然后向第二区块链系统中的任一区块链节点发送第二划拨交易。该区块链节点接收到第二划拨交易后,可以调用智能合约中的第二划拨逻辑在确定第一划拨结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨,得到第二划拨结果,该第二划拨结果可以是成功或失败。该解冻操作、余额划拨方法具体可以参照第一区块链上任一区块链节点执行的解冻操作、余额划拨方法,在此不再赘述。
131.桥接系统可以从第二区块链系统上监听到第二划拨结果,基于该第二划拨结果生成确认交易,然后向第一区块链系统中的任一区块链节点发送确认交易。该区块链节点接收到确认交易后,可以调用智能合约中的确认逻辑在确定第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
132.由以上描述可以看出,在本说明书的一个实施例中,第一区块链上的任一区块链节点可以接收到携带待同步的交易信息的第一冻结交易,执行该第一冻结交易以调用智能合约中的第一冻结逻辑基于所述交易信息冻结本区块链上对应的账户,得到第一冻结结果。桥接系统可以监听到第一冻结结果,基于该第一冻结结果和待同步的交易信息生成第二冻结交易并发送给第二区块链系统,以使第二区块链系统执行该第二冻结交易,以调用智能合约中的第二冻结逻辑在确定第一冻结结果为成功的情况下冻结其区块链上交易信息对应的账户得到第二冻结结果。桥接系统可以监听到第二冻结结果,基于该第二冻结结果生成第一划拨交易并发送给第一区块链系统,第一区块链系统接收到该第一划拨交易后,可以调用智能合约中的第一划拨逻辑,在确定所述第二冻结结果为成功的情况下,基于所述交易信息解冻本区块链上对应的账户并进行余额划拨,得到第一划拨结果。桥接系统可以监听到第一划拨结果,基于该第一划拨结果生成第二划拨交易并发送给第二区块链系统,以使第二区块链系统执行该第二划拨交易,以调用智能合约中的第二划拨逻辑在确定所述第一划拨结果为成功的情况下,解冻其区块链上所述交易信息对应的账户并进行余额划拨得到的第二划拨结果。桥接系统可以监听到第二划拨结果,基于第二划拨结果生成确认交易并发送给第一区块链系统,第一区块链系统可以执行该确认交易,以调用智能合约中的确认逻辑在确定所述第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
133.采用上述方法,第一区块链系统可以基于桥接系统与第二区块链系统对待同步的交易信息进行同步,桥接系统可以基于第一区块链系统、第二区块链系统当前执行的交易类型来生成相应的交易,并通过这些交易来推进第一区块链系统、第二区块链系统执行相应的流程,整个过程是在区块链链上实现数据同步的,可以避免因交易信息在链下处理导致交易信息被篡改的问题。并且第一区块链系统、第二区块链系统是在确定对方执行成功后再进行下一步的处理,可以避免某一方未执行成功导致需要同步的交易信息遗漏、同步不成功的问题,可以大大提高交易同步的安全性、可靠性。
134.下面对本说明书提供的另一种跨区块链的交易同步方法的实施例进行说明。
135.请参见图3,图3是本说明书一示例性实施例示出的另一种跨区块链的交易同步方法的流程示意图。所述方法可以应用于第二区块链系统上的任一区块链节点,比如图1中第二区块链系统20中的区块链节点21。
136.所述方法可以包括以下步骤:
137.步骤302,接收桥接系统发送的第二冻结交易,所述第二冻结交易中携带待同步的交易信息和第一区块链系统对其区块链上所述交易信息对应的账户执行冻结操作得到的第一冻结结果;
138.步骤304,执行第二冻结交易,以调用智能合约中的第二冻结逻辑,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第二冻结结果;
139.步骤306,接收桥接系统发送的第二划拨交易,所述第二划拨交易中携带第一区块链系统在确定第二冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第一划拨结果;所述第二冻结结果由桥接系统监听得到;
140.步骤308,执行第二划拨交易,以调用智能合约中的第二划拨逻辑,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第二划拨结果,以供第一区块链系统在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
141.下面对上述步骤进行详细说明。
142.本实施例中,第二区块链系统上的任一区块链节点可以接收到桥接系统发送的第二冻结交易,该第二冻结交易中包括待同步的交易信息和第一区块链系统对其区块链上所述交易信息对应的账户进行冻结得到的第一冻结结果。其中,第一区块链得到第一冻结结果的方法参照前述实施例,在此不再赘述。
143.第二区块链系统上的任一区块链节点接收到第二冻结交易后,可以执行第二冻结交易,以调用智能合约中的第二冻结逻辑,判断交易中携带的第一冻结结果是否为冻结成功,并在确定所述第一冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第二冻结结果。该第二冻结结果可以是成功或失败。该冻结操作具体可以参照前述实施例,在此不再赘述。
144.桥接系统可以监听到该第二冻结结果,基于该第二冻结结果生成第一划拨交易并发送给第一区块链上的任一区块链节点,以使该区块链节点在确定第二冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到第一划拨结果。其中,第一区块链得到第一划拨结果的方法参照前述实施例,在此不再赘述。
145.桥接系统可以监听到该第一划拨结果,基于该第一划拨结果生成第二划拨交易并发送给第二区块链上的任一区块链节点,该第二划拨交易中包括第一划拨结果。
146.第二区块链系统上的任一区块链节点接收到第二划拨交易后,可以执行第二划拨交易,以调用智能合约中的第二划拨逻辑,判断交易中携带的第一划拨结果是否为冻结成功,并在确定所述第一划拨结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第二划拨结果。该第二冻结结果可以是成功或失败。该解冻操作、余额划拨方法具体可以参照前述实施例,在此不再赘述。
147.桥接系统可以监听到该第二划拨结果,基于该第一划拨结果生成确认交易并发送给第一区块链上的任一区块链节点,以使该区块链节点在第二划拨结果为成功的情况下确定待同步的交易信息同步完毕。其中,第一区块链系统确定待同步的交易信息是否同步的具体方法可参照前述实施例,在此不再赘述。
148.其中,对于第二区块链系统而言,其可以在第二划拨结果为成功的情况下确定待同步的交易信息同步完毕,在划拨结果为失败的情况下确定待同步的交易信息同步失败。当然也可以采取其他方法,对此不作特殊限制。
149.由以上描述可以看出,在本说明书的一个实施例中,第二区块链系统可以基于桥接系统与第一区块链系统进行交易同步,整个过程是在区块链链上实现数据同步的,可以避免因交易信息在链下处理导致交易信息被篡改的问题。并且第一区块链系统、第二区块链系统是在确定对方执行成功后再进行下一步的处理,可以避免某一方未执行成功导致需要同步的交易信息遗漏、同步不成功的问题,可以大大提高交易同步的安全性、可靠性。
150.下面对本说明书提供的另一种跨区块链的交易同步方法的实施例进行说明。
151.请参见图4,图4是本说明书一示例性实施例示出的另一种跨区块链的交易同步方法的流程示意图。所述方法可以应用于桥接系统,比如图1中桥接系统30。所述方法可以包括以下步骤:
152.步骤402,监听到第一区块链系统对其区块链上待同步的交易信息对应账户执行冻结操作得到的第一冻结结果;
153.步骤404,基于所述待同步的交易信息和所述第一冻结结果生成第二冻结交易,并向第二区块链系统发送所述第二冻结交易;
154.步骤406,监听到第二区块链系统的第二冻结结果;所述第二冻结结果为第二区块链系统执行所述第二冻结交易,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行冻结操作得到;
155.步骤408,基于所述第二冻结结果生成第一划拨交易,并向第一区块链系统发送所述第一划拨交易;
156.步骤410,监听到第一区块链系统的第一划拨结果;所述第一划拨结果为第一区块链系统执行所述第一划拨交易,在确定所述第二冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
157.步骤412,基于所述第一划拨结果生成第二划拨交易,并向第二区块链系统发送所述第二划拨交易;
158.步骤414,到第二区块链系统的第二划拨结果;所述第二划拨结果为第二区块链系统执行所述第二划拨交易,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
159.步骤416,基于所述第二划拨结果生成确认交易,并向第一区块链系统发送所述确认交易,以使第一区块链在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
160.下面对上述步骤进行详细说明。
161.本实施例中,桥接系统可以监听到第一区块链上的第一冻结结果,该第一冻结结果可以是第一区块链系统对其区块链上待同步的交易信息对应账户进行冻结得到的,第一冻结结果可以是成功或失败。
162.其中,桥接系统监听的方法可以参照相关技术,本实施例对此不作特殊限制。
163.其中,第一冻结交易可以是桥接系统生成并发送给第一区块链系统的。即桥接系统可以获取到待同步的交易信息,基于该交易信息生成第一冻结交易,并将该交易发送给
第一区块链系统上的任一区块链节点。或者,第一冻结交易也可以其它方发送的,具体可以参照前述实施例,在此不再赘述。
164.桥接系统监听到第一冻结结果后,可以基于待同步的交易信息和第一冻结结果生成第二冻结交易,并向第二区块链系统上的任一区块链节点发送所述第二冻结交易,以使该区块链节点执行第二冻结交易在确定第一冻结结果为成功的情况下,对其区块链上交易信息对应的账户进行冻结,得到第二冻结结果。
165.桥接系统可以从第二区块链上监听到第二冻结结果,基于所述第二冻结结果生成第一划拨交易,并向第一区块链系统发送所述第一划拨交易,以使第一区块链系统执行第一划拨交易,在确定第二冻结结果为成功的情况下,对其区块链上交易信息对应的账户进行解冻并划拨余额,得到第一划拨结果。
166.桥接系统可以从第一区块链上监听到第一划拨结果,基于所述第一划拨结果生成第二划拨交易,并向第二区块链系统发送所述第二划拨交易,以使第二区块链系统执行第二划拨交易,在确定第一冻结结果为成功的情况下,对其区块链上交易信息对应的账户进行解冻并划拨余额,得到第二划拨结果。
167.桥接系统可以从第二区块链上监听到第二划拨结果,基于所述第二划拨结果生成确认交易,并向第一区块链系统发送所述确认交易,以使第一区块链在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
168.由以上描述可以看出,在本说明书的一个实施例中,第二区块链系统可以基于桥接系统与第一区块链系统进行交易同步,整个过程是在区块链链上实现数据同步的,可以避免因交易信息在链下处理导致交易信息被篡改的问题。并且第一区块链系统、第二区块链系统是在确定对方执行成功后再进行下一步的处理,可以避免某一方未执行成功导致需要同步的交易信息遗漏、同步不成功的问题,可以大大提高交易同步的安全性、可靠性。
169.下面对本说明书提供的另一种跨区块链的交易同步方法的实施例进行说明。
170.本实施例中,可以部署有智能合约,该智能合约中可以包括不同类型的接口,且不同的接口可以对应不同的逻辑,用于实现不同的功能。可参见下表1:
[0171][0172]
表1
[0173]
如上表1所示,智能合约中可以包括start、prehandle、handle、confirm、end这五个接口,且不同的接口可以对应不同的逻辑,如start接口可以对应第一冻结逻辑、prehandle接口可以对应第二冻结逻辑、handle接口可以对应第一划拨逻辑、end接口可以对应第二划拨逻辑、end接口可以对应确认逻辑。其中,每种不同的逻辑可以用于实现不同的功能,具体将会在下面的实施例中详细说明。
[0174]
当然,上表1仅仅为示例性的说明,并不用于限制本说明书。比如,在其他实施例中,也可以针对每种逻辑均生成对应的智能合约,即可以生成5个智能合约,对此不作特殊限制。
[0175]
并且,本实施例中,第一区块链系统、第二区块链系统还可以拥有各自的公私钥
对,该公私钥对可以是从认证机构申领得到,具体可以参照相关技术。本实施例中第一区块链系统、第二区块链系统可以通过公私钥对对接收到的数据进行验证,以验证数据是否被篡改,可以提高两者之间交易同步的安全性。具体将会在下面的实施例中详细说明。其中,各区块链系统之间可以事先交换彼此的公钥,或者也可以将公钥携带在交易的执行结果中,以使桥接系统将公钥传递给对应的区块链系统。对此不作特殊限制。
[0176]
当然,除了上述基于公私钥的验证方法外,也可以采取其他方法验证信息是否被篡改,比如也可以采用对称密钥进行验证,本说明书对此不作特殊限制。
[0177]
请参见图5,图5是本说明书一示例性实施例示出的一种跨区块链的交易同步方法的多方交互示意图。
[0178]
所述方法可以包括以下步骤:
[0179]
步骤502,桥接系统生成第一冻结交易。
[0180]
本实施例中,桥接系统可以获取到待同步的交易信息,然后生成第一冻结交易,第一冻结交易中包括待同步的交易信息。
[0181]
步骤504,桥接系统给第一区块链系统发送第一冻结交易。
[0182]
步骤506,第一区块链系统执行第一冻结交易,得到第一冻结结果。
[0183]
本实施例中,桥接系统可以给第一区块链上的任一区块链节点发送第一冻结交易,该第一冻结交易可以用于调用智能合约中的start接口。该区块链节点接收到该第一冻结交易后,可以基于start接口确定调用智能合约中的第一冻结逻辑,基于所述交易信息冻结本区块链上对应的账户,得到第一冻结结果。其中,第一冻结结果可以是成功或失败。
[0184]
步骤508,桥接系统监听到第一冻结结果。
[0185]
步骤510,桥接系统生成第二冻结交易。
[0186]
步骤512,桥接系统给第二区块链系统发送第二冻结交易。
[0187]
本实施例中,桥接系统可以从第一区块链上监听到第一冻结结果,并且该第一冻结结果可以是利用第一区块链的私钥加密得到的,比如可以从世界状态中监听第一冻结结果,后续区块链系统执行交易后得到的结果均都可以从世界状态里监听得到,具体的监听方法可以参照相关技术,本实施例在此不一一说明。
[0188]
并且,桥接系统还可以持有各个接口的调用顺序,比如调用的先后顺序可以是start、prehandle、handle、confirm、end。桥接系统在监听到第一冻结结果后,还可以监听到第一冻结结果是调用了start接口得到的,则桥接系统可以根据上述顺序确定下一个需要被调用的接口为prehandle。则桥接系统可以生成第二冻结交易,该第二冻结交易中可以包括第一冻结结果、待同步的交易信息,这些信息可以是利用第一区块链的私钥加密得到的。然后桥接系统可以向第二区块链上的任一区块链节点发送第二冻结交易,该第二冻结交易用于调用智能合约中的prehandle接口。
[0189]
步骤514,第二区块链系统执行第二冻结交易,得到第二冻结结果。
[0190]
本实施例中,第二区块链系统上的任一区块链节点接收到第二冻结交易后,可以基于prehandle接口确定调用智能合约中的第二冻结逻辑,该第二冻结逻辑可以判断第一冻结结果是否为成功、验证第一冻结结果是否被篡改(比如基于第一区块链系统的公钥对对交易中携带的私钥加密数据进行解密验证,若验证通过,则说明未被篡改),并在第一冻结结果为成功、第一冻结结果未被篡改的情况下,对本区块链上所述交易信息对应的账户
进行冻结,得到第二冻结结果。
[0191]
其中,若第一冻结结果为失败,和/或第二冻结结果被篡改,则第二区块链系统可以不对其区块链上对应的账户进行冻结,并且还可以结束本次同步,或者重新发起同步。并且还可以得到冻结失败的第二冻结结果,则后续桥接系统将这一结果提供给第一区块链系统后,第一区块链系统可以获知到第二区块链系统执行冻结失败,以结束本次的同步,或者重新发起同步。
[0192]
步骤516,桥接系统监听到第二冻结结果。
[0193]
步骤518,桥接系统生成第一划拨交易。
[0194]
步骤520,桥接系统给第一区块链系统发送第一划拨交易。
[0195]
本实施例中,桥接系统可以从第二区块链上监听到第二冻结结果,该第二冻结结果可以是利用第二区块链系统的私钥加密得到的。并且,桥接系统还可以监听到第二冻结结果是调用了prehandle接口得到的,则桥接系统可以根据上述顺序确定下一个需要被调用的接口为handle。则桥接系统可以生成第一划拨交易,该第一划拨交易中可以包括基于第二区块链的私钥加密得到的第二冻结结果。然后桥接系统可以给第一区块链系统上的任一区块链节点发送第一划拨交易,该第一划拨交易用于调用智能合约中的handle接口。
[0196]
步骤522,第一区块链系统执行第一划拨交易,得到第一划拨结果。
[0197]
本实施例中,第一区块链系统上的任一区块链节点接收到第一划拨交易后,可以基于handle接口确定调用智能合约中的第一划拨逻辑,该第一划拨逻辑可以判断第二冻结结果是否为成功、验证第二冻结结果是否被篡改,并在第二冻结结果为成功、第二冻结结果未被篡改的情况下,对本区块链上所述交易信息对应的账户进行解冻并划拨余额,得到第一划拨结果。
[0198]
其中,类似的,若第二冻结结果为失败,和/或第二冻结结果被篡改,则第一区块链系统可以不对其区块链上对应的账户进行解冻并划拨余额,并结束本次同步或重新发起同步,并且还可以得到划拨失败的第一划拨结果,则后续桥接系统将这一结果提供给第二区块链系统后,第二区块链系统可以获知到第一区块链系统执行划拨余额失败,以结束本次的同步,或者重新发起同步。
[0199]
本实施例中,第一区块链系统执行第一冻结逻辑后,该第一冻结逻辑还可以判断是否在第一预设时长内接收到桥接系统发送的第一划拨交易;若否,则可以执行回滚操作,如解冻所述账户。并可以结束本次同步或重新发起同步。其中,第一预设时长可以预先设置,比如可以基于区块链的出块频率来设置,假设区块链上的出块频率大概是3秒一次,则第一预设时长可以是出块20次,即1分钟。
[0200]
步骤524,桥接系统监听到第一划拨结果。
[0201]
步骤526,桥接系统生成第二划拨交易。
[0202]
步骤528,桥接系统给第二区块链系统发送第二划拨交易。
[0203]
本实施例中,桥接系统可以从第一区块链上监听到第一划拨结果,该第一划拨结果可以是利用第一区块链系统的私钥加密得到的。并且,桥接系统还可以监听到第一划拨结果是调用了handle接口得到的,则桥接系统可以根据上述顺序确定下一个需要被调用的接口为confirm。则桥接系统可以生成第二划拨交易,该第二划拨交易中可以包括基于第一区块链的私钥加密得到的第一划拨结果。然后桥接系统可以给第二区块链系统上的任一区
块链节点发送第二划拨交易,该第二划拨交易用于调用智能合约中的confirm接口。
[0204]
步骤530,第二区块链系统执行第二划拨交易,得到第二划拨结果。
[0205]
本实施例中,第二区块链系统上的任一区块链节点接收到第二划拨交易后,可以基于confirm接口确定调用智能合约中的第二划拨逻辑,该第二划拨逻辑可以判断第一划拨结果是否为成功、验证第一划拨结果是否被篡改,并在第一划拨结果为成功、第一划拨结果未被篡改的情况下,对本区块链上所述交易信息对应的账户进行解冻并划拨余额,得到第二划拨结果。
[0206]
其中,类似的,若第一划拨结果为失败,和/或第一划拨结果被篡改,则第二区块链系统可以不对其区块链上对应的账户进行解冻并划拨余额,并结束本次同步或重新发起同步,并且还可以得到划拨失败的第二划拨结果,则后续桥接系统将这一结果提供给第一区块链系统后,第一区块链系统可以获知到第二区块链系统执行划拨余额失败,以结束本次的同步,或者重新发起同步。
[0207]
本实施例中,第二区块链系统执行第二冻结逻辑后,该第二冻结逻辑还可以判断是否在第三预设时长内接收到桥接系统发送的第二划拨交易;若否,则可以执行回滚操作,如解冻所述账户。并可以结束本次同步或重新发起同步。其中,第三预设时长也可以预先设置,具体可参照前述实施例。
[0208]
步骤532,桥接系统监听到第二划拨结果。
[0209]
步骤524,桥接系统生成确认交易。
[0210]
步骤526,桥接系统给第一区块链系统发送确认交易。
[0211]
本实施例中,桥接系统可以从第二区块链上监听到第二划拨结果,该第二划拨结果可以是利用第二区块链系统的私钥加密得到的。并且,桥接系统还可以监听到第二划拨结果是调用了confirm接口得到的,则桥接系统可以根据上述顺序确定下一个需要被调用的接口为end。则桥接系统可以生成确认交易,该确认交易中可以包括基于第二区块链的私钥加密得到的第二划拨结果。然后桥接系统可以给第一区块链系统上的任一区块链节点发送确认交易,该确认交易用于调用智能合约中的end接口。
[0212]
步骤528,第一区块链系统执行确认交易。
[0213]
本实施例中,第一区块链系统上的任一区块链节点接收到确认交易后,可以基于end接口确定调用智能合约中的确认逻辑,该确认逻辑可以判断第二划拨结果是否为成功、验证第二划拨结果是否被篡改,并在第二划拨结果为成功、第二划拨结果未被篡改的情况下,确定待同步的交易信息同步完毕。
[0214]
其中,类似的,若第二划拨结果为失败,和/或第二划拨结果被篡改,则第一区块链系统可以确定待同步的交易信息未成功同步,并可以结束本次同步或重新发起同步。并且还可以基于桥接系统将这一消息提供给第二区块链系统后,第二区块链获知到这一消息后,可以结束本次的同步流程,或者重新发起同步。
[0215]
由以上描述可以看出,在本说明书的一个实施例中,第一区块链系统、第二区块链系统还可以拥有自身的公私钥对,基于该公私钥对对接收到的信息进行验证,以验证其是否被篡改,并在未被篡改的情况下进行后续的处理,可以提高信息同步的安全性。
[0216]
并且,第一区块链系统执行第一冻结交易后,还可以判断是否在预设时长内接收到第一划拨交易,若未接收到,则可以执行回滚操作,即对相应的账户解冻。类似的,第一区
块链系统执行第一划拨交易后,若未在预设时长内接收到确认交易,则可以执行回滚操作;第二区块链系统执行第二冻结交易后,若未在预设时长内接收到第二划拨交易,则可以执行回滚操作。采用上述方法可以避免同步的过程中交易信息遗漏、丢失,提高交易同步的可靠性。
[0217]
当然,若第一区块链在预设时长之后才接收到桥接系统发送的确认交易,则此时第一区块链系统已经执行回滚,此时交易信息对应账户的余额为划拨前的余额,则桥接系统可以继续监听第一区块链系统上的执行结果,并且可以监听到由于其回滚后导致账户余额变为初始值,则桥接系统可以把监听到的结果发送给第二区块链系统,以使第二区块链系统也进行回滚操作,确保双方的数据是同步的。
[0218]
在本说明书的其他实施例中,还可以存在多个桥接系统,每个桥接系统都可以监听第一区块链系统、第二区块链系统执行交易的结果,并基于该结果生成相应的交易并发送给相应的区块链系统,并且可以在交易中携带自身的桥接系统标识,以使区块链系统基于该标识来确定交易是由哪个桥接系统发送的。
[0219]
并且,区块链系统在验证交易中携带的信息未被篡改后,还可以给发送该交易的桥接系统奖励。
[0220]
例如,第一区块链在接收到某个桥接系统发送的第一划拨交易,并执行第一划拨交易时,若该交易中携带的第二冻结结果未被篡改,则第一划拨逻辑在对进行余额划拨时,可以从所述交易信息对应账户中的指定账户扣除奖励金额,向该桥接系统对应账户转入所述奖励金额。其中,奖励金额可以预先设置,比如可以是交易金额的0.1%。指定账户比如可以是交易金额对应的转出账户。
[0221]
举例来说,交易信息为张三给李四汇款500元,则奖励金额可以是500*0.1%=0.5元。则在余额划拨时,可以从张三的账户扣除500.5元,给李四的账户转入500元,给桥接系统的账户转入0.5元。
[0222]
再比如,指定账户也可以是交易金额对应的转出账户。比如,交易信息为张三给李四汇款500元,奖励金额为0.5元,在余额划拨时,可以在张三的账户扣除500元,给李四的账户转入499.5元,给桥接系统的账户转入0.5元。
[0223]
当然,上述例子仅仅为示例性的说明,在实际应用也可以采取其他余额划拨方法,比如指定账户也可以是转出账户和转入账户双方,在此不一一举例。
[0224]
类似的,第二区块链系统在接收到某个桥接系统发送的第二划拨交易,执行第二划拨交易时,若该交易中携带的第一划拨结果未被篡改,则第二划拨逻辑在对余额进行划拨时,也可以从所述交易信息对应账户中的指定账户扣除奖励金额,向该桥接系统对应账户转入所述奖励金额。该奖励金额与前述第一区块链系统进行余额划拨时的奖励金额相同。
[0225]
再例如,第一区块链系统在接收到某个桥接系统发送的确认交易,并执行确认交易时,若该交易中携带的第二划拨结果未被篡改,则确认逻辑也可以对从所述交易信息对应账户中的指定账户扣除奖励金额,向桥接系统对应账户转入所述奖励金额。具体实现方法可以有多种,本实施例在此不一一说明。
[0226]
类似的,第二区块链系统在接收到某个桥接系统发送的第二冻结交易,并执行第二冻结交易时,若该交易中携带的第一冻结结果未被篡改,则第二冻结逻辑也可以对从所
述交易信息对应账户中的指定账户扣除奖励金额,向桥接系统对应账户转入所述奖励金额。具体实现方法可以有多种,本实施例在此不一一说明。
[0227]
采用上述方法,多个桥接系统都可以竞争监听区块链节点上相关交易的执行结果,并生成相应的交易发送给对应的区块链系统,若区块链系统验证交易中的信息未被篡改则可以基于桥接系统奖励,可以促进桥接系统传递第一区块链系统与第二区块链系统之间的信息,提高信息同步效率,也可以在一定程度上防止桥接系统恶意篡改交易过程中的相关信息,提高交易同步的安全性、可靠性。
[0228]
与前述跨区块链的交易同步方法的实施例相对应,本说明书还提供了跨区块链的交易同步装置的实施例。
[0229]
本说明书跨区块链的交易同步装置的实施例可以应用在服务器上。装置实施例可以通过软件实现,也可以通过硬件或者软硬件结合的方式实现。以软件实现为例,作为一个逻辑意义上的装置,是通过其所在电子设备的处理器将非易失性存储器中对应的计算机程序指令读取到内存中运行形成的。从硬件层面而言,如图6所示,为本说明书跨区块链的交易同步装置所在电子设备的一种硬件结构图,除了图6所示的处理器、内存、网络接口、以及非易失性存储器之外,实施例中装置所在的电子设备通常根据该电子设备的实际功能,还可以包括其他硬件,对此不再赘述。
[0230]
图7是本说明书一示例性实施例示出的一种跨区块链的交易同步装置的框图。
[0231]
请参考图7,所述跨区块链的交易同步装置700可以应用在前述图6所示的电子设备中,包括有:第一冻结交易接收单元710、第一冻结交易执行单元720、第一划拨交易接收单元730、第一划拨交易执行单元740、确认交易接收单元750、确认交易执行单元760。
[0232]
其中,第一冻结交易接收单元710,接收第一冻结交易,所述第一冻结交易中携带待同步的交易信息;
[0233]
第一冻结交易执行单元720,执行所述第一冻结交易,以调用智能合约中的第一冻结逻辑基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第一冻结结果;
[0234]
第一划拨交易接收单元730,桥接系统发送的第一划拨交易,所述第一划拨交易中携带第二区块链系统在确定第一冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行冻结操作得到的第二冻结结果;所述第一冻结结果由桥接系统监听得到;
[0235]
第一划拨交易执行单元740,执行所述第一划拨交易,以调用智能合约中的第一划拨逻辑,在确定所述第二冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第一划拨结果;
[0236]
确认交易接收单元750,接收桥接系统发送的确认交易,所述确认交易中携带第二区块链系统在确定所述第一划拨结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第二划拨结果;所述第一划拨结果由桥接系统监听得到;
[0237]
确认交易执行单元760,执行所述确认交易,以调用智能合约中的确认逻辑,在确定所述第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
[0238]
可选的,所述第一划拨逻辑还用于:
[0239]
验证所述第二冻结结果是否被篡改,以在所述第二冻结结果未被篡改且所述第二冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进
行余额划拨。
[0240]
可选的,在所述第二冻结结果未被篡改的情况下,所述第一划拨交易执行单元740在基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨时:
[0241]
对所述交易信息对应的账户进行解冻;
[0242]
对所述桥接系统对应账户和所述交易信息对应账户进行余额划拨,以从所述交易信息对应账户中的指定账户扣除奖励金额,向桥接系统对应账户转入所述奖励金额。
[0243]
可选的,所述确认逻辑还用于:
[0244]
验证所述第二划拨结果是否被篡改,以在所述第二划拨结果未被篡改且所述第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
[0245]
可选的,所述确认逻辑还用于:
[0246]
验证所述第二划拨结果是否被篡改,以在所述第二划拨结果未被篡改且所述第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
[0247]
可选的,所述第一冻结逻辑还用于:
[0248]
基于所述交易信息对本区块链上对应的账户执行冻结操作之后,判断是否在第一预设时长内接收到桥接系统发送的第一划拨交易;
[0249]
若否,则对所述账户执行解冻操作。
[0250]
可选的,所述第一划拨逻辑还用于:
[0251]
基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨之后,判断是否在第二预设时长内接收到桥接系统发送的确认交易;
[0252]
若否,则撤销对所述账户余额的划拨。
[0253]
可选的,所述第一冻结交易为桥接系统获取到待同步的交易信息后,基于所述待同步的交易信息生成并发送给所述第一区块链系统。
[0254]
可选的,所述交易信息包括交易金额以及对应的转出账户和转入账户,所述第一冻结交易执行单元720在基于所述交易信息对本区块链上对应的账户执行冻结操作,包括:
[0255]
对本区块链上所述转出账户中的所述交易金额进行冻结。
[0256]
图8是本说明书一示例性实施例示出的一种跨区块链的交易同步装置的框图。
[0257]
请参考图8,所述跨区块链的交易同步装置800可以应用在前述图6所示的电子设备中,包括有:第二冻结交易接收单元810、第二冻结交易执行单元820、第二划拨交易接收单元830、第二划拨交易执行单元840。
[0258]
其中,第二冻结交易接收单元810,接收桥接系统发送的第二冻结交易,所述第二冻结交易中携带待同步的交易信息和第一区块链系统对其区块链上所述交易信息对应的账户执行冻结操作得到的第一冻结结果;
[0259]
第二冻结交易执行单元820,执行第二冻结交易,以调用智能合约中的第二冻结逻辑,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第二冻结结果;
[0260]
第二划拨交易接收单元830,接收桥接系统发送的第二划拨交易,所述第二划拨交易中携带第一区块链系统在确定第二冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第一划拨结果;所述第二冻结结果由桥接系统监听得到;
[0261]
第二划拨交易执行单元840,执行第二划拨交易,以调用智能合约中的第二划拨逻辑,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第二划拨结果,以供第一区块链系统在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
[0262]
可选的,所述第二冻结逻辑还用于:
[0263]
验证所述第一冻结结果是否被篡改,以在所述第一冻结结果未被篡改且所述第一冻结结果为成功的情况下基于所述交易信息对本区块链上对应的账户执行冻结操作。
[0264]
可选的,所述第二划拨逻辑还用于:
[0265]
验证所述第一划拨结果是否被篡改,以在所述第一划拨结果未被篡改且所述第一划拨结果为成功的情况下基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨。
[0266]
可选的,在所述第一划拨结果未被篡改的情况下,所述第二划拨交易执行单元840在基于所述交易信息对本区块链上对应的账户并执行解冻操作并进行余额划拨时:
[0267]
对所述交易信息对应的账户进行解冻;
[0268]
对所述桥接系统对应账户和所述交易信息对应账户进行余额划拨,以从所述交易信息对应账户中的指定账户扣除奖励金额,向桥接系统对应账户转入所述奖励金额。
[0269]
可选的,所述第二冻结逻辑还用于:
[0270]
基于所述交易信息对本区块链上对应的账户执行冻结操作之后,判断是否在第三预设时长内接收到桥接系统发送的第二划拨交易;
[0271]
若否,则对所述账户执行解冻操作。
[0272]
可选的,所述交易信息包括交易金额以及对应的转出账户和转入账户,所述第二冻结交易执行单元820在基于所述交易信息对本区块链上对应的账户执行冻结操作时:
[0273]
对本区块链上所述转出账户中的所述交易金额进行冻结。
[0274]
图9是本说明书一示例性实施例示出的一种跨区块链的交易同步装置的框图。
[0275]
请参考图9,所述跨区块链的交易同步装置900可以应用在前述图6所示的电子设备中,包括有:第一冻结交易发送单元910、第一冻结结果监听单元920、第二冻结交易发送单元930、第二冻结结果监听单元940、第一划拨交易发送单元950、第一划拨结果监听单元960、第二划拨交易发送单元970、第二划拨结果监听单元980、确认交易发送单元990。
[0276]
其中,第一冻结结果监听单元920,监听到第一区块链系统对其区块链上待同步的交易信息对应账户执行冻结操作得到的第一冻结结果;
[0277]
第二冻结交易发送单元930,基于所述待同步的交易信息和所述第一冻结结果生成第二冻结交易,并向第二区块链系统发送所述第二冻结交易;
[0278]
第二冻结结果监听单元940,监听到第二区块链系统的第二冻结结果;所述第二冻结结果为第二区块链系统执行所述第二冻结交易,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行冻结操作得到;
[0279]
第一划拨交易发送单元950,基于所述第二冻结结果生成第一划拨交易,并向第一区块链系统发送所述第一划拨交易;
[0280]
第一划拨结果监听单元960,监听到第一区块链系统的第一划拨结果;所述第一划拨结果为第一区块链系统执行所述第一划拨交易,在确定所述第二冻结结果为成功的情况
下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
[0281]
第二划拨交易发送单元970,基于所述第一划拨结果生成第二划拨交易,并向第二区块链系统发送所述第二划拨交易;
[0282]
第二划拨结果监听单元980,监听到第二区块链系统的第二划拨结果;所述第二划拨结果为第二区块链系统执行所述第二划拨交易,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
[0283]
确认交易发送单元990,基于所述第二划拨结果生成确认交易,并向第一区块链系统发送所述确认交易,以使第一区块链在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
[0284]
可选的,还包括第一冻结交易发送单元910:
[0285]
获取待同步的交易信息;
[0286]
生成第一冻结交易,所述第一冻结交易中携带所述交易信息;
[0287]
向第一区块链系统发送所述第一冻结交易。
[0288]
上述装置中各个单元的功能和作用的实现过程具体详见上述方法中对应步骤的实现过程,在此不再赘述。
[0289]
对于装置实施例而言,由于其基本对应于方法实施例,所以相关之处参见方法实施例的部分说明即可。以上所描述的装置实施例仅仅是示意性的,其中所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部模块来实现本说明书方案的目的。本领域普通技术人员在不付出创造性劳动的情况下,即可以理解并实施。
[0290]
上述实施例阐明的系统、装置、模块或单元,具体可以由计算机芯片或实体实现,或者由具有某种功能的产品来实现。一种典型的实现设备为计算机,计算机的具体形式可以是个人计算机、膝上型计算机、蜂窝电话、相机电话、智能电话、个人数字助理、媒体播放器、导航设备、电子邮件收发设备、游戏控制台、平板计算机、可穿戴设备或者这些设备中的任意几种设备的组合。
[0291]
与前述跨区块链的交易同步方法的实施例相对应,本说明书还提供一种跨区块链的交易同步装置,该装置包括:处理器以及用于存储机器可执行指令的存储器。其中,处理器和存储器通常借由内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
[0292]
在本实施例中,通过读取并执行所述存储器存储的与跨区块链的交易同步逻辑对应的机器可执行指令,所述处理器被促使:
[0293]
接收第一冻结交易,所述第一冻结交易中携带待同步的交易信息;
[0294]
执行所述第一冻结交易,以调用智能合约中的第一冻结逻辑基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第一冻结结果;
[0295]
接收桥接系统发送的第一划拨交易,所述第一划拨交易中携带第二区块链系统在确定第一冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行冻结操作得到的第二冻结结果;所述第一冻结结果由桥接系统监听得到;
[0296]
执行所述第一划拨交易,以调用智能合约中的第一划拨逻辑,在确定所述第二冻
结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第一划拨结果;
[0297]
接收桥接系统发送的确认交易,所述确认交易中携带第二区块链系统在确定所述第一划拨结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第二划拨结果;所述第一划拨结果由桥接系统监听得到;
[0298]
执行所述确认交易,以调用智能合约中的确认逻辑,在确定所述第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
[0299]
可选的,所述第一划拨逻辑还用于:
[0300]
验证所述第二冻结结果是否被篡改,以在所述第二冻结结果未被篡改且所述第二冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨。
[0301]
可选的,在所述第二冻结结果未被篡改的情况下,在基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨时,所述处理器被促使:
[0302]
对所述交易信息对应的账户进行解冻;
[0303]
对所述桥接系统对应账户和所述交易信息对应账户进行余额划拨,以从所述交易信息对应账户中的指定账户扣除奖励金额,向桥接系统对应账户转入所述奖励金额。
[0304]
可选的,所述确认逻辑还用于:
[0305]
验证所述第二划拨结果是否被篡改,以在所述第二划拨结果未被篡改且所述第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
[0306]
可选的,所述第一冻结逻辑还用于:
[0307]
基于所述交易信息对本区块链上对应的账户执行冻结操作之后,判断是否在第一预设时长内接收到桥接系统发送的第一划拨交易;
[0308]
若否,则对所述账户执行解冻操作。
[0309]
可选的,所述第一划拨逻辑还用于:
[0310]
基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨之后,判断是否在第二预设时长内接收到桥接系统发送的确认交易;
[0311]
若否,则撤销对所述账户余额的划拨。
[0312]
可选的,所述第一冻结交易为桥接系统获取到待同步的交易信息后,基于所述待同步的交易信息生成并发送给所述第一区块链系统。
[0313]
可选的,所述交易信息包括交易金额以及对应的转出账户和转入账户,所述基于所述交易信息对本区块链上对应的账户执行冻结操作,包括:
[0314]
对本区块链上所述转出账户中的所述交易金额进行冻结。
[0315]
与前述跨区块链的交易同步方法的实施例相对应,本说明书还提供一种跨区块链的交易同步装置,该装置包括:处理器以及用于存储机器可执行指令的存储器。其中,处理器和存储器通常借由内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
[0316]
在本实施例中,通过读取并执行所述存储器存储的与跨区块链的交易同步逻辑对应的机器可执行指令,所述处理器被促使:
[0317]
接收桥接系统发送的第二冻结交易,所述第二冻结交易中携带待同步的交易信息
和第一区块链系统对其区块链上所述交易信息对应的账户执行冻结操作得到的第一冻结结果;
[0318]
执行第二冻结交易,以调用智能合约中的第二冻结逻辑,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第二冻结结果;
[0319]
接收桥接系统发送的第二划拨交易,所述第二划拨交易中携带第一区块链系统在确定第二冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第一划拨结果;所述第二冻结结果由桥接系统监听得到;
[0320]
执行第二划拨交易,以调用智能合约中的第二划拨逻辑,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第二划拨结果,以供第一区块链系统在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
[0321]
可选的,所述第二冻结逻辑还用于:
[0322]
验证所述第一冻结结果是否被篡改,以在所述第一冻结结果未被篡改且所述第一冻结结果为成功的情况下基于所述交易信息对本区块链上对应的账户执行冻结操作。
[0323]
可选的,所述第二划拨逻辑还用于:
[0324]
验证所述第一划拨结果是否被篡改,以在所述第一划拨结果未被篡改且所述第一划拨结果为成功的情况下基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨。
[0325]
可选的,在所述第一划拨结果未被篡改的情况下,在基于所述交易信息对本区块链上对应的账户并执行解冻操作并进行余额划拨时,所述处理器被促使:
[0326]
对所述交易信息对应的账户进行解冻;
[0327]
对所述桥接系统对应账户和所述交易信息对应账户进行余额划拨,以从所述交易信息对应账户中的指定账户扣除奖励金额,向桥接系统对应账户转入所述奖励金额。
[0328]
可选的,所述第二冻结逻辑还用于:
[0329]
基于所述交易信息对本区块链上对应的账户执行冻结操作之后,判断是否在第三预设时长内接收到桥接系统发送的第二划拨交易;
[0330]
若否,则对所述账户执行解冻操作。
[0331]
可选的,所述交易信息包括交易金额以及对应的转出账户和转入账户,在基于所述交易信息对本区块链上对应的账户执行冻结操作时,所述处理器被促使:
[0332]
对本区块链上所述转出账户中的所述交易金额进行冻结。
[0333]
与前述跨区块链的交易同步方法的实施例相对应,本说明书还提供一种跨区块链的交易同步装置,该装置包括:处理器以及用于存储机器可执行指令的存储器。其中,处理器和存储器通常借由内部总线相互连接。在其他可能的实现方式中,所述设备还可能包括外部接口,以能够与其他设备或者部件进行通信。
[0334]
在本实施例中,通过读取并执行所述存储器存储的与跨区块链的交易同步逻辑对应的机器可执行指令,所述处理器被促使:
[0335]
监听到第一区块链系统对其区块链上待同步的交易信息对应账户执行冻结操作得到的第一冻结结果;
[0336]
基于所述待同步的交易信息和所述第一冻结结果生成第二冻结交易,并向第二区块链系统发送所述第二冻结交易;
[0337]
监听到第二区块链系统的第二冻结结果;所述第二冻结结果为第二区块链系统执行所述第二冻结交易,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行冻结操作得到;
[0338]
基于所述第二冻结结果生成第一划拨交易,并向第一区块链系统发送所述第一划拨交易;
[0339]
监听到第一区块链系统的第一划拨结果;所述第一划拨结果为第一区块链系统执行所述第一划拨交易,在确定所述第二冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
[0340]
基于所述第一划拨结果生成第二划拨交易,并向第二区块链系统发送所述第二划拨交易;
[0341]
监听到第二区块链系统的第二划拨结果;所述第二划拨结果为第二区块链系统执行所述第二划拨交易,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
[0342]
基于所述第二划拨结果生成确认交易,并向第一区块链系统发送所述确认交易,以使第一区块链在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
[0343]
可选的,所述处理器还被促使:
[0344]
获取待同步的交易信息;
[0345]
生成第一冻结交易,所述第一冻结交易中携带所述交易信息;
[0346]
向第一区块链系统发送所述第一冻结交易。
[0347]
与前述跨区块链的交易同步方法的实施例相对应,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下步骤:
[0348]
接收第一冻结交易,所述第一冻结交易中携带待同步的交易信息;
[0349]
执行所述第一冻结交易,以调用智能合约中的第一冻结逻辑基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第一冻结结果;
[0350]
接收桥接系统发送的第一划拨交易,所述第一划拨交易中携带第二区块链系统在确定第一冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行冻结操作得到的第二冻结结果;所述第一冻结结果由桥接系统监听得到;
[0351]
执行所述第一划拨交易,以调用智能合约中的第一划拨逻辑,在确定所述第二冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第一划拨结果;
[0352]
接收桥接系统发送的确认交易,所述确认交易中携带第二区块链系统在确定所述第一划拨结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第二划拨结果;所述第一划拨结果由桥接系统监听得到;
[0353]
执行所述确认交易,以调用智能合约中的确认逻辑,在确定所述第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
[0354]
可选的,所述第一划拨逻辑还用于:
[0355]
验证所述第二冻结结果是否被篡改,以在所述第二冻结结果未被篡改且所述第二冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨。
[0356]
可选的,在所述第二冻结结果未被篡改的情况下,所述基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,包括:
[0357]
对所述交易信息对应的账户进行解冻;
[0358]
对所述桥接系统对应账户和所述交易信息对应账户进行余额划拨,以从所述交易信息对应账户中的指定账户扣除奖励金额,向桥接系统对应账户转入所述奖励金额。
[0359]
可选的,所述确认逻辑还用于:
[0360]
验证所述第二划拨结果是否被篡改,以在所述第二划拨结果未被篡改且所述第二划拨结果为成功的情况下,确定所述待同步的交易信息同步完毕。
[0361]
可选的,所述第一冻结逻辑还用于:
[0362]
基于所述交易信息对本区块链上对应的账户执行冻结操作之后,判断是否在第一预设时长内接收到桥接系统发送的第一划拨交易;
[0363]
若否,则对所述账户执行解冻操作。
[0364]
可选的,所述第一划拨逻辑还用于:
[0365]
基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨之后,判断是否在第二预设时长内接收到桥接系统发送的确认交易;
[0366]
若否,则撤销对所述账户余额的划拨。
[0367]
可选的,所述第一冻结交易为桥接系统获取到待同步的交易信息后,基于所述待同步的交易信息生成并发送给所述第一区块链系统。
[0368]
可选的,所述交易信息包括交易金额以及对应的转出账户和转入账户,所述基于所述交易信息对本区块链上对应的账户执行冻结操作,包括:
[0369]
对本区块链上所述转出账户中的所述交易金额进行冻结。
[0370]
与前述跨区块链的交易同步方法的实施例相对应,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下步骤:
[0371]
接收桥接系统发送的第二冻结交易,所述第二冻结交易中携带待同步的交易信息和第一区块链系统对其区块链上所述交易信息对应的账户执行冻结操作得到的第一冻结结果;
[0372]
执行第二冻结交易,以调用智能合约中的第二冻结逻辑,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行冻结操作,得到第二冻结结果;
[0373]
接收桥接系统发送的第二划拨交易,所述第二划拨交易中携带第一区块链系统在确定第二冻结结果为成功的情况下,对其区块链上所述交易信息对应的账户执行解冻操作并进行余额划拨得到的第一划拨结果;所述第二冻结结果由桥接系统监听得到;
[0374]
执行第二划拨交易,以调用智能合约中的第二划拨逻辑,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨,得到第二划拨结果,以供第一区块链系统在第二划拨结果为成功的情况下确定所述
待同步的交易信息同步完毕。
[0375]
可选的,所述第二冻结逻辑还用于:
[0376]
验证所述第一冻结结果是否被篡改,以在所述第一冻结结果未被篡改且所述第一冻结结果为成功的情况下基于所述交易信息对本区块链上对应的账户执行冻结操作。
[0377]
可选的,所述第二划拨逻辑还用于:
[0378]
验证所述第一划拨结果是否被篡改,以在所述第一划拨结果未被篡改且所述第一划拨结果为成功的情况下基于所述交易信息对本区块链上对应的账户执行解冻操作并进行余额划拨。
[0379]
可选的,在所述第一划拨结果未被篡改的情况下,所述基于所述交易信息对本区块链上对应的账户并执行解冻操作并进行余额划拨,包括:
[0380]
对所述交易信息对应的账户进行解冻;
[0381]
对所述桥接系统对应账户和所述交易信息对应账户进行余额划拨,以从所述交易信息对应账户中的指定账户扣除奖励金额,向桥接系统对应账户转入所述奖励金额。
[0382]
可选的,所述第二冻结逻辑还用于:
[0383]
基于所述交易信息对本区块链上对应的账户执行冻结操作之后,判断是否在第三预设时长内接收到桥接系统发送的第二划拨交易;
[0384]
若否,则对所述账户执行解冻操作。
[0385]
可选的,所述交易信息包括交易金额以及对应的转出账户和转入账户,所述基于所述交易信息对本区块链上对应的账户执行冻结操作,包括:
[0386]
对本区块链上所述转出账户中的所述交易金额进行冻结。
[0387]
与前述跨区块链的交易同步方法的实施例相对应,本说明书还提供一种计算机可读存储介质,所述计算机可读存储介质上存储有计算机程序,该程序被处理器执行时实现以下步骤:
[0388]
监听到第一区块链系统对其区块链上待同步的交易信息对应账户执行冻结操作得到的第一冻结结果;
[0389]
基于所述待同步的交易信息和所述第一冻结结果生成第二冻结交易,并向第二区块链系统发送所述第二冻结交易;
[0390]
监听到第二区块链系统的第二冻结结果;所述第二冻结结果为第二区块链系统执行所述第二冻结交易,在确定所述第一冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行冻结操作得到;
[0391]
基于所述第二冻结结果生成第一划拨交易,并向第一区块链系统发送所述第一划拨交易;
[0392]
监听到第一区块链系统的第一划拨结果;所述第一划拨结果为第一区块链系统执行所述第一划拨交易,在确定所述第二冻结结果为成功的情况下,基于所述交易信息对其区块链上对应的账户执行解冻操作并进行余额划拨得到;
[0393]
基于所述第一划拨结果生成第二划拨交易,并向第二区块链系统发送所述第二划拨交易;
[0394]
监听到第二区块链系统的第二划拨结果;所述第二划拨结果为第二区块链系统执行所述第二划拨交易,在确定所述第一划拨结果为成功的情况下,基于所述交易信息对其
区块链上对应的账户执行解冻操作并进行余额划拨得到;
[0395]
基于所述第二划拨结果生成确认交易,并向第一区块链系统发送所述确认交易,以使第一区块链在第二划拨结果为成功的情况下确定所述待同步的交易信息同步完毕。
[0396]
可选的,还包括:
[0397]
获取待同步的交易信息;
[0398]
生成第一冻结交易,所述第一冻结交易中携带所述交易信息;
[0399]
向第一区块链系统发送所述第一冻结交易。
[0400]
上述对本说明书特定实施例进行了描述。其它实施例在所附权利要求书的范围内。在一些情况下,在权利要求书中记载的动作或步骤可以按照不同于实施例中的顺序来执行并且仍然可以实现期望的结果。另外,在附图中描绘的过程不一定要求示出的特定顺序或者连续顺序才能实现期望的结果。在某些实施方式中,多任务处理和并行处理也是可以的或者可能是有利的。
[0401]
以上所述仅为本说明书的较佳实施例而已,并不用以限制本说明书,凡在本说明书的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本说明书保护的范围之内。