Hi 游客

更多精彩,请登录!

比特池塘 区块链前沿 正文

哈希时间锁定协议

孤钓客MZ2
59 0 0
哈希时间锁定协议(Hashed-TimelockAgreements,HTLAs)是一项可使不同区块链项目之间进行代币交易、互换的技术。在传统的交易所进行代币交易时,交易者往往需要把代币提前质押给交易所,这带来了一定的交易风险,并需要较高的手续费用。而在哈希时间锁定协议中,只需发送者、连接方、接受者三方,即可实现代币的交易,期间不需要任何交易所平台;且在交易失败时,代币并未发生实际转移,不需支付额外的交易费用。与交易所相比,哈希时间锁定协议相当于提供了一个“跳蚤市场”,毋需托管的第三方,交易所的作用被分散至社区内的个人,人与人之间可以安全地进行代币间的交易。
1 N  X" l5 \6 @: {% x6 c3 s% J0 ]5 Y# o& k; Y1 `7 Y; ^
    哈希时间锁定协议技术想法的提出,最早应源于2013年BitcoinTalk论坛里的一场讨论;而技术的实际落地,又与比特币的闪电网络有关联。在闪电网络中,为实现两个用户之间的小额支付通道,用户需提前锁定自己的部分款项,两用户涉及该部分款项的交易在链下进行。一段时间后,款项的最终分配确定下来,该分配方案再上传至主链(图1)。这样一来,即可使大量的小额交易在链下进行,提高了比特币网络的交易吞吐量。
1 {* t3 h2 R% l- e. W8 }' r" C. [8 z# N; L  n( U% f
    闪电网络中用于锁定用户款项的哈希锁合同(HashedTimelockContracts,HTLC)技术启发了后来的开发者们。代币与代币之间的交易,需要经由中间人的转换,这其中的关键在于取得各方的信任。而对代币进行锁定的过程,正是一个可以产生信任的质押过程。- J9 b# {5 C* V

/ u+ P" m$ i! c8 d1 V' I    以一笔虚构的交易为例。假如1个比特币与10个以太币的价值等同,发送者(Sender)手上拥有1.1个比特币,希望购买接收者(Receiver)提供的价值10个以太币的服务。则发送者可以联系一个同时具有比特币地址与以太坊地址的连接方(Connector),并协商好代币转换的手续费为0.1个比特币。那么交易的流程如下图(方案一):% V8 }+ N* g- i  {
' f6 d0 @! c7 x! F, _1 Y% V
    在这一过程里,风险较高的是传输1.1比特币的步骤:连接方有可能在收取1.1个比特币后马上退出交易,使得发送方利益受损。合理的方案是把比特币的交付延后处理。当以太币实现交付后,再进行比特币交付,交易风险即转移至连接方(方案二)。. P- d7 n$ Q1 y5 i! T2 Q/ C
+ H/ V" R$ l0 q
    为了同时保障连接方的利益,需解决的问题是确保接收方在获得10个以太币的同时,发送方的1.1个比特币也送往连接方,两个事件需要同时发生。这实际上是交易“原子性”的体现:要么款项完全实现转移,要么款项完全未转移,不存在中间的状态。这一问题由预共享密钥(Pre-SharedKey,PSK)技术解决。
. w) c5 C% W" r: p
* \# @/ B7 p3 q7 `+ a) c2 ?    如果把1.1比特币看做一个交易包,10以太币看做另一交易包,在PSK技术中,这两个交易包都由同一个密钥启动,从而实现“两者同时发生”。
& S4 \: x9 U5 n9 n% h1 Q* _* I
/ ?; q6 g% T4 ]( G3 [9 B5 t; j2 c    发送方预先由加密算法得到一个密钥,把密钥发送给接收者,把相关信息发给连接方。同时,发送方将自己的1.1个比特币锁定在交易包1里,需要密钥才能转移款项。! i% b1 e7 X$ @$ F
+ H( N5 S3 m& Q1 [* J
    连接方通过发送方给出的信息,制作一个包含10个以太币的交易包2并发给接收者。当接收者用密钥打开交易包2时,接收者获得10个以太币,同时密钥也被发送给连接方,连接方即可以使用该密钥获得交易包1里的1.1个比特币。这样一来即实现了代币之间的互换。8 L. j" n5 \4 C( U$ V. G
7 }" c7 A9 v; o" c
    为避免款项锁定时间过长,交易包一、二均需约定限制时间,超出时间后款项即解锁、返回原地址,这就是时间锁(Timelock)功能。而上文提到的预共享密钥则使用了哈希加密(Hashed),因此该技术方案被称为哈希时间锁定协议(Hashed-TimelockAgreements)。$ w) f3 k( K8 D+ Y, f5 [

7 T( G3 ~9 y; R  t& G3 K    这一技术依然存在一定的局限性:& o$ G  u8 f9 C* b6 X3 M' m( b- f

. @5 ?; V. p' K0 U6 B  m% v    (1)连接方需承担一定风险。在PSK技术中,连接方需向交易包1注入密钥才能获得比特币,也就是比特币和以太币的交付并非完全在同一时间发生。由于两个币种的交付均约定了限制时间,若交易包2的限制时间大于交易包1,有可能使得接收者获取10个以太坊后,连接方无法收回应得的1.1个比特币,蒙受损失。这一风险可通过设定交易包1的限制时间总大于交易包2来避免。, q  H. R) \( M# f  w

% _1 D6 }7 a* x8 ~    (2)对于不支持哈希时间锁技术的区块链项目,只能通过另外的账本平台进行上述过程。额外的记账平台可保存代币之间转移的交易记录。然而由于记账平台本身不发生代币的转移,本质上记录的是赊账、借账的信息,需交易双方之间相互具备充足的信任,交易才可进行。而通过账本平台,只要保证双方具备信任基础,非区块链的资产亦可通过这一记账方式进行交换。6 Z6 u* W) ^$ a  y6 ]: G
* ]! }  S8 `: \5 B
    本质上,不同资产之间的交易、流转,只需提供信任基础(产生联系),保证交易的原子性(资产交割),即可进行。而在哈希时间锁定协议中,代币的锁定实现了资产质押,为交易提供了信任基础。而密钥的传递,则保证了交易的原子性。同时时间锁的引入,避免了交易时间过长而造成的纠纷或意外。除区块链项目外,这一模式可应用到不同资产类别的流转中。5 H6 j; k, O7 g; e
+ @& R- O) t; a; ^- w4 x: T
    哈希时间锁定协议技术已由RippleInterledger项目基本实现,在可运行智能合约的区块链项目中,币币交易的落地或将逐渐变得普遍。这一技术提供了一种区块链项目生态的可能性:如BTC等主流区块链项目作为主结算系统,而其他应用项目针对性地解决用户的不同需求。当用户享受服务、进行结算时,使用代币互换技术进行支付。这样一来,主流项目传递价值;应用项目面向细分需求,同时为主流项目分摊服务压力;用户各取所需。最终将构建起一张全球共用的可信任的结算网络,在此基础上运行一切去中心化的应用,真正实现丰富的区块链应用生态。
BitMere.com 比特池塘系信息发布平台,比特池塘仅提供信息存储空间服务。
声明:该文观点仅代表作者本人,本文不代表比特池塘立场,且不构成建议,请谨慎对待。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

成为第一个吐槽的人

孤钓客MZ2 初中生
  • 粉丝

    0

  • 关注

    0

  • 主题

    20