跨链交换的托管方法和系统与流程

文档序号:25657090发布日期:2021-06-29 22:16阅读:94来源:国知局
跨链交换的托管方法和系统与流程

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.图1为现有技术hashlock模型的跨链交换方式示意图。
36.图2为本申请实施例提供的一种跨链交换的托管方法的流程示意图。
37.图3为与图2所示跨链交换的托管方法对应的跨链交换的托管系统的结构示意图。
38.图4为本申请实施例提供的另一种跨链交换的托管方法的流程示意图。
39.图5为与图4所示跨链交换的托管方法对应的跨链交换的托管系统的结构示意图。
40.图6为本申请实施例提供的另一种跨链交换的托管方法的流程示意图。
41.图7为本申请实施例提供的一种跨链交换的托管方法的流程示意图。
具体实施方式
42.下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
43.需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
44.数据共享系统是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点,多个节点可以是指数据共享系统中各个客户端。每个节点在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便可以根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。
45.对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为ip(internet protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以ip地址为例进行说明。
46.节点名称节点标识节点1117.114.151.174节点2117.116.189.145
……
节点n119.123.789.258
47.数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特
征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
48.在一些区块链网络中,实施密码学以维护交易的隐私。例如,如果两个节点想要保持交易隐私,以使得区块链网络中的其他节点不能看出交易的细节,则这两个节点可对交易数据进行加密处理。加密处理的示例包括但不限于对称加密和非对称加密。对称加密是指使用单个密钥既进行加密(从明文生成密文)又进行解密(从密文生成明文)的加密处理。在对称加密中,同一密钥可用于多个节点,因此每个节点都可对交易数据进行加密/解密。
49.现有技术中,通过hashlock模型实现跨链交换,hashlock是区块链行业的一种跨链方案模型,网站https://en.bitcoin.it/wiki/hashlock中有记载,该模型具有不需要第三方介入即可完成跨链业务逻辑的能力。
50.传统哈希锁模型中,锁定交易需要具有如下语义:接收方需要提供一个密文,该密文sha256之后与锁定交易中提供的哈希相同;该锁定交易还规定锁定时间,在锁定时间之后发起方可以撤销该笔锁定交易。
51.在完成一次交易的流程中,需要双方执行如图1中的1

>2

>3

>4总共4步,这四步对应的不同的区块链交易,这四笔交易都需要用户在线进行签名。如果交易到一半需要撤销,则需要执行1

>2

>3
’‑
>4’这四步,同样这四步对应的四笔交易也需要用户在线进行签名。假设锁定交易tx1为:alice给bob转账100,那么alice发起交易tx1于区块链后,bob需要在区块链上发起接收操作并提供密文才能获取这100元,那么是否步骤1和4形成一笔交易,步骤2和3形成一笔交易。
52.该模型存在一个问题即资产接收方需要在资产转出方资产转出交易被链上确认之后发起提取操作,如果资产接收方没有及时发起提取操作,资产发送方可以对这笔交易进行撤回。同理针对资产转出方交易在需要撤销交换行为时,需要在交易锁定时间到期之后及时进行资产撤销。针对资产提取和资产撤回的操作,需要用户及时发起对应操作的交易。这种对于用户的要求比较高,用户需要一直在线并且需要及时进行相应操作,由于涉及到资金,这种操作还会需要用户提供签名,对于用户有比较大的操作成本。
53.针对哈希锁模型的缺点,我们发明一种托管的哈希锁模型(跨链交换的托管方法或者跨链交换的托管系统),该模型在用户发起资产锁定的时候可以指定一个托管方,该托管方可以对这笔锁定交易对应的提现交易进行提现,也可以对这笔交易进行赎回,对于用户而言,用户只需要在线发起一笔锁定交易,后续的提现和赎回可以授权托管方进行操作,从而降低用户的操作成本。
54.下面结合本申请实施例中的附图对本申请实施例进行描述。
55.请参阅图2,图2为本申请实施例提供的一种跨链交换的托管方法的流程示意图。该方法可包括:
56.101、第一用户节点通过交换密钥哈希值对第一数字货币进行锁定,生成第一转账区块,以记录交换密钥哈希值和第一数字货币。
57.在本申请实施例中,第一用户节点、第二用户节点和第三用户节点可以为分布式应用程序的用户侧使用的终端(客户端)。具体实现中,上述终端也可称为终端设备,包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算
机或平板计算机之类的其它便携式设备,可以通过应用程序实现定位服务和导航功能。还应当理解的是,在某些实施例中,设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
58.在本申请实施例中,交换密钥可由第一用户节点随机生成,比如生成交换密钥123456,通过哈希算法对其进行计算得到该交换密钥“123456”的哈希值为abc。
59.在本申请实施例中,第一用户节点可以事先考虑要转出多少第一数字货币,然后通过上述交换密钥哈希值对这些第一数字货币进行锁定,想要获取这些第一数字货币,则需要提供与该交换密钥哈希值对应的交换密钥才可以。
60.举例说明,参考图3所示,第一用户节点通过交换密钥哈希值abc对1btc(bitcoin,比特币)进行锁定,并生成第一转账区块。只有提供与交换密钥哈希值abc对应的交换密钥“123456”才可以解锁并获取这1btc。
61.102、第一用户节点将第一转账区块上传至第一数字货币对应的第一区块链上。
62.在本申请实施例中,第一用户节点可以在第一数字货币对应的第一区块链上传该第一转账区块。如果第一数字货币为比特币,则与之对应的第一区块链为比特币区块链;如果第一数字货币为以太币,则与之对应的第一区块链为以太币区块链。
63.103、第二用户节点生成第一托管区块,以记录第二用户节点托管第三用户节点进行与第一用户节点之间的交换业务的托管信息,托管信息包括用于交换的第二数字货币。
64.在本申请实施例中,第二用户节点可以事先与第一用户节点商量或根据惯有规则确定交换上述第一数字货币需要多少第二数字货币。第二用户节点通过第一托管区块,托管第三用户节点进行与第一用户节点之间的交换业务,随后,由第三用户节点代替第二用户节点执行具体的跨链交换操作。
65.104、第三用户节点在第一区块链上检测到第一转账区块后,获取交换密钥哈希值。
66.在本申请实施例中,第三用户节点代替第二用户节点在第一区块链上检测到第一转账区块后,获取上述交换密钥哈希值。
67.105、第三用户节点通过交换密钥哈希值对第二数字货币进行锁定,并生成第二转账区块,以记录交换密钥哈希值和第二数字货币。
68.在本申请实施例中,第三用户节点通过上述交换密钥哈希值对这些第二数字货币进行锁定,想要获取这些第二数字货币,则需要提供与该交换密钥哈希值对应的交换密钥才可以。
69.举例说明,继续参考图3所示,图中第三用户节点在第一区块链上检测到第一转账区块后获取其中的交换密钥哈希值“abc”。第三用户节点通过该交换密钥哈希值“abc”对77eth(ethereum,以太币)进行锁定,并在以太币区块链上生成第二转账区块。只有提供与交换密钥哈希值“abc”对应的交换密钥才可以解锁并获取这77eth。这样在第一用户节点解锁该第二转账区块时,第三用户节点便获取了第一转账区块的交换密钥“123456”。
70.106、第三用户节点将第二转账区块上传至第二数字货币对应的第二区块链上。
71.在本申请实施例中,第三用户节点可以在第二数字货币对应的第二区块链上传该第二转账区块。如果第二数字货币为比特币,则与之对应的第一区块链为比特币区块链;如果第二数字货币为以太币,则与之对应的第一区块链为以太币区块链。
72.可以理解,第一用户节点将记录有交换密钥哈希值和第一数字货币的第一转账区块上传至第一区块链。想要获取第一转账区块中的第一数字货币,则需要提供交换密钥哈希值对应的交换密钥,该交换密钥由第一用户随时生成,因此置有第一用户才知道,除非第一用户告知交换密钥,否则第一转账区块中的第一数字货币不能被获取。要实现第一数字货币和第二数字货币的交换,第二用户节点需要确认用于交换的第二数字货币的数量。由于第二用户节点托管第三用户节点进行与所述第一用户节点之间的交换业务,因此第三用户节点便可以代替第二用户节点获取交换密钥哈希值,生成记录有上述交换密钥哈希值和第二数字货币的第二转账区块,想要获取第二转账区块中的第二数字货币,则需要提供交换密钥哈希值对应的交换密钥。
73.请参阅图4,图4为本申请实施例提供的另一种跨链交换方法的流程示意图。图4所示的方法相较于图2所示的方法还包括:
74.307、第一用户节点在第二区块链上检测到第二转账区块后,通过交换密钥对第二转账区块进行解锁,获取第二数字货币。
75.在本申请实施例中,由于交换密钥是第一用户节点随机生成的,因此置有第一用户节点知晓交换密钥。第一用户节点在第二区块链检测到第二转账区块后,可以通过该交换密钥对第二转账区块进行解锁,获取第二数字货币。
76.举例说明,如图5所示,第一用户节点可以通过交换密钥“123456”对比台币区块链上第二转账区块内的77eth进行解锁和获取。
77.308、第三用户节点在第二区块链上获取第一用户节点输入的交换密钥。
78.在本申请实施例中,在第一用户节点解锁的过程中,第二转账区块的上传者第三用户节点可以获取第一用户节点输入的交换密钥。
79.举例说明,如图5所示,第三用户节点可以在以太币区块链上获取交换密钥“123456”。
80.309、第三用户节点在第一区块链上通过交换密钥对第一转账区块进行解锁,获取第一数字货币。
81.在本申请实施例中,第三用户节点代替第二用户节点通过其获取的交换密钥对第一交换区块中的第一数字货币进行解锁和获取。
82.举例说明,如图5所示,第三用户节点可以通过交换密钥“123456”对比特币区块链上第一转账区块内的1btc进行解锁和获取。
83.可以理解,第三用户节点得到第二用户节点的托管后,可以代替其进行跨链交换操作。第三用户节点在第二区块链上获取第一用户节点输入的交换密钥后,可以通过该交换密钥对第一区块链上的第一转账区块进行解锁,获取其中的第一数字货币。从而安全且高效地实现第一用户节点手中的第一数字货币和第二用户节点手中的第二数字货币的跨链交换。
84.310、第三用户节点将第一数字货币转账给第二用户节点。
85.在本申请实施例中,第三用户节点将这些第一数字货币转账给第二用户节点,从而安全且高效地代替第二用户节点实现与第一用户节点手中的第一数字货币的跨链交换,为第二用户节点节约了跨链交换的时间成本。
86.可以理解,本发明提供一种跨链交换的托管方法,其中,由于第二用户节点托管第
三用户节点进行与所述第一用户节点之间的交换业务,原本第一用户节点和第二用户节点之间的第一数字货币和第二数字货币的跨链交换,由第三用户节点代替第二用户节点执行具体的跨链交换操作。第三用户节点将最终获取的第一数字货币转账给第二用户节点,从而安全且高效地代替第二用户节点实现与第一用户节点手中的第一数字货币的跨链交换,为第二用户节点节约了跨链交换的时间成本。
87.作为一种可选的实施方式,生成第一转账区块之前,跨链交换方法还包括:第一用户节点设定转账时限;第一用户节点通过交换密钥哈希值对第一数字货币进行锁定,生成第一转账区块,以记录交换密钥哈希值和第一数字货币,包括:第一用户节点通过交换密钥哈希值和转账时限对第一数字货币进行锁定,并生成第一转账区块,以记录交换密钥哈希值、转账时限和第一数字货币。
88.在本申请实施例中,第一用户节点不但要随机生成交换密钥,计算该交换密钥的哈希值,还需要预先设定转账时限。第一用户节点可以为第一数字货币的获取设定转账时限,想要获取第一转账区块中的第一数字货币,不仅需要提供交换密钥哈希值对应的交换密钥,还需要在上述转账时限内完成提供交换密钥才能对第一数字货币进行解锁获取。
89.可以理解,第一用户节点可以为第一数字货币的获取设定转账时限,想要获取第一转账区块中的第一数字货币,不仅需要提供交换密钥哈希值对应的交换密钥,还需要在上述转账时限内完成提供交换密钥才能对第一数字货币进行解锁获取。
90.作为一种可选的实施方式,在第一用户节点将第一转账区块上传至第一数字货币对应的第一区块链上之后,在第一用户节点在第二区块链上检测到第二转账区块后,通过交换密钥对第二转账区块进行解锁,获取第二数字货币之前,方法还包括:第一用户节点生成第一撤销区块,以记录第一转账区块所记录的内容失效,并将第一撤销区块上传至第一区块链上。
91.可以理解,第一用户节点将所述第一转账区块上传至所述第一数字货币对应的第一区块链上之后,如果对此次跨链交换反悔,则需要亲自在第一区块链上生成第一撤销区块,以记录所述第一转账区块所记录的内容失效,即第一数字货币不再进行跨链交换。
92.作为一种可选的实施方式,在第三用户节点将第二转账区块上传至第二数字货币对应的第二区块链上之后,在第一用户节点在第二区块链上检测到第二转账区块后,通过交换密钥对第二转账区块进行解锁,获取第二数字货币之前,方法还包括:第二用户节点向第三用户节点发送撤销指令;第三用户节点生成第二撤销区块,以记录第二转账区块所记录的内容失效并将第二撤销区块上传至第二区块链上。
93.可以理解,第二用户节点将所述第二转账区块上传至所述第二数字货币对应的第二区块链上之后,如果对此次跨链交换反悔,则只需要向第三用户节点发送撤销指令即可。第三用户节点将代替第二用户节点在第二区块链上生成第二撤销区块,以记录所述第二转账区块所记录的内容失效,即第二数字货币不再进行跨链交换。再次为第二用户节点节约了跨链交换撤销操作的时间成本。
94.另一方面,本发明提供一种跨链交换的托管系统,包括:
95.第一区块链、第二区块链、第一用户节点、第二用户节点、第三用户节点;
96.所述第一用户节点,用于通过交换密钥哈希值对第一数字货币进行锁定,生成第一转账区块,以记录所述交换密钥哈希值和所述第一数字货币;将所述第一转账区块上传
至所述第一数字货币对应的第一区块链上;
97.所述第二用户节点,用于生成第一托管区块,以记录所述第二用户节点托管第三用户节点进行与所述第一用户节点之间的交换业务的托管信息,所述托管信息包括用于交换的第二数字货币;
98.所述第三用户节点,用于在所述第一区块链上检测到所述第一转账区块后,获取所述交换密钥哈希值;通过所述交换密钥哈希值对所述第二数字货币进行锁定,并生成第二转账区块,以记录所述交换密钥哈希值和所述第二数字货币;将所述第二转账区块上传至所述第二数字货币对应的第二区块链上。
99.作为一种可选的实施方式,所述第一用户节点,还用于在所述第二区块链上检测到所述第二转账区块后,通过交换密钥对所述第二转账区块进行解锁,获取所述第二数字货币;所述第三用户节点,还用于在所述第二区块链上获取所述第一用户节点输入的所述交换密钥;在所述第一区块链上通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币;将所述第一数字货币转账给所述第二用户节点。
100.作为一种可选的实施方式,所述第一用户节点,还用于生成第一撤销区块,以记录所述第一转账区块所记录的内容失效,并将所述第一撤销区块上传至所述第一区块链上。
101.作为一种可选的实施方式,所述第二用户节点,还用于向所述第三用户节点发送撤销指令;所述第三用户节点,还用于生成第二撤销区块,以记录所述第二转账区块所记录的内容失效并将所述第二撤销区块上传至所述第二区块链上。
102.可以理解,本发明所提供的跨链交换的托管系统的具体实施方式可根据上述跨链交换的托管方法来具体实现,此处不再赘述。通过采用以上方案,实现了区块链的托管跨链交易。
103.在传统的哈希锁模型中,锁定交易在发起的时候指定了必须由接收人进行资产的提取,并且指定了必须由发起人对这笔锁定交易进行撤销,本申请的模型中,在发起锁定交易的时候可以指定一个托管方,该托管方可以对这笔锁定交易进行撤销,同时对于这笔锁定交易的对手方锁定交易进行提取,同时保留发起方提取和撤销的权限,这样扩展了传统的哈希锁模型。请结合参阅图6,基于托管的哈希锁模型如下:
104.alice委托了peter进行托管其业务:
105.此时alice和bob之间有交易:
106.那么bob给alice发tx1(步骤1)(其实是发到peter那里),这个步骤以后,有三种执行步骤,具体如下(1)、(2)、(3)所示:
107.(1)1
‑2‑3‑
4。.
108.(2)1
‑3’
(这个的意思就是说,bob发钱以后,他就后悔了,那么他直接撤回)。
109.(3)1
‑2‑4’
(这个的意思是说,alice发钱了以后,她后悔了,那么她撤回他发出去的钱,但是,由于她的业务是委托了peter,所以他发出去的钱都到达peter那里,他需要赎回的话也是从peter那里赎回)。
110.如此,与传统的哈希锁相比,alice只需要在线提交一笔交易即可完成资产的交换。由于哈希锁模型中需要提供一个密文才能进行提现,对于使用托管模型一方来说,由于密文是哈希锁模型的核心,具有非常高的安全性要求,不能进行托管,而最开始只有密文的一方是由第一笔锁定交易方持有,所以从哈希锁模型中的定义托管模型而言,只有交易接
收方可以使用托管模型。同时由于托管模型对于提现和撤销设置了托管方,该模型只能在支持智能合约的区块链中实现,如以太坊、eos等平台。
111.在操作中,传统哈希锁模型中,由于alice需要在线完成交易,在一些区块链中操作时间较长,所以流程由bob在链上发送一笔锁定交易之后,alice才能获取哈希锁。在使用托管的哈希锁模型中,alice可以直接先bob发起获取哈希锁动作,当bob同意时返回哈希锁,alice根据这个哈希锁直接构建锁定交易即可。
112.但是需要说明的是,在执行图6中的1之前,用户alice与用户bob之间是要预先协商好哈希锁和交易(具体是哪一笔交易)。如图7所示,alice要委托peter,也需要告知区块链(官方),具体的流程为:
113.用户peter告诉alice说要委托他的话需要提供交易的哈希锁和具体是什么交易(锁定交易,可以理解成类似于订单),之后alice就会跟与她进行交易的bob进行协商,协商过程为图7中的步骤:1
‑2‑3‑4‑
5,这个时候alice就会知道交易的哈希锁和锁定交易具体是什么,就把这个哈希锁和锁定交易发到区块链,peter从区块链上得到哈希锁和锁定交易,peter就有权在区块链上直接对接bob,alice发锁定交易tx2到bob那里后,peter就可以代alice与bob进行交易(帮alice在预定时间内(2h)收钱)。
114.如此,使用托管的哈希锁模型利用了哈希锁的优势,同时降低了用户使用哈希锁的操作成本。传统哈希锁的业务只能做到用户之间在线交换,使用双方需要一直注意交易的进度,托管的哈希锁模型扩展了哈希锁的使用场景,由于作为用户可以只需要发布一笔交易即可完成交易,我们拓展了哈希锁的业务场景,可以做到支持用户的一键兑换,用户在提交一笔兑换的时候实际上完成了一笔锁定交易,即使用户离线也可以完成资产的兑换。
115.最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
当前第1页1 2 3 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1