Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

哈希时间锁定协议

孤钓客MZ2
56 0 0
哈希时间锁定协议(Hashed-TimelockAgreements,HTLAs)是一项可使不同区块链项目之间进行代币交易、互换的技术。在传统的交易所进行代币交易时,交易者往往需要把代币提前质押给交易所,这带来了一定的交易风险,并需要较高的手续费用。而在哈希时间锁定协议中,只需发送者、连接方、接受者三方,即可实现代币的交易,期间不需要任何交易所平台;且在交易失败时,代币并未发生实际转移,不需支付额外的交易费用。与交易所相比,哈希时间锁定协议相当于提供了一个“跳蚤市场”,毋需托管的第三方,交易所的作用被分散至社区内的个人,人与人之间可以安全地进行代币间的交易。
8 ], Z# T1 W+ }6 G
& a/ h/ W# y/ i! G' c  R1 L9 A" P    哈希时间锁定协议技术想法的提出,最早应源于2013年BitcoinTalk论坛里的一场讨论;而技术的实际落地,又与比特币的闪电网络有关联。在闪电网络中,为实现两个用户之间的小额支付通道,用户需提前锁定自己的部分款项,两用户涉及该部分款项的交易在链下进行。一段时间后,款项的最终分配确定下来,该分配方案再上传至主链(图1)。这样一来,即可使大量的小额交易在链下进行,提高了比特币网络的交易吞吐量。
- [. z0 g1 K6 y: o9 E4 L7 x0 N+ B2 d* o0 J$ ^
    闪电网络中用于锁定用户款项的哈希锁合同(HashedTimelockContracts,HTLC)技术启发了后来的开发者们。代币与代币之间的交易,需要经由中间人的转换,这其中的关键在于取得各方的信任。而对代币进行锁定的过程,正是一个可以产生信任的质押过程。. U# Q+ j5 i- n7 e2 ~  u( V# y

3 f% C4 E7 z$ r- z6 e. l    以一笔虚构的交易为例。假如1个比特币与10个以太币的价值等同,发送者(Sender)手上拥有1.1个比特币,希望购买接收者(Receiver)提供的价值10个以太币的服务。则发送者可以联系一个同时具有比特币地址与以太坊地址的连接方(Connector),并协商好代币转换的手续费为0.1个比特币。那么交易的流程如下图(方案一):- i% \+ {- Z$ C8 F, q
7 z  D- m0 X$ \$ w. U
    在这一过程里,风险较高的是传输1.1比特币的步骤:连接方有可能在收取1.1个比特币后马上退出交易,使得发送方利益受损。合理的方案是把比特币的交付延后处理。当以太币实现交付后,再进行比特币交付,交易风险即转移至连接方(方案二)。
3 i/ X  f8 Q% I; Y2 G
( P$ R4 p9 h) q3 P; j- t    为了同时保障连接方的利益,需解决的问题是确保接收方在获得10个以太币的同时,发送方的1.1个比特币也送往连接方,两个事件需要同时发生。这实际上是交易“原子性”的体现:要么款项完全实现转移,要么款项完全未转移,不存在中间的状态。这一问题由预共享密钥(Pre-SharedKey,PSK)技术解决。: S, n6 c, ~$ H  a9 e9 Y  k" w8 \3 A) o

$ D$ q' b& [0 g" p. G; u    如果把1.1比特币看做一个交易包,10以太币看做另一交易包,在PSK技术中,这两个交易包都由同一个密钥启动,从而实现“两者同时发生”。" W/ G8 {& F! U% m" I6 \: Q; U

  l/ F+ y! v) F) X3 V3 O    发送方预先由加密算法得到一个密钥,把密钥发送给接收者,把相关信息发给连接方。同时,发送方将自己的1.1个比特币锁定在交易包1里,需要密钥才能转移款项。
% n) n) g+ w* ?- w. }2 t! ^- @9 {( c* p- Q8 |- s
    连接方通过发送方给出的信息,制作一个包含10个以太币的交易包2并发给接收者。当接收者用密钥打开交易包2时,接收者获得10个以太币,同时密钥也被发送给连接方,连接方即可以使用该密钥获得交易包1里的1.1个比特币。这样一来即实现了代币之间的互换。
  C1 c4 n# m* `; s+ A/ [/ N6 Q8 F  b$ P0 V/ I$ g$ D2 V
    为避免款项锁定时间过长,交易包一、二均需约定限制时间,超出时间后款项即解锁、返回原地址,这就是时间锁(Timelock)功能。而上文提到的预共享密钥则使用了哈希加密(Hashed),因此该技术方案被称为哈希时间锁定协议(Hashed-TimelockAgreements)。# N5 ^7 C' ]: J7 j2 T& n3 v+ W3 D

$ U, I' T7 K) u/ S8 [    这一技术依然存在一定的局限性:
9 L) r2 k0 P% T- B2 I
) s' z( s' f& M* ]# S4 q) n, W" J    (1)连接方需承担一定风险。在PSK技术中,连接方需向交易包1注入密钥才能获得比特币,也就是比特币和以太币的交付并非完全在同一时间发生。由于两个币种的交付均约定了限制时间,若交易包2的限制时间大于交易包1,有可能使得接收者获取10个以太坊后,连接方无法收回应得的1.1个比特币,蒙受损失。这一风险可通过设定交易包1的限制时间总大于交易包2来避免。
$ A/ I! ?* E. E* L+ Q, j; C6 {+ d2 `! u; c
    (2)对于不支持哈希时间锁技术的区块链项目,只能通过另外的账本平台进行上述过程。额外的记账平台可保存代币之间转移的交易记录。然而由于记账平台本身不发生代币的转移,本质上记录的是赊账、借账的信息,需交易双方之间相互具备充足的信任,交易才可进行。而通过账本平台,只要保证双方具备信任基础,非区块链的资产亦可通过这一记账方式进行交换。8 z' `- C. C' U: v8 u

* |  |5 o3 M" b' ~7 }    本质上,不同资产之间的交易、流转,只需提供信任基础(产生联系),保证交易的原子性(资产交割),即可进行。而在哈希时间锁定协议中,代币的锁定实现了资产质押,为交易提供了信任基础。而密钥的传递,则保证了交易的原子性。同时时间锁的引入,避免了交易时间过长而造成的纠纷或意外。除区块链项目外,这一模式可应用到不同资产类别的流转中。
" G4 o6 w/ ^0 Z! B( U! l
- |8 \' ]: h) V2 z2 c# Q0 ]5 l% O    哈希时间锁定协议技术已由RippleInterledger项目基本实现,在可运行智能合约的区块链项目中,币币交易的落地或将逐渐变得普遍。这一技术提供了一种区块链项目生态的可能性:如BTC等主流区块链项目作为主结算系统,而其他应用项目针对性地解决用户的不同需求。当用户享受服务、进行结算时,使用代币互换技术进行支付。这样一来,主流项目传递价值;应用项目面向细分需求,同时为主流项目分摊服务压力;用户各取所需。最终将构建起一张全球共用的可信任的结算网络,在此基础上运行一切去中心化的应用,真正实现丰富的区块链应用生态。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

孤钓客MZ2 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    20