基于哈希时间锁定的跨链交易

2026-02-20 08:18:41

跨链需求

随着区块链技术的发展,各种具有不同特点,不同应用场景的区块链比如比特币、以太坊等公链以及私链和联盟链大量共存,它们之间相互独立,进行数据通信和价值转移仍面临挑战,区块链孤岛现象十分严重。为了解决区块链孤岛,实现链与链之间互联互通,进行价值转移,就必须实现跨链技术。就连银保监会陈伟刚也曾说过:“区块链的跨链需求会越来越多,因为区块链是一个联盟链,只是在自己的行业里应用,效益就得不到最优,更多的是行业与行业之间的联盟链跨链,所以跨链需求会成为区块链的一个拓展方向”。

目前,主流的跨链技术方案主要有三种,分别是哈希时间锁定、公证人机制和中继链方式。本篇主要分析实现哈希时间锁定跨链技术方案。哈希时间锁定本质是一种智能合约,其最先出现于2013年的BitcoinTalk论坛的一次讨论中,最早在闪电网络中实现。

哈希时间锁

1. hash锁

hash算法是一个可以将任意长度的输入内容以一个固定长度输出的算法,输入内容称为原始值,输出内容称为hash值,hash算法可以保证

a. 输入内容一致的情况下,输出内容也是相同的;

b. 从输出内容不能反向推导出输入内容.

基于hash算法的特点,我们可以将hash值看成一把锁,而原始值则是唯一可以解开这把锁的钥匙.

2. 时间锁

时间锁比较简单,时间锁上会记录一个时间点,即使有正确的钥匙,也必须在此时间点前才能打开,过时则无法打开.

跨链原理

哈希时间锁定是基于哈希锁和时间锁来实现跨链。假如有两条区块链ChainA和ChainB,每个链的原生资产分别为a、b,两个用户Alice和Bob,Alice有资产a,Bob有资产b,Alice与Bob想交换资产,那么他们可以使用以下的方式来实现:

Alice选取一个秘密随机数S,计算出S的哈希值H(S),Alice将H(S)发送给Bob,然后Alice指定一个时间点T1.接着Alice在ChainA上创建资产锁定合约,合约执行以下步骤:

使用hash值H(S)将自己在ChainA上的资产a加上哈希锁;

使用时间点T1将自己在ChainA上资产a加上时间锁;

只有获得S并且在时间点T1才将资产a转移走,如果到时间点T1后仍未解锁,则允许撤销锁定,且不会发生资产转移。

Alice将H(S)发送给Bob,Bob基于H(S)和一个小于T1的时间点T2在ChainB上创建资产锁定合约,合约执行以下步骤:

使用hash值H(S)将自己在ChainB上的资产b加上哈希锁;

使用时间点T2将自己在ChainB上资产b加上时间锁;

只有拥有S并且在时间点T2才将资产b转移走,如果到时间点T2后仍未解锁,则b资产超时锁定。

Alice使用S在时间点T2前调用ChainB上的智能合约解锁资产b,并将资产转移给自己.

因为Alice解锁了资产b,所以Bob也获得S的值,Bob使用S在时间点T1前解锁资产a,并将资产转移给自己.

通过以上的过程Alice和Bob就使用哈希时间锁在两条链上完成了资产转移.

image.png

最新发表
友情链接