概述
哈希时间锁(Hashed TimeLock Contract HTLC
)是指可以创建特定智能合约的功能,该合约可以修改付款通道。
- 技术来说
- HTLC功能实现了两个用户之间的限时交易。
- 实践中
- HTLC交易的接收方必须在`指定的时间范围内(指定区块数)提交一个加密证明,来确认这笔支付。如果接收方在指定时间没有确认活确认失败,则这笔支付资金将返还给原有的发送者。
详解
HTLC功能可以用在双向支付或者路由支付通道中,来允许资金在多种支付通道中进行安全转移,而不需要依赖任何中间人的信任。
有两个关键元素可以将HTLC交易
与标准的加密交易
区分开
- HashLock(哈希锁):限制资金支出的功能,直到一些数据被公开披露(例如:加密证明);证明也可以称为
哈希锁原像
。哈希锁原像
是用来生成哈希锁、并随后解锁资金的信息。 - TimeLock(时间锁):限制资金直到未来的指定时间才能进行支出的功能;在bitcoin中有实现,例如:
CheckLockTimeVerify
或者CheckSequenceVerify
.
Bitcoin的闪电网络
是Hashed TimeLocked
合约最受欢迎的用例之一;通过在支付通道中实现HTLC
,资金通过支付通道可以在不同的用户之间进行转移,而不需要依赖任何第三方的信任。这个过程类似于网络路由。即使不存在直连的支付通道,它也允许Alice与Carol之间进行转账。 HTLC可以让Alice通过网络中的其它参与者给Carol转移资金,并且由于转账使用了HashLock
与TimeLock
功能,所以Bob无法窃取这笔转账资金。
除了Bitcoin的闪电网络,HTLC在其它场景下也非常有用;例如跨链的原子交换,智能合约、第三方托管等.