CN113159742A - 一种跨链交换方法和系统 - Google Patents
一种跨链交换方法和系统 Download PDFInfo
- Publication number
- CN113159742A CN113159742A CN202011223073.9A CN202011223073A CN113159742A CN 113159742 A CN113159742 A CN 113159742A CN 202011223073 A CN202011223073 A CN 202011223073A CN 113159742 A CN113159742 A CN 113159742A
- Authority
- CN
- China
- Prior art keywords
- user node
- block
- digital currency
- exchange key
- transfer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
- 238000000034 method Methods 0.000 title claims abstract description 53
- 238000012546 transfer Methods 0.000 claims abstract description 151
- 239000003550 marker Substances 0.000 description 9
- 238000010586 diagram Methods 0.000 description 7
- 238000010276 construction Methods 0.000 description 4
- 230000009286 beneficial effect Effects 0.000 description 2
- 230000005540 biological transmission Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 238000012790 confirmation Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 238000006467 substitution reaction Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/04—Payment circuits
- G06Q20/06—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme
- G06Q20/065—Private payment circuits, e.g. involving electronic currency used among participants of a common payment scheme using e-cash
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/08—Payment architectures
- G06Q20/10—Payment architectures specially adapted for electronic funds transfer [EFT] systems; specially adapted for home banking systems
- G06Q20/102—Bill distribution or payments
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/22—Payment schemes or models
- G06Q20/223—Payment schemes or models based on the use of peer-to-peer networks
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/382—Payment protocols; Details thereof insuring higher security of transaction
- G06Q20/3829—Payment protocols; Details thereof insuring higher security of transaction involving key management
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/40—Authorisation, e.g. identification of payer or payee, verification of customer or shop credentials; Review and approval of payers, e.g. check credit lines or negative lists
- G06Q20/407—Cancellation of a transaction
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q20/00—Payment architectures, schemes or protocols
- G06Q20/38—Payment protocols; Details thereof
- G06Q20/42—Confirmation, e.g. check or permission by the legal debtor of payment
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q40/00—Finance; Insurance; Tax strategies; Processing of corporate or income taxes
- G06Q40/04—Trading; Exchange, e.g. stocks, commodities, derivatives or currency exchange
Landscapes
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Engineering & Computer Science (AREA)
- Finance (AREA)
- Physics & Mathematics (AREA)
- Strategic Management (AREA)
- General Business, Economics & Management (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Security & Cryptography (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明提供一种跨链交换方法和系统,其中,第一用户节点将记录有交换密钥哈希值和第一数字货币的第一转账区块上传至第一区块链;第二用户节点将记录有上述交换密钥哈希值和第二数字货币的第二转账区块上传至第二区块链。第一用户节点可以通过自己设置的交换密钥对第二区块链上的第二转账区块进行解锁,获取其中的第二数字货币;第二用户节点在第二区块链上获取该交换密钥后,可以通过该交换密钥对第一区块链上的第一转账区块进行解锁,获取其中的第一数字货币。从而安全且高效地实现第一用户节点手中的第一数字货币和第二用户节点手中的第二数字货币的跨链交换。
Description
技术领域
本发明涉及区块链技术领域,具体涉及一种跨链交换方法和系统。
背景技术
区块链是用于存储交易的去中心化或至少部分去中心化的数据结构,而区块链网络是通过广播、验证和确认交易等来管理、更新和维护一个或多个区块链的计算节点的网络。如上所述,区块链网络可作为公有区块链网络、私有区块链网络或联盟区块链网络被提供。
在互联网全球化的发展趋势下,单一区块链越来越难以满足多样的交易服务的需求。为了应对复杂多变的云计算交易服务挑战,一些单位提出了跨链交换的概念,即在不同的区块链上进行资金交换,以实现丰富的商业应用。例如,用户用某一条链上的数字货币兑换成另一条链上的数字货币。
然而,区块链封闭的信任模型使得不同链之间不能够直接交互,而链之间的互通性很大程度限制了区块链的应用空间。所以如何安全高效地进行跨链交换是实现区块链价值互联的关键。
发明内容
针对现有技术中的缺陷,本发明提供一种跨链交换方法和系统。
一方面,本发明提供一种跨链交换方法,包括:
第一用户节点随机生成交换密钥,通过哈希算法对所述交换密钥进行计算,生成交换密钥哈希值;
所述第一用户节点通过所述交换密钥哈希值对第一数字货币进行锁定,并生成第一转账区块,以记录所述交换密钥哈希值和所述第一数字货币;
所述第一用户节点将所述第一转账区块上传至所述第一数字货币对应的第一区块链上;
第二用户节点通过所述交换密钥哈希值对第二数字货币进行锁定,并生成第二转账区块,以记录所述交换密钥哈希值和所述第二数字货币;
所述第二用户节点将所述第二转账区块上传至所述第二数字货币对应的第二区块链上。
可以理解,第一用户节点将记录有交换密钥哈希值和第一数字货币的第一转账区块上传至第一区块链。想要获取第一转账区块中的第一数字货币,则需要提供交换密钥哈希值对应的交换密钥,该交换密钥由第一用户随时生成,因此置有第一用户才知道,除非第一用户告知交换密钥,否则第一转账区块中的第一数字货币不能被获取。第二用户节点将记录有上述交换密钥哈希值和第二数字货币的第二转账区块上传至第二区块链。想要获取第二转账区块中的第二数字货币,则需要提供交换密钥哈希值对应的交换密钥。由于该交换密钥置有第一用户才知道,因此,只能由第一用户来获取上述第二数字货币。
作为一种可选的实施方式,所述跨链交换方法还包括:所述第一用户节点在所述第二区块链检测到所述第二转账区块后,通过所述交换密钥对所述第二转账区块进行解锁,获取所述第二数字货币。
可以理解,第一用户节点可以通过自己设置的交换密钥对第二区块链上的第二转账区块进行解锁,获取其中的第二数字货币。在第一用户解锁该第二转账区块的同时,该交换密钥可以被第二用户节点获取,以便其用于对第一转账区块的解锁。
作为一种可选的实施方式,所述跨链交换方法还包括:所述第二用户节点在所述第二区块链上获取所述第一用户节点输入的所述交换密钥;所述第二用户节点在所述第一区块链检测到所述第一转账区块后,通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币。
可以理解,第二用户节点在第二区块链上获取第一用户节点输入的交换密钥后,可以通过该交换密钥对第一区块链上的第一转账区块进行解锁,获取其中的第一数字货币。从而安全且高效地实现第一用户节点手中的第一数字货币和第二用户节点手中的第二数字货币的跨链交换。
作为一种可选的实施方式,所述生成第一转账区块之前,所述跨链交换方法还包括:所述第一用户节点设定转账时限;所述第一用户节点通过所述交换密钥哈希值对第一数字货币进行锁定,并生成第一转账区块,以记录所述交换密钥哈希值和所述第一数字货币,包括:所述第一用户节点通过所述交换密钥哈希值和所述转账时限对第一数字货币进行锁定,并生成第一转账区块,以记录所述交换密钥哈希值、所述转账时限和所述第一数字货币。
作为一种可选的实施方式,所述第二用户节点在所述第一区块链检测到所述第一转账区块后,通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币,包括:所述第二用户节点在所述第一区块链检测到所述第一转账区块后,在所述转账时限内通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币。
可以理解,第一用户节点可以为第一数字货币的获取设定转账时限,想要获取第一转账区块中的第一数字货币,不仅需要提供交换密钥哈希值对应的交换密钥,还需要在上述转账时限内完成提供交换密钥才能对第一数字货币进行解锁获取。
作为一种可选的实施方式,所述跨链交换方法还包括:所述第二用户节点在所述转账时限内未对所述第一转账区块进行解锁,则返回所述第一数字货币给所述第一用户节点。
可以理解,如果在转账时限内上述第一转账区块中的第一数字货币没有被解锁,那么第一区块链将第一转账区块中的第一数字货币返回给第一用户节点,跨链交换失败。
另一方面,本发明提供一种跨链交换系统,包括:
第一区块链、第二区块链、第一用户节点和第二用户节点;
所述第一用户节点,用于随机生成交换密钥,通过哈希算法对所述交换密钥进行计算,生成交换密钥哈希值;通过所述交换密钥哈希值对第一数字货币进行锁定,并生成第一转账区块,以记录所述交换密钥哈希值和所述第一数字货币;将所述第一转账区块上传至所述第一数字货币对应的第一区块链上;
所述第二用户节点,用于通过所述交换密钥哈希值对第二数字货币进行锁定,并生成第二转账区块,以记录所述交换密钥哈希值和所述第二数字货币;将所述第二转账区块上传至所述第二数字货币对应的第二区块链上。
作为一种可选的实施方式,所述第一用户节点,还用于在所述第二区块链检测到所述第二转账区块后,通过所述交换密钥对所述第二转账区块进行解锁,获取所述第二数字货币;所述第二用户节点,还用于在所述第二区块链上获取所述第一用户节点输入的所述交换密钥;在所述第一区块链检测到所述第一转账区块后,通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币。
作为一种可选的实施方式,所述第二用户节点,具体用于在所述第一区块链检测到所述第一转账区块后,在所述转账时限内通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币。
作为一种可选的实施方式,所述第一用户节点,还用于在所述第二用户节点在所述转账时限内未对所述第一转账区块进行解锁的情况下,收回所述第一数字货币。
可以理解,本发明所提供的跨链交换系统的具体实施方式可根据上述跨链交换方法来具体实现,此处不再赘述。
本发明的有益效果体现在:
本发明提供一种跨链交换方法和系统。其中,第一用户节点将记录有交换密钥哈希值和第一数字货币的第一转账区块上传至第一区块链;第二用户节点将记录有上述交换密钥哈希值和第二数字货币的第二转账区块上传至第二区块链。第一用户节点可以通过自己设置的交换密钥对第二区块链上的第二转账区块进行解锁,获取其中的第二数字货币;第二用户节点在第二区块链上获取该交换密钥后,可以通过该交换密钥对第一区块链上的第一转账区块进行解锁,获取其中的第一数字货币。从而安全且高效地实现第一用户节点手中的第一数字货币和第二用户节点手中的第二数字货币的跨链交换。
附图说明
为了更清楚地说明本发明具体实施方式或现有技术中的技术方案,下面将对具体实施方式或现有技术描述中所需要使用的附图作简单地介绍。在所有附图中,类似的元件或部分一般由类似的附图标记标识。附图中,各元件或部分并不一定按照实际的比例绘制。
图1为本申请实施例提供的一种跨链交换方法的流程示意图;
图2为与图1所示跨链交换方法对应的跨链交换系统示意图;
图3为本申请实施例提供的另一种跨链交换方法的流程示意图;
图4为与图3所示跨链交换方法对应的跨链交换系统示意图;
图5为本申请实施例提供的再一种跨链交换方法的流程示意图;
图6为与图5所示跨链交换方法对应的跨链交换系统示意图。
图7为赎回交易构建阶段流程图。
图8为锁定交易阶段流程图。
图9为提现交易阶段流程图。
图10为赎回交易阶段流程图。
具体实施方式
下面将结合附图对本发明技术方案的实施例进行详细的描述。以下实施例仅用于更加清楚地说明本发明的技术方案,因此只作为示例,而不能以此来限制本发明的保护范围。
需要注意的是,除非另有说明,本申请使用的技术术语或者科学术语应当为本发明所属领域技术人员所理解的通常意义。
数据共享系统是指用于进行节点与节点之间数据共享的系统,该数据共享系统中可以包括多个节点,多个节点可以是指数据共享系统中各个客户端。每个节点在进行正常工作可以接收到输入信息,并基于接收到的输入信息维护该数据共享系统内的共享数据。为了保证数据共享系统内的信息互通,数据共享系统中的每个节点之间可以存在信息连接,节点之间可以通过上述信息连接进行信息传输。例如,当数据共享系统中的任意节点接收到输入信息时,数据共享系统中的其他节点便可以根据共识算法获取该输入信息,将该输入信息作为共享数据中的数据进行存储,使得数据共享系统中全部节点上存储的数据均一致。
对于数据共享系统中的每个节点,均具有与其对应的节点标识,而且数据共享系统中的每个节点均可以存储有数据共享系统中其他节点的节点标识,以便后续根据其他节点的节点标识,将生成的区块广播至数据共享系统中的其他节点。每个节点中可维护一个如下表所示的节点标识列表,将节点名称和节点标识对应存储至该节点标识列表中。其中,节点标识可为IP(Internet Protocol,网络之间互联的协议)地址以及其他任一种能够用于标识该节点的信息,表1中仅以IP地址为例进行说明。
节点名称 | 节点标识 |
节点1 | 117.114.151.174 |
节点2 | 117.116.189.145 |
… | … |
节点N | 119.123.789.258 |
数据共享系统中的每个节点均存储一条相同的区块链。区块链由多个区块组成,区块链由多个区块组成,创始块中包括区块头和区块主体,区块头中存储有输入信息特征值、版本号、时间戳和难度值,区块主体中存储有输入信息;创始块的下一区块以创始块为父区块,下一区块中同样包括区块头和区块主体,区块头中存储有当前区块的输入信息特征值、父区块的区块头特征值、版本号、时间戳和难度值,并以此类推,使得区块链中每个区块中存储的区块数据均与父区块中存储的区块数据存在关联,保证了区块中输入信息的安全性。
在一些区块链网络中,实施密码学以维护交易的隐私。例如,如果两个节点想要保持交易隐私,以使得区块链网络中的其他节点不能看出交易的细节,则这两个节点可对交易数据进行加密处理。加密处理的示例包括但不限于对称加密和非对称加密。对称加密是指使用单个密钥既进行加密(从明文生成密文)又进行解密(从密文生成明文)的加密处理。在对称加密中,同一密钥可用于多个节点,因此每个节点都可对交易数据进行加密/解密。
下面结合本申请实施例中的附图对本申请实施例进行描述。
请参阅图1,图1为本申请实施例提供的一种跨链交换方法的流程示意图。该方法可包括:
101、第一用户节点随机生成交换密钥,通过哈希算法对交换密钥进行计算,生成交换密钥哈希值。
在本申请实施例中,第一用户节点和第二用户节点可以为分布式应用程序的用户侧使用的终端(客户端)。具体实现中,上述终端也可称为终端设备,包括但不限于诸如具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的移动电话、膝上型计算机或平板计算机之类的其它便携式设备,可以通过应用程序实现定位服务和导航功能。还应当理解的是,在某些实施例中,设备并非便携式通信设备,而是具有触摸敏感表面(例如,触摸屏显示器和/或触摸板)的台式计算机。
在本申请实施例中,交换密钥可由第一用户节点随机生成,比如生成交换密钥123456,通过哈希算法对其进行计算得到该交换密钥“123456”的哈希值为ABC。
102、第一用户节点通过交换密钥哈希值对第一数字货币进行锁定,并生成第一转账区块,以记录交换密钥哈希值和第一数字货币。
在本申请实施例中,第一用户节点可以事先考虑要转出多少第一数字货币,然后通过上述交换密钥哈希值对这些第一数字货币进行锁定,想要获取这些第一数字货币,则需要提供与该交换密钥哈希值对应的交换密钥才可以。
举例说明,参考图2所示,图2为与图1所示跨链交换方法对应的跨链交换系统示意图。图中第一用户节点通过交换密钥哈希值ABC对1btc(Bitcoin,比特币)进行锁定,并在比特币区块链上生成第一转账区块。只有提供与交换密钥哈希值ABC对应的交换密钥“123456”才可以解锁并获取这1btc。
103、第一用户节点将第一转账区块上传至第一数字货币对应的第一区块链上。
在本申请实施例中,第一用户节点可以在第一数字货币对应的第一区块链上传该第一转账区块。如果第一数字货币为比特币,则与之对应的第一区块链为比特币区块链;如果第一数字货币为以太币,则与之对应的第一区块链为以太币区块链。
104、第二用户节点通过交换密钥哈希值对第二数字货币进行锁定,并生成第二转账区块,以记录交换密钥哈希值和第二数字货币。
在本申请实施例中,第二用户节点可以事先与第一用户节点商量或根据惯有规则确定交换上述第一数字货币需要多少第二数字货币。在第一区块链上检测到第一转账区块后,获取上述交换密钥哈希值。通过上述交换密钥哈希值对这些第二数字货币进行锁定,想要获取这些第二数字货币,则需要提供与该交换密钥哈希值对应的交换密钥才可以。
举例说明,继续参考图2所示,图中第二用户节点在第一区块链上检测到第一转账区块后获取其中的交换密钥哈希值“ABC”。第二用户节点通过该交换密钥哈希值“ABC”对77eth(Ethereum,以太币)进行锁定,并在以太币区块链上生成第二转账区块。只有提供与交换密钥哈希值“ABC”对应的交换密钥才可以解锁并获取这77eth。这样在第一用户节点解锁该第二转账区块时,第二用户节点便获取了第一转账区块的交换密钥“123456”。
105、第二用户节点将第二转账区块上传至第二数字货币对应的第二区块链上。
在本申请实施例中,第二用户节点可以在第二数字货币对应的第二区块链上传该第二转账区块。如果第二数字货币为比特币,则与之对应的第一区块链为比特币区块链;如果第二数字货币为以太币,则与之对应的第一区块链为以太币区块链。
可以理解,第一用户节点将记录有交换密钥哈希值和第一数字货币的第一转账区块上传至第一区块链。想要获取第一转账区块中的第一数字货币,则需要提供交换密钥哈希值对应的交换密钥,该交换密钥由第一用户随时生成,因此置有第一用户才知道,除非第一用户告知交换密钥,否则第一转账区块中的第一数字货币不能被获取。第二用户节点将记录有上述交换密钥哈希值和第二数字货币的第二转账区块上传至第二区块链。想要获取第二转账区块中的第二数字货币,则需要提供交换密钥哈希值对应的交换密钥。由于该交换密钥置有第一用户才知道,因此,只能由第一用户来获取上述第二数字货币。
请参阅图3,图3为本申请实施例提供的另一种跨链交换方法的流程示意图。图3所示的方法相较于图1所示的方法还包括:
306、第一用户节点在第二区块链检测到第二转账区块后,通过交换密钥对第二转账区块进行解锁,获取第二数字货币。
在本申请实施例中,由于交换密钥是第一用户节点随机生成的,因此置有第一用户节点知晓交换密钥。第一用户节点在第二区块链检测到第二转账区块后,可以通过该交换密钥对第二转账区块进行解锁,获取第二数字货币。
举例说明,如图4所示,第一用户节点可以通过交换密钥“123456”对比台币区块链上第二转账区块内的77eth进行解锁和获取。
307、第二用户节点在第二区块链上获取第一用户节点输入的交换密钥。
在本申请实施例中,在第一用户节点解锁的过程中,第二转账区块的上传者第二用户节点可以获取第一用户节点输入的交换密钥。
举例说明,如图4所示,第二用户节点可以在以太币区块链上获取交换密钥“123456”。
308、第二用户节点在第一区块链检测到第一转账区块后,通过交换密钥对第一转账区块进行解锁,获取第一数字货币。
在本申请实施例中,第二用户节点可以通过其获取的交换密钥对第一交换区块中的第一数字货币进行解锁和获取。
举例说明,如图4所示,第二用户节点可以通过交换密钥“123456”对比特币区块链上第一转账区块内的1btc进行解锁和获取。
可以理解,第一用户节点可以通过自己设置的交换密钥对第二区块链上的第二转账区块进行解锁,获取其中的第二数字货币。在第一用户解锁该第二转账区块的同时,该交换密钥可以被第二用户节点获取,以便其用于对第一转账区块的解锁。第二用户节点在第二区块链上获取第一用户节点输入的交换密钥后,可以通过该交换密钥对第一区块链上的第一转账区块进行解锁,获取其中的第一数字货币。从而安全且高效地实现第一用户节点手中的第一数字货币和第二用户节点手中的第二数字货币的跨链交换。
请参阅图5,图5为本申请实施例提供的另一种跨链交换方法的流程示意图。图5所示的方法包括:
501、第一用户节点随机生成交换密钥,通过哈希算法对交换密钥进行计算,生成交换密钥哈希值,设定转账时限;
在本申请实施例中,第一用户节点不但要随机生成交换密钥,计算该交换密钥的哈希值,还需要预先设定转账时限。
502、第一用户节点通过交换密钥哈希值和转账时限对第一数字货币进行锁定,并生成第一转账区块,以记录交换密钥哈希值、转账时限和第一数字货币。
在本申请实施例中,第一用户节点可以为第一数字货币的获取设定转账时限,想要获取第一转账区块中的第一数字货币,不仅需要提供交换密钥哈希值对应的交换密钥,还需要在上述转账时限内完成提供交换密钥才能对第一数字货币进行解锁获取。
举例说明,如图6所示,第一用户节点通过交换密钥“123456”的哈希值“ABC”以及预设的转账时限“60s”对1btc(Bitcoin,比特币)进行锁定,并在比特币区块链上生成第一转账区块。只有在第一转账区块上传第一区块链后转账时限“60s”内提供与交换密钥哈希值ABC对应的交换密钥“123456”才可以解锁并获取这1btc。
503、第一用户节点将第一转账区块上传至第一数字货币对应的第一区块链上。
504、第二用户节点通过交换密钥哈希值对第二数字货币进行锁定,并生成第二转账区块,以记录交换密钥哈希值和第二数字货币。
505、第二用户节点将第二转账区块上传至第二数字货币对应的第二区块链上。
506、第一用户节点在第二区块链检测到第二转账区块后,通过交换密钥对第二转账区块进行解锁,获取第二数字货币。
507、第二用户节点在第二区块链上获取第一用户节点输入的交换密钥。
上述步骤503至507与图1所示的跨链交换方法的实施方式相似,这里不再赘述。
508、第二用户节点在第一区块链检测到第一转账区块后,在转账时限内通过交换密钥对第一转账区块进行解锁,获取第一数字货币。
在本申请实施例中,第二用户节点在获取到交换密钥后,需要在第一转账区块上传第一区块链后的转账时限内,通过交换密钥对第一转账区块进行解锁,才能解锁成功,获取第一数字货币。
举例说明,如图6所示,第二用户节点可以通过交换密钥“123456”,在第一转账区块上传比特币区块链后的“60s”内,对比特币区块链上第一转账区块内的1btc进行解锁和获取。
作为一种可选的实施方式,跨链交换方法还包括:第二用户节点在转账时限内未对第一转账区块进行解锁,则返回第一数字货币给第一用户节点。
可以理解,如果在转账时限内上述第一转账区块中的第一数字货币没有被解锁,那么第一区块链将第一转账区块中的第一数字货币返回给第一用户节点,跨链交换失败。
另一方面,本发明提供一种跨链交换系统,包括:
第一区块链、第二区块链、第一用户节点和第二用户节点;
所述第一用户节点,用于随机生成交换密钥,通过哈希算法对所述交换密钥进行计算,生成交换密钥哈希值;通过所述交换密钥哈希值对第一数字货币进行锁定,并生成第一转账区块,以记录所述交换密钥哈希值和所述第一数字货币;将所述第一转账区块上传至所述第一数字货币对应的第一区块链上;
所述第二用户节点,用于通过所述交换密钥哈希值对第二数字货币进行锁定,并生成第二转账区块,以记录所述交换密钥哈希值和所述第二数字货币;将所述第二转账区块上传至所述第二数字货币对应的第二区块链上。
作为一种可选的实施方式,所述第一用户节点,还用于在所述第二区块链检测到所述第二转账区块后,通过所述交换密钥对所述第二转账区块进行解锁,获取所述第二数字货币;所述第二用户节点,还用于在所述第二区块链上获取所述第一用户节点输入的所述交换密钥;在所述第一区块链检测到所述第一转账区块后,通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币。
作为一种可选的实施方式,所述第二用户节点,具体用于在所述第一区块链检测到所述第一转账区块后,在所述转账时限内通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币。
作为一种可选的实施方式,所述第一用户节点,还用于在所述第二用户节点在所述转账时限内未对所述第一转账区块进行解锁的情况下,收回所述第一数字货币。
可以理解,本发明所提供的跨链交换系统的具体实施方式可根据上述跨链交换方法来具体实现,此处不再赘述。
本发明的有益效果体现在:
本发明提供一种跨链交换方法和系统。其中,第一用户节点将记录有交换密钥哈希值和第一数字货币的第一转账区块上传至第一区块链;第二用户节点将记录有上述交换密钥哈希值和第二数字货币的第二转账区块上传至第二区块链。第一用户节点可以通过自己设置的交换密钥对第二区块链上的第二转账区块进行解锁,获取其中的第二数字货币;第二用户节点在第二区块链上获取该交换密钥后,可以通过该交换密钥对第一区块链上的第一转账区块进行解锁,获取其中的第一数字货币。从而安全且高效地实现第一用户节点手中的第一数字货币和第二用户节点手中的第二数字货币的跨链交换。
现有技术中,主要通过Hashlock模型实现区块链的跨链交换业务(例如交易业务),Hashlock模型是区块链行业的一种跨链方案模型,网站https://en.bitcoin.it/wiki/Hashlock已经有详细的记载,该模型具有不需要第三方介入即可完成跨链业务逻辑的能力。Hashlock模型的完成跨链交换的具体方式如下例子:
用户Alice对一个密文secret使用hash256算法生成一个hash值(哈希值),转账1btc给用户Bob同时约束Bob能获取前提是提供生成这个hash值的secret,如果Bob在一定时间没有获取这个钱,Alice可以拿回这1btc。
Bob转账77eth给Alice同时约束Alice能获取的前提是提供生成第一步hash值的secret,如果Alice在一定时间没有获取这个钱,Bob可以拿回这77eth。只有Alice知道secret的值,Alice在提取Bob转账的77eth的时候提供secret值。Bob根据Alice提取77eth时提供的secret来提取Alice转账的1btc。
该模型利用了区块链的特性提供了一种跨链模型,然而该模型是一个理论模型,无法实际中进行跨链业务的落地,从而导致该技术一直停留在理论阐述阶段。基于hashlock模型的流程,本申请提出一种状态机模型(跨链交换系统,或者跨链交换方法),该模型(方法)包含三种交易类型定义,四个交易阶段和交易状态流转。该模型通过将跨链的流程进行划分,在不同阶段定义不同的交易类型,对阶段内的状态定义流转方向完成跨链业务的建模。
为了更加清楚地阐述本申请的技术方案,本申请提供跨链交换的托管方法(系统)具体还可以是:
将跨链业务流程中涉及的交易划分为三种交易类型:锁定交易、提现交易、赎回交易。
锁定交易:锁定交易由资金出资方构建,该交易蕴含语义为资金流向从A转到B,B需要在T时间内将资金取走,否则A可以将这笔资金赎回,B取走的前提是提供一个hash值的原始密文。锁定交易格式如下:OP_IF<sender_pubkey>OP_CHECKSIGERIFY<lockTime>OP_CHECKLOCKTIMEVERIFY OP_DROP OP_ELSE<receiver_pubkey>OP_CHECKSIGVERIFY OP_HASH256<hash>OP_EQUAL OP_ENDIF。sender_pubkey是发送方,lockTime即锁定时间T,receiver_pubkey是接收方,hash为需要提供密文的hash值。
提现交易:由资金接收方提取锁定交易锁定的资金,这一步的前提是提取方需要提供一个原始密文,该密文满足:sha256(密文)=hash。提现交易格式如下:<secret><receiver_signature><0>,secret即满足提现的密文,sha256(secret)=锁定交易中的<hash>,receiver_signature是接收方的签名,证明其对于这笔锁定资金的拥有权。
赎回交易:如果资金接收方在T时间内没有将资金提现,那么资金出资方可以将这笔锁定资金赎回。赎回交易格式如下:<sender_signature>OP_TRUE。资金出资方只需要提供签名,在锁定脚本锁定的<lockTime>之后即可赎回。
以下将跨链交换分为四个阶段:赎回交易构建阶段、锁定交易阶段、提现交易阶段、赎回交易阶段,不同阶段内部有不同状态的流转。分成四个阶段的原因是,这四个阶段分别代表四个状态完备阶段,如此分可以确保交换的实时性、安全性和有效性。
为介绍定义的四个阶段和状态,本申请需要说明的时,定义maker和taker的概念,先发起向对方转账的参与方,我们成为maker,另外一方为taker。maker也是secret的拥有者。
下面对四个阶段及其状态进行介绍:
赎回交易构建阶段如图7所示,图7中,taker和maker进行操作,中间的一些字比如“收到taker对maker赎回交易签名”这个其实表示的是一个等待时间,也就是发出以后等待一段时间就会人认定对方收到了。
总的来说,由于赎回交易需要对手方确认,所以需要一个赎回交易构建阶段,由对手方进行确认和生成交易信息。
锁定交易阶段如图8所示,对于锁定交易阶段是一次博弈,maker上链之后,taker可以获取hash值,构建相同锁定条件的锁定交易。
提现交易阶段如图9所示,taker在maker提现之后获取了secret值从而可以构建提现交易对maker的锁定交易进行提现。
赎回交易阶段如图10所示:该阶段在超过lockTime还未提现时,锁定资金方需要将资金进行赎回。
通过采用以上方案,提出了了一种跨链业务交换的状态机模型,通过对交易类型的定义,交易阶段的划分、阶段内状态的流转完成跨链的业务建模,完成不同区块链之间不依赖第三方的状态机抽象。
最后应说明的是:以上各实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述各实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分或者全部技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的范围,其均应涵盖在本发明的权利要求和说明书的范围当中。
Claims (10)
1.一种跨链交换方法,其特征在于,包括:
第一用户节点随机生成交换密钥,通过哈希算法对所述交换密钥进行计算,生成交换密钥哈希值;
所述第一用户节点通过所述交换密钥哈希值对第一数字货币进行锁定,并生成第一转账区块,以记录所述交换密钥哈希值和所述第一数字货币;
所述第一用户节点将所述第一转账区块上传至所述第一数字货币对应的第一区块链上;
第二用户节点通过所述交换密钥哈希值对第二数字货币进行锁定,并生成第二转账区块,以记录所述交换密钥哈希值和所述第二数字货币;
所述第二用户节点将所述第二转账区块上传至所述第二数字货币对应的第二区块链上。
2.根据权利要求1所述的跨链交换方法,其特征在于,
所述跨链交换方法还包括:
所述第一用户节点在所述第二区块链检测到所述第二转账区块后,通过所述交换密钥对所述第二转账区块进行解锁,获取所述第二数字货币。
3.根据权利要求2所述的跨链交换方法,其特征在于,
所述跨链交换方法还包括:
所述第二用户节点在所述第二区块链上获取所述第一用户节点输入的所述交换密钥;
所述第二用户节点在所述第一区块链检测到所述第一转账区块后,通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币。
4.根据权利要求3所述的跨链交换方法,其特征在于,
所述生成第一转账区块之前,所述跨链交换方法还包括:
所述第一用户节点设定转账时限;
所述第一用户节点通过所述交换密钥哈希值对第一数字货币进行锁定,并生成第一转账区块,以记录所述交换密钥哈希值和所述第一数字货币,包括:
所述第一用户节点通过所述交换密钥哈希值和所述转账时限对第一数字货币进行锁定,并生成第一转账区块,以记录所述交换密钥哈希值、所述转账时限和所述第一数字货币。
5.根据权利要求4所述的跨链交换方法,其特征在于,
所述第二用户节点在所述第一区块链检测到所述第一转账区块后,通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币,包括:
所述第二用户节点在所述第一区块链检测到所述第一转账区块后,在所述转账时限内通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币。
6.根据权利要求4所述的跨链交换方法,其特征在于,
所述跨链交换方法还包括:
所述第二用户节点在所述转账时限内未对所述第一转账区块进行解锁,则返回所述第一数字货币给所述第一用户节点。
7.一种跨链交换系统,其特征在于,包括:
第一区块链、第二区块链、第一用户节点和第二用户节点;
所述第一用户节点,用于随机生成交换密钥,通过哈希算法对所述交换密钥进行计算,生成交换密钥哈希值;通过所述交换密钥哈希值对第一数字货币进行锁定,并生成第一转账区块,以记录所述交换密钥哈希值和所述第一数字货币;将所述第一转账区块上传至所述第一数字货币对应的第一区块链上;
所述第二用户节点,用于通过所述交换密钥哈希值对第二数字货币进行锁定,并生成第二转账区块,以记录所述交换密钥哈希值和所述第二数字货币;将所述第二转账区块上传至所述第二数字货币对应的第二区块链上。
8.根据权利要求7所述的跨链交换系统,其特征在于,
所述第一用户节点,还用于在所述第二区块链检测到所述第二转账区块后,通过所述交换密钥对所述第二转账区块进行解锁,获取所述第二数字货币;
所述第二用户节点,还用于在所述第二区块链上获取所述第一用户节点输入的所述交换密钥;在所述第一区块链检测到所述第一转账区块后,通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币。
9.根据权利要求8所述的跨链交换系统,其特征在于,
所述第二用户节点,具体用于在所述第一区块链检测到所述第一转账区块后,在所述转账时限内通过所述交换密钥对所述第一转账区块进行解锁,获取所述第一数字货币。
10.根据权利要求9所述的跨链交换系统,其特征在于:
所述第一用户节点,还用于在所述第二用户节点在所述转账时限内未对所述第一转账区块进行解锁的情况下,收回所述第一数字货币。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011223073.9A CN113159742A (zh) | 2020-11-05 | 2020-11-05 | 一种跨链交换方法和系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202011223073.9A CN113159742A (zh) | 2020-11-05 | 2020-11-05 | 一种跨链交换方法和系统 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113159742A true CN113159742A (zh) | 2021-07-23 |
Family
ID=76882332
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202011223073.9A Pending CN113159742A (zh) | 2020-11-05 | 2020-11-05 | 一种跨链交换方法和系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113159742A (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160321435A1 (en) * | 2015-05-01 | 2016-11-03 | Monegraph, Inc. | Managing digital content via block chain registers |
CN107276765A (zh) * | 2017-07-04 | 2017-10-20 | 中国联合网络通信集团有限公司 | 区块链中共识的处理方法及装置 |
CN109685489A (zh) * | 2018-12-28 | 2019-04-26 | 杭州云象网络技术有限公司 | 一种区块链之间的资产跨链交易方法 |
KR20190120680A (ko) * | 2018-04-16 | 2019-10-24 | 안희태 | 블록체인 기반의 암호화폐 거래 방법 |
CN111666323A (zh) * | 2020-05-15 | 2020-09-15 | 西安纸贵互联网科技有限公司 | 区块链的跨链互通方法及系统 |
-
2020
- 2020-11-05 CN CN202011223073.9A patent/CN113159742A/zh active Pending
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20160321435A1 (en) * | 2015-05-01 | 2016-11-03 | Monegraph, Inc. | Managing digital content via block chain registers |
CN107276765A (zh) * | 2017-07-04 | 2017-10-20 | 中国联合网络通信集团有限公司 | 区块链中共识的处理方法及装置 |
KR20190120680A (ko) * | 2018-04-16 | 2019-10-24 | 안희태 | 블록체인 기반의 암호화폐 거래 방법 |
CN109685489A (zh) * | 2018-12-28 | 2019-04-26 | 杭州云象网络技术有限公司 | 一种区块链之间的资产跨链交易方法 |
CN111666323A (zh) * | 2020-05-15 | 2020-09-15 | 西安纸贵互联网科技有限公司 | 区块链的跨链互通方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CA3058013C (en) | Managing sensitive data elements in a blockchain network | |
KR102665645B1 (ko) | 분산 트랜잭션 컨센서스 네트워크에서의 디지털 자산 트랜잭션의 익명성 및 추적성 향상 기법 | |
CN106899698B (zh) | 一种区块链之间的跨链互操作方法 | |
CN111556120B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
CN111431713B (zh) | 一种私钥存储方法、装置和相关设备 | |
US20230316273A1 (en) | Data processing method and apparatus, computer device, and storage medium | |
CN109756582A (zh) | 区块链网络中的信息记录方法、装置、节点及存储介质 | |
EP3933642B1 (en) | Managing transactions in multiple blockchain networks | |
CN111476572B (zh) | 基于区块链的数据处理方法、装置、存储介质及设备 | |
US20180041520A1 (en) | Data access method based on cloud computing platform, and user terminal | |
EP3937050B1 (en) | Managing transactions in multiple blockchain networks | |
US20210150517A1 (en) | Invoice invalidation method and apparatus based on blockchain, and electronic device | |
CN111327426B (zh) | 数据共享方法及相关装置、设备及系统 | |
EP3933641B1 (en) | Managing transactions in multiple blockchain networks | |
CN112600830B (zh) | 业务数据处理方法、装置、电子设备及存储介质 | |
US20210158444A1 (en) | Method and Apparatus for a Blockchain-Agnostic Safe Multi-Signature Digital Asset Management | |
Harn et al. | A novel design of membership authentication and group key establishment protocol | |
CN113159742A (zh) | 一种跨链交换方法和系统 | |
KR20190099984A (ko) | 개인 키 관리 시스템 | |
Yuan | Fair data transactions across private databases | |
US11394545B2 (en) | Communication system, server device, user device, method, and computer program | |
CN113052576B (zh) | 跨链交换的托管方法和系统 | |
CN111431728B (zh) | 一种分布式应用程序的用户群组管理方法 | |
Qiao | Group Signatures for Preserving Anonymity in Blockchain Supply Chain Transactions | |
WO2024045552A1 (zh) | 一种数据处理方法及相关设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination |