CN113627906B - 哈希锁定和侧链技术的跨链交易方法、系统、可存储介质 - Google Patents
哈希锁定和侧链技术的跨链交易方法、系统、可存储介质 Download PDFInfo
- Publication number
- CN113627906B CN113627906B CN202111016061.3A CN202111016061A CN113627906B CN 113627906 B CN113627906 B CN 113627906B CN 202111016061 A CN202111016061 A CN 202111016061A CN 113627906 B CN113627906 B CN 113627906B
- Authority
- CN
- China
- Prior art keywords
- chain
- user
- hash
- locking
- transaction
- 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.)
- Active
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/50—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols using hash chains, e.g. blockchains or hash trees
-
- 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
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/52—Program synchronisation; Mutual exclusion, e.g. by means of semaphores
-
- 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/30—Payment architectures, schemes or protocols characterised by the use of specific devices or networks
- G06Q20/36—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes
- G06Q20/367—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes
- G06Q20/3678—Payment architectures, schemes or protocols characterised by the use of specific devices or networks using electronic wallets or electronic money safes involving electronic purses or money safes e-cash details, e.g. blinded, divisible or detecting double spending
-
- 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/3827—Use of message hashing
-
- 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/401—Transaction verification
-
- 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
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3218—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using proof of knowledge, e.g. Fiat-Shamir, GQ, Schnorr, ornon-interactive zero-knowledge proofs
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3236—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials using cryptographic hash functions
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3247—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures
- H04L9/3255—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving digital signatures using group based signatures, e.g. ring or threshold signatures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L9/00—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
- H04L9/32—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials
- H04L9/3297—Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols including means for verifying the identity or authority of a user of the system or for message authentication, e.g. authorization, entity authentication, data integrity or data verification, non-repudiation, key authentication or verification of credentials involving time stamps, e.g. generation of time stamps
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2209/00—Indexing scheme relating to G06F9/00
- G06F2209/52—Indexing scheme relating to G06F9/52
- G06F2209/521—Atomic
Landscapes
- Engineering & Computer Science (AREA)
- Business, Economics & Management (AREA)
- Accounting & Taxation (AREA)
- Computer Security & Cryptography (AREA)
- Finance (AREA)
- Theoretical Computer Science (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Signal Processing (AREA)
- General Business, Economics & Management (AREA)
- Strategic Management (AREA)
- Software Systems (AREA)
- General Engineering & Computer Science (AREA)
- Development Economics (AREA)
- Economics (AREA)
- Marketing (AREA)
- Technology Law (AREA)
- Financial Or Insurance-Related Operations Such As Payment And Settlement (AREA)
Abstract
本发明公开了一种基于哈希锁定和侧链技术的跨链交易方法,涉及区块链领域。本发明包括以下步骤:创建第一终端和第二终端基于哈希锁定的原子交换数据传输机制;创建基于SPV锚定模式跨链数据转移机制;第一终端和第二终端在所述SPV锚定模式监督状态下,实现基于哈希锁定的原子交换数据传输。本发明利用侧链技术解决哈希锁定技术中的只能实现资产交换而不能解决资产转移的缺点,而利用哈希锁定技术,无需额外增加一条侧链或者中继链就可以实现跨链资产转移。
Description
技术领域
本发明涉及区块链领域,更具体的说是涉及一种基于哈希锁定和侧链技术的跨链交易方法、系统、可存储介质。
背景技术
如今,基于区块链的去中心化电子货币越来越人们受欢迎。所有事务记录在由一组分散的对等节点维护的公共交易分类帐本—区块链上。随着技术以及市场的发展,加密货币的种类越来越多,与此同时也涌现出来大量不同的区块链。每一条链都相当于一个独立的账本,通常情况下不同账本之间是无法实现价值转移的。不同链之间的协同从操作以及价值流通成为了用户们的新需求,因此区块链的“跨链技术”应运而生。主流的跨链技术有公证人技术、哈希锁定技术、以及侧链和中继链技术。
公证人技术也称见证人机制,其是一种中介的方式。设区块链A和区块链B本身是不能直接进行互操作的,则可以引入一个共同信任的第三方作为中介,由这个共同信任的中介进行跨链消息的验证和转发。很多时候,这个公证人/中介就是交易所。其优点在于支持异构的区块链跨链,缺点在于有中心化风险,只能实现交换不能实现转移。
哈希锁定的典型实现是哈希时间锁定合约HTLC(Hashed TimeLock Contract)。哈希时间锁定巧妙地采用了哈希锁和时间锁,迫使资产的接收方在一定时间内内确定收款并产生一种收款证明给打款人,否则资产会归还给打款人。收款证明能够被付款人用来获取接收人区块链上的等量价值的数量资产或触发其他事件。哈希锁定只能做到交换而不能做到资产或者信息的转移,因此其使用场景有限。
侧链用来指代与主区块链并行的那条区块链。主区块链可以向侧链连接,也可以被侧链连接;这样一来,侧链就可以独立于主区块链进行操作(例如,通过使用备用的记录保持方式)。从主链单链角度讲,侧链可以虚拟化地横向和纵向提升主链的性能。所谓横向,就是将多个侧链与主链互通,将大部分交易放到侧链上,然后再通过与主链互通实现,可以虚拟地提升主链的TPS。所谓纵向,就是侧链可以有主链不具有的功能,通过侧链,主链看上去也像是支持了这些功能。如今,侧链大多数还是指BlockStream所说的锚定式侧链(pegged sidechain)。锚定式侧链主要是指支持资产的双向锚定,即资产在主链与侧链之间的流通。当前,双向锚定侧链的实现方式包括如下4种。
1)单一托管模式单一托管模式是实现双向锚定最简单的方式,其基本原理与单一公证人机制相同。交易参与方把数字资产发送给托管方,托管方在侧链上将相应资产发送给交易方侧链账户。
2)联合锚定模式联合锚定使用公证人联盟的形式作为资产托管方,利用多重签名的方式来减少单中心的风险。
3)驱动链模式驱动链概念是由Bitcoin Hivemind创始人Paul提出的。在驱动链中,交易处理节点代表公证人组的角色,负责资金托管和解锁。交易处理节点把其他链上的资产锁定信息提交到区块中,发起提案,经过投票与确认之后,在当前链上解锁指定资产。
4)SPV(simple payment verification)锚定模式指的是轻客户端不需要下载所有区块数据就能对某一笔交易的存在性进行验证。一个SPV证明包含两个部分:区块头列表;表示某一输出发生在列表中某一区块的密码学证明,如默克尔证明。如果要证明某笔交易存在于某个区块内,只需要使用此交易的哈希值与其他相关交易的哈希值计算最终的默克尔树根,并与区块头的树根作比较。如果计算结果与区块头的交易树根一致,则证明交易存在于本区块中。而所谓中继是指可以在本链上自行验证另一条链上数据而不需要依赖第三方。
发明内容
有鉴于此,本发明提供了哈希锁定和侧链技术的跨链交易方法、系统、可存储介质,利用侧链技术解决哈希锁定技术中的只能实现资产交换而不能解决资产转移的缺点,而利用哈希锁定技术,无需额外增加一条侧链或者中继链就可以实现跨链资产转移。
为了实现上述目的,本发明采用如下技术方案:
一种基于哈希锁定和侧链技术的跨链交易方法,包括以下步骤:
创建第一终端和第二终端基于哈希锁定的原子交换数据传输机制;
创建基于SPV锚定模式跨链数据转移机制;
第一终端和第二终端在所述SPV锚定模式监督状态下,实现基于哈希锁定的原子交换数据传输;
A链上的第一终端用户A和B链上的第二终端用户B之间进行跨链交易,跨链交易有如下步骤:
用户A产生随机数s,计算哈希值H(s),其中,H表示哈希函数;
用户A使用H(s)和一个确认期时间在A链上锁定需要交易的数字货币a,锁定时间为t1;
用户A把计算的H(s)发送给用户B,并证明已经锁定了自身的待交易数字货币a;
A链在确认期结束后,用户B在B链上产生一笔铸币交易,并且提供A链锁币交易的SPV证明,生成的B链的资产处于锁定状态,需要等待一个竞争期;
用户B在B链上等待一个竞争期;如果在竞争期内,用户A把A链上锁定的币转走,其他用户用最新的SPV证明此事,则B链铸币交易失效;
竞争期结束后,b链数字货币生成,用户B使用H(s)获得刚生成的数字货币。
可选的,所述原子交换数据传输机制具体步骤如下:
用户A产生随机数,计算所述随机数的哈希值;
用户A使用所述哈希值并在t1时间产生合约T1,同时锁定A需要传输的数据;
用户A将所述哈希值发送给用户B,并发送信息给用户A,证明已经锁定用户A需要传输的数据;
用户B使用所述哈希值在t2时间产生合约T2,同时锁定用户B需要传输的数据;
用户A使用随机数构建合约T3解锁合约T2,获取用户B需要传输的数据,同时,随机数暴露;
用户B使用暴露的随机数构建合约T4解锁T1,获取用户A需要传输的数据。
可选的,所述原子交换数据传输机制的原则为数据传输的双方通过哈希值解析双方内部数据,同时哈希锁定的超时时间设置存在时间差。
可选的,SPV锚定模式跨链数据转移机制具体内容如下:
锁定用户A的数据,并设置一个锁定用户A数据的确认期限;
当用户A数据的确认期限结束后,用户B产生铸币数据传输,并且提供用户A铸币数据传输的SPV证明,同时生成的B数据传输信息锁定,并等待一个竞争期;
所述竞争期结束后,用户B获得数据,同时用户B实现所述数据的传输。
可选的,若在竞争期,用户A数据丢失,采用新SPV证明数据丢失,用户B的铸币数据传输失败。
一种基于哈希锁定和侧链技术的跨链交易系统,包括:
机制创建模块:用于创建第一终端和第二终端基于哈希锁定的原子交换数据传输机制;还用于创建基于SPV锚定模式跨链数据转移机制;
数据传输模块:用于第一终端和第二终端在所述SPV锚定模式监督状态下,实现基于哈希锁定的原子交换数据传输。
一种计算机存储介质,所述计算机存储介质上存储有计算机程序,所述计算机程序为被处理器执行时实现任意一项所述的一种基于哈希锁定和侧链技术的跨链交易的步骤。
经由上述的技术方案可知,与现有技术相比,本发明公开提供了一种基于哈希锁定和侧链技术的跨链交易方法,其中,哈希锁定只能做到交换而不能做到资产或者信息的转移,并且进行资产交换的两条链都要支持哈希锁和时间锁,因此其使用场景有限。而侧链技术和中继链技术可以在主链和侧链中互转,可以提高隐私性、降低成本、加速价值转移及结算流程,但是侧链技术也存在缺点,也就是必须存在一个侧链或者一个中继链,间接的增加了跨链过程中的第三方。本发明针对现有哈希锁定跨链技术和侧链跨链技术的缺点,直接在哈希锁定时间内产生新数字货币,从而实现了跨链原子交易,并且无需侧链或者中继链参与,解决了公链交易吞吐量和交易速度的问题,提高了公有链的可拓展性。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据提供的附图获得其他的附图。
图1为本发明的基于哈希锁定的原子交易示意图;
图2为本发明的SPV模式下的双向锚定。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明实施例公开了哈希锁定和侧链技术的跨链交易方法、系统、可存储介质,包含以下步骤:
步骤1,实现基于哈希锁定的原子交换。
基于哈希锁定的原子交换可以保证不同链间资产交易的安全性与原子性,而不需要第三方参与。哈希时间锁定巧妙地采用了哈希锁和时间锁,迫使资产的接收方在deadline内确定收款并产生一种收款证明给打款人,否则资产会归还给打款人。收款证明能够被付款人用来获取接收人区块链上的等量价值的数量资产或触发其他事件。
如图1所示,A与B的原子交换哈希锁机制可以简单描述如下(设A使用链A上的数字货币a与B交换链B上的数字货币b,其中,数字货币由央行发行。)
1)A产生随机数s,计算哈希值H(s),其中,H表示哈希函数。
2)A使用H(s)和一个时间在链A上产生一个合约交易=T(H(s),t1),会锁定A链上需要交易的数字货币a,锁定时间为。
3)A把计算的H(s)发送给B,并发送交易至A链上,证明已经锁定了自身的待交易数字货币a。
4)B使用H(s)与时间生成合约交易,锁定需要交易的数字货币b并将交易上链,其中,锁定时间为(<)。
5)A使用s构建解锁链B的锁定交易,获取锁定的数字货币b,此时随机数s暴露。
6)B使用公开的s构建解锁链A上的,获取锁定的数字货币a。
其中哈希函数又称散列函数,是一种从任何一种数据中创建小的数字“指纹”的方法。散列函数把消息或数据压缩成摘要,使得数据量变小,将数据的格式固定下来。该函数将数据打乱混合,重新创建一个叫做散列值的指纹。散列值通常用一个短的随机字母和数字组成的字符串来代表。从上述的过程可以看出哈希时间锁定合约有一些约束条件:一是双方必须能够解析双方的合约内部数据,例如s,例如锁定资产的证明等;二是哈希锁定的超时时间设置时需要保证存在时间差,这样在单方面作弊时另一方可以及时撤回自己的资产。
资产的哈希锁定可以通过构建HTLC完成。假设交易双方为A和B,A构建HTLC需要两笔UTXO。A首先产生一个随机数s,计算H(s),只有提供原像s才能计算出H(s),实现哈希锁定。然后,A生成一笔UTXO发送一定数量的数字货币到一个数字货币脚本,脚本中设置UTXO的花费条件有两个:1)提供B的签名和原像s;2)提供A和B的签名。通常称这笔交易为存款交易(fund transaction),表示资产的锁定。A产生另外一笔交易,把存款交易作为第二笔UTXO的输入,输出A的地址,同时设置nTimeLock字段为Tlock,表示到达T后才允许被打包生效,实现时间锁定,称这笔交易为退款交易(redeem transcation)。A把这两笔交易发给B,如果B同意则在第二笔交易上签名并发回给A。对于图灵完备的链而言,可以产生一个合约。合约逻辑设为:在t时间内(实现时间锁),如果A的地址能提供哈希原像s(实现哈希锁定),则可取走合约中锁定的资产,然后发送需要锁定的资产到合约上。
步骤2,基于SPV锚定模式的跨链资产转移,如图2所示。
SPV模式指通过将交易发给主链的一个特殊地址,由此会自动创建一个SPV证明给侧链上并发起一个交易在侧链上解锁对应的资产。假设在A链和B链之间进行资产转移,跨链支付有如下几个步骤:
1)锁定A链资产,可以使用多签名账户实现。
2)在A链上等待一个确认期,可以是一天或者两天,以确保生成足够的工作量,从而抵抗拒绝服务攻击。
3)A链确认期结束后,用户可以在B链上产生一笔铸币交易,并且提供A链锁币交易的SPV证明,生成的B链的资产处于锁定状态,需要等待一个竞争期。
4)用户在B链上等待一个竞争期,设置竞争期的目的是防止双重花费。如果在竞争期内,用户把A链上锁定的币转走,其他用户可以用最新的SPV证明此事,则B链铸币交易失效,称此证明为重组证明。
5)竞争期结束后(约1~2天),B链数字货币生成,可以在B链上流通。
6)B链数字货币返回A链,流程重复上述5个步骤。
步骤3,实现基于哈希锁定和SPV锚定模式跨链交易。
假设在A链上的用户A和B链上的用户B之间进行跨链交易,跨链交易有如下几个步骤
1)用户A产生随机数s,计算哈希值H(s),其中,H表示哈希函数。
2)用户A使用H(s)和一个确认期时间在A链上锁定需要交易的数字货币a,锁定时间为。
3)用户A把计算的H(s)发送给用户B,并证明已经锁定了自身的待交易数字货币a。
4)A链确认期结束后,用户B可以在B链上产生一笔铸币交易,并且提供A链锁币交易的SPV证明,生成的B链的资产处于锁定状态,需要等待一个竞争期。
5)用户B在B链上等待一个竞争期(<)。如果在竞争期内,用户A把A链上锁定的币转走,其他用户可以用最新的SPV证明此事,则B链铸币交易失效,称此证明为重组证明。
6)竞争期结束后,B链数字货币生成,B用户使用H(s)获得刚生成的数字货币。
具体的,本发明主要基于区块链技术,利用侧链技术解决哈希锁定技术中的只能实现资产交换而不能解决资产转移的缺点,而利用哈希锁定技术,无需额外增加一条侧链或者中继链就可以实现跨链资产转移。下面将对本发明实施例中的技术方案进行清完整的描述。
步骤1,创建基于哈希锁定交易。
本发明实施例中,用户Alice使用1个数字货币m和Bob交换50个数字货币n,跨链交易过程如下:
1. Alice随机构建一个字符串s,并计算出其哈希h(s);
2. Alice将h(s)发送给Bob;
3. Alice通过合约锁定自己的1个数字货币m资产,设置一个较长的锁定时间,再设置了获取该数字货币m的条件:Bob提供h(s)的原始值s;
4. Bob锁定50数字货币n到自己的合约,设置一个相对较短的锁定时间(<)。再设置50数字货币n的获取条件:Alice提供h(s)的原始值s;
5. Alice将字符串s发送到Bob的合约获得50个数字货币n;
6. Bob观察到步骤5中Alice的s值,将其发送给Alice的合约成功获取1个数字货币m;至此完成资产的交换。
7. 如果超时,则锁定的资产返回原主。
步骤2,基于SPV锚定模式的跨链资产转移
本发明实施例中,将用户a链上的1数字货币m转移到b链上变成50数字货币n。
1)锁定a链上的1数字货币m,可以使用多签名账户实现。
2)在a链上等待一个确认期,时间为,以确保生成足够的工作量,从而抵抗拒绝服务攻击。
3)a链上确认期结束后,用户可以在b链上产生一笔铸币交易,并且提供a链上锁币交易的SPV证明,生成的b链的资产处于锁定状态,需要等待一个竞争期。
4)用户在b链上等待一个竞争期(防止双重花费)。如果在竞争期内,用户把a链上锁定的币转走,其他用户可以用最新的SPV证明此事,则b链铸币交易失效,称此证明为重组证明。
其中当a链网络需要运用SPV进行简单支付验证时步骤如下所示:
1)计算待验证支付的交易哈希值;节点从区块链网络上获取并存储最长链的所有区块头至本地;
2)节点从区块链获取待验证支付对应的默克尔树哈希认证路径;
3)依据哈希认证路径,计算默克尔树的根哈希值,将计算结果与本地区块头中的默克尔树的根哈希值进行比较,定位到包含待验证支付的区块;
4)依据该区块头所处的位置,验证该区块的区块头是不是现已包含在已知最长链中,确定该支付已经获得的确认数量,假如包含则证明支付真实有效。
步骤3,实现基于哈希锁定和SPV锚定模式跨链交易
假设在a链上的用户Alice和b链上的用户Bob之间进行跨链交易,跨链交易有如下几个步骤:
1)用户Alice产生随机数s,计算哈希值H(s),其中,H表示哈希函数。
2)用户Alice使用H(s)和一个确认期时间在a链上锁定需要交易的数字货币a,锁定时间为t1。
3)用户Alice把计算的H(s)发送给用户Bob,并证明已经锁定了自身的待交易数字货币a。
4)a链在确认期结束后,用户B可以在b链上产生一笔铸币交易,并且提供a链锁币交易的SPV证明,生成的b链的资产处于锁定状态,需要等待一个竞争期。
5)用户B在b链上等待一个竞争期(<)。如果在竞争期内,用户A把a链上锁定的币转走,其他用户可以用最新的SPV证明此事,则b链铸币交易失效,称此证明为重组证明。
6)竞争期结束后,b链数字货币生成,B用户使用H(s)获得刚生成的数字货币。
其中当a链网络需要运用SPV进行简单支付验证时步骤如下所示:
1)计算待验证支付的交易哈希值;节点从区块链网络上获取并存储最长链的所有区块头至本地;
2)节点从区块链获取待验证支付对应的默克尔树哈希认证路径;
3)依据哈希认证路径,计算默克尔树的根哈希值,将计算结果与本地区块头中的默克尔树的根哈希值进行比较,定位到包含待验证支付的区块;
4)依据该区块头所处的位置,验证该区块的区块头是不是现已包含在已知最长链中,确定该支付已经获得的确认数量,假如包含则证明支付真实有效。
一种基于哈希锁定和侧链技术的跨链交易系统,包括:
机制创建模块:用于创建第一终端和第二终端基于哈希锁定的原子交换数据传输机制;还用于创建基于SPV锚定模式跨链数据转移机制;
数据传输模块:用于第一终端和第二终端在SPV锚定模式监督状态下,实现基于哈希锁定的原子交换数据传输。
一种计算机存储介质,计算机存储介质上存储有计算机程序,计算机程序为被处理器执行时实现的一种基于哈希锁定和侧链技术的跨链交易的步骤。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
Claims (7)
1.一种基于哈希锁定和侧链技术的跨链交易方法,其特征在于,包括以下步骤:
创建第一终端和第二终端基于哈希锁定的原子交换数据传输机制;
创建基于SPV锚定模式跨链数据转移机制;
第一终端和第二终端在所述SPV锚定模式监督状态下,实现基于哈希锁定的原子交换数据传输;
A链上的第一终端用户A和B链上的第二终端用户B之间进行跨链交易,跨链交易有如下步骤:
用户A产生随机数s,计算哈希值H(s),其中,H表示哈希函数;
用户A使用H(s)和一个确认期时间在A链上锁定需要交易的数字货币a,锁定时间为t1;
用户A把计算的H(s)发送给用户B,并证明已经锁定了自身的待交易数字货币a;
A链在确认期结束后,用户B在B链上产生一笔铸币交易,并且提供A链锁币交易的SPV证明,生成的B链的资产处于锁定状态,需要等待一个竞争期;
用户B在B链上等待一个竞争期;如果在竞争期内,用户A把A链上锁定的币转走,其他用户用最新的SPV证明此事,则B链铸币交易失效;
竞争期结束后,B链数字货币生成,用户B使用H(s)获得刚生成的数字货币。
2.根据权利要求1所述的一种基于哈希锁定和侧链技术的跨链交易方法,其特征在于,所述原子交换数据传输机制具体步骤如下:
用户A产生随机数,计算所述随机数的哈希值;
用户A使用所述哈希值并在t1时间产生合约T1,同时锁定A需要传输的数据;
用户A将所述哈希值发送给用户B,并发送信息给用户A,证明已经锁定用户A需要传输的数据;
用户B使用所述哈希值在t2时间产生合约T2,同时锁定用户B需要传输的数据;
用户A使用随机数构建合约T3解锁合约T2,获取用户B需要传输的数据,同时,随机数暴露;
用户B使用暴露的随机数构建合约T4解锁T1,获取用户A需要传输的数据。
3.根据权利要求1所述的一种基于哈希锁定和侧链技术的跨链交易方法,其特征在于,所述原子交换数据传输机制的原则为数据传输的双方通过哈希值解析双方内部数据,同时哈希锁定的超时时间设置存在时间差。
4.根据权利要求1所述的一种基于哈希锁定和侧链技术的跨链交易方法,其特征在于,SPV锚定模式跨链数据转移机制具体内容如下:
锁定用户A的数据,并设置一个锁定用户A数据的确认期限;
当用户A数据的确认期限结束后,用户B产生铸币数据传输,并且提供用户A铸币数据传输的SPV证明,同时生成的B数据传输信息锁定,并等待一个竞争期;
所述竞争期结束后,用户B获得数据,同时用户B实现所述数据的传输。
5.根据权利要求4所述的一种基于哈希锁定和侧链技术的跨链交易方法,其特征在于,若在竞争期,用户A数据丢失,采用新SPV证明数据丢失,用户B的铸币数据传输失败。
6.一种基于哈希锁定和侧链技术的跨链交易系统,其特征在于,包括:
机制创建模块:用于创建第一终端和第二终端基于哈希锁定的原子交换数据传输机制;还用于创建基于SPV锚定模式跨链数据转移机制;
数据传输模块:用于第一终端和第二终端在所述SPV锚定模式监督状态下,实现基于哈希锁定的原子交换数据传输;
A链上的第一终端用户A和B链上的第二终端用户B之间进行跨链交易,跨链交易有如下步骤:
用户A产生随机数s,计算哈希值H(s),其中,H表示哈希函数;
用户A使用H(s)和一个确认期时间在A链上锁定需要交易的数字货币a,锁定时间为t1;
用户A把计算的H(s)发送给用户B,并证明已经锁定了自身的待交易数字货币a;
A链在确认期结束后,用户B在B链上产生一笔铸币交易,并且提供A链锁币交易的SPV证明,生成的B链的资产处于锁定状态,需要等待一个竞争期;
用户B在B链上等待一个竞争期;如果在竞争期内,用户A把A链上锁定的币转走,其他用户用最新的SPV证明此事,则B链铸币交易失效;
竞争期结束后,B链数字货币生成,用户B使用H(s)获得刚生成的数字货币。
7.一种计算机存储介质,其特征在于,所述计算机存储介质上存储有计算机程序,所述计算机程序为被处理器执行时实现如权利要求1-5中任意一项所述的一种基于哈希锁定和侧链技术的跨链交易的步骤。
Priority Applications (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111016061.3A CN113627906B (zh) | 2021-08-31 | 2021-08-31 | 哈希锁定和侧链技术的跨链交易方法、系统、可存储介质 |
US17/857,072 US20230063548A1 (en) | 2021-08-31 | 2022-07-04 | Cross-chain transaction method and system based on hash locking and sidechain technology and storable medium |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111016061.3A CN113627906B (zh) | 2021-08-31 | 2021-08-31 | 哈希锁定和侧链技术的跨链交易方法、系统、可存储介质 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN113627906A CN113627906A (zh) | 2021-11-09 |
CN113627906B true CN113627906B (zh) | 2022-03-25 |
Family
ID=78388714
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111016061.3A Active CN113627906B (zh) | 2021-08-31 | 2021-08-31 | 哈希锁定和侧链技术的跨链交易方法、系统、可存储介质 |
Country Status (2)
Country | Link |
---|---|
US (1) | US20230063548A1 (zh) |
CN (1) | CN113627906B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114219649B (zh) * | 2022-01-04 | 2024-07-05 | 杭州复杂美科技有限公司 | 跨链资产转移方法、计算机设备和存储介质 |
CN115034900A (zh) * | 2022-06-07 | 2022-09-09 | 四川大学 | 面向多链服务的Fabric跨链原子交换方法、装置和存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780032A (zh) * | 2016-12-16 | 2017-05-31 | 杭州云象网络技术有限公司 | 一种多链场景下的区块链链间资产转移方法 |
CN109493015A (zh) * | 2018-10-18 | 2019-03-19 | 杭州复杂美科技有限公司 | 一种资产转移方法、设备和存储介质 |
CN111652618A (zh) * | 2020-07-14 | 2020-09-11 | 中国人民解放军国防科技大学 | 一种去中心化的不可链接的跨链原子交易方法 |
CN112907262A (zh) * | 2021-02-20 | 2021-06-04 | 北京邮电大学 | 农产品溯源下的一种基于中继链的区块链跨链交互方法 |
CN112965985A (zh) * | 2021-02-04 | 2021-06-15 | 复旦大学 | 一种实现跨链互操作的数据一致性维护方法 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10812274B2 (en) * | 2015-05-07 | 2020-10-20 | Blockstream Corporation | Transferring ledger assets between blockchains via pegged sidechains |
CN110035045B (zh) * | 2018-11-16 | 2020-04-03 | 阿里巴巴集团控股有限公司 | 跨链数据的可信管理方法及装置、电子设备 |
CN111160881A (zh) * | 2019-12-11 | 2020-05-15 | 马上游科技股份有限公司 | 去中心化的侧链发行锚定主链代币的方法及系统 |
-
2021
- 2021-08-31 CN CN202111016061.3A patent/CN113627906B/zh active Active
-
2022
- 2022-07-04 US US17/857,072 patent/US20230063548A1/en not_active Abandoned
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106780032A (zh) * | 2016-12-16 | 2017-05-31 | 杭州云象网络技术有限公司 | 一种多链场景下的区块链链间资产转移方法 |
CN109493015A (zh) * | 2018-10-18 | 2019-03-19 | 杭州复杂美科技有限公司 | 一种资产转移方法、设备和存储介质 |
CN111652618A (zh) * | 2020-07-14 | 2020-09-11 | 中国人民解放军国防科技大学 | 一种去中心化的不可链接的跨链原子交易方法 |
CN112965985A (zh) * | 2021-02-04 | 2021-06-15 | 复旦大学 | 一种实现跨链互操作的数据一致性维护方法 |
CN112907262A (zh) * | 2021-02-20 | 2021-06-04 | 北京邮电大学 | 农产品溯源下的一种基于中继链的区块链跨链交互方法 |
Also Published As
Publication number | Publication date |
---|---|
US20230063548A1 (en) | 2023-03-02 |
CN113627906A (zh) | 2021-11-09 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109685489B (zh) | 一种区块链之间的资产跨链交易方法 | |
CN112287029B (zh) | 一种区块链多链跨链系统及其实现机制 | |
CN109035012B (zh) | 一种区块链系统的跨链处理方法和计算机可读存储介质 | |
Robinson et al. | Atomic crosschain transactions for ethereum private sidechains | |
CN113627906B (zh) | 哈希锁定和侧链技术的跨链交易方法、系统、可存储介质 | |
CN112907252B (zh) | 一种基于多人链下通道的区块链交易方法及系统 | |
Aumayr et al. | Blitz: Secure {Multi-Hop} payments without {Two-Phase} commits | |
CN112507393B (zh) | 一种保障区块链跨链事务一致性的方法 | |
CN112330326A (zh) | 一种应用于银行交易区块链系统的业务处理方法和装置 | |
CN112583917B (zh) | 一种基于cscp的混合链构建方法 | |
CN113746858B (zh) | 一种基于可验证随机函数的跨链通信方法 | |
CN111160881A (zh) | 去中心化的侧链发行锚定主链代币的方法及系统 | |
CN111640017A (zh) | 一种应用于联盟链跨链转账的交易正确性验证方法及装置 | |
CN110610421B (zh) | 分片框架下的保证金管理方法及装置 | |
CN116527684B (zh) | 基于1+1+n中继共识委员会的多链信息交互方法 | |
CN115244526A (zh) | 用于去中心化事务通信协议的方法和系统 | |
CN115174570B (zh) | 一种基于动态委员会的跨链共识方法及系统 | |
CN113689216A (zh) | 跨链事务处理方法及装置、设备、存储介质、程序产品 | |
Garoffolo et al. | Sidechains: Decoupled consensus between chains | |
CN111797171A (zh) | 一种基于区块链跨链技术的数据同步系统 | |
Ng et al. | LDSP: shopping with cryptocurrency privately and quickly under leadership | |
Niu et al. | NFT cross-chain transfer method under the notary group scheme | |
CN112950180A (zh) | 一种基于联盟链的通证方法、系统、电子设备及存储介质 | |
CN114172661B (zh) | 一种数字资产的双向跨链方法、系统及装置 | |
CN116415955A (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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |