Hashed Timelock Contracts (HTLCs) 是什么?
Hashed Timelock Contracts (HTLCs) 是一种智能合约协议,只有在秘密在设定期限前被揭示时款项才会转移。如果计时结束,资金会退回给发送者。想象一个需要密码才能打开并在倒计时后自动关闭的储物柜。
“HTLCs 只是用于 闪电网络。”这不正确。Hashed Timelock Contracts (HTLCs) 也用于原子交换以及多链上的其他支付通道流程。
Hashed Timelock Contracts (HTLCs) 的工作原理
把它想成两个人设置了一个带倒计时的藏宝揭示,而且留有凭证。流程如下:
- 步骤 1: 两名用户同意在一个 点对点 环境中交换资金。接收方生成一个随机秘密,然后仅将其指纹分享给发送方。
- 步骤 2: 发送方将资金锁入合约,只有当接收方揭示与共享指纹匹配的秘密时才会支付,该指纹是通过 密码学哈希 生成的。
- 步骤 3: 接收方在计时结束前揭示秘密并花费资金。合约验证匹配后释放付款。
- 步骤 4: 如果时间先到,资金会自动退回给发送方。
- 步骤 5: 对于通过多跳路由,每一跳使用相同的秘密指纹。当最终接收方揭示该秘密时,每一跳就会按顺序收到付款。就这么简单。
是的,这就全部原理。
为什么 Hashed Timelock Contracts (HTLCs) 很重要
你会关心,因为这就是加密资产在不需要盲目信任的情况下转移价值的方式。
- 好处: 要么全部结算,要么全部不结算,让双方都具有 无需信任 的特性。
- 视角: 它实现了即时路由、跨链兑换,以及可用于互联网级别的支付而无需客服介入。
- 相关性: 你会在支付通道、去中心化交易所互换以及基于通道的应用中遇到它,在比特币和其他链上都能见到。
在上游设置比下游更长的超时时间,且不要重复使用秘密。把这些当作可编程的 托管式安排,通过计时器让各方保持诚实。
Hashed Timelock Contracts (HTLCs) 的主要特征
它们的特点包括:
- 哈希锁: 只有揭示正确秘密时资金才会解锁。
- 时间锁: 如果未在规定时间内揭示,资金会退回给发送者。
- 原子性: 在多跳路径中,要么全部结算,要么都不发生转移。
- 可移植性: 在支持基本脚本或合约的不同链上可运行。
变体
相同概念,不同实现:
- 哈希: 指纹可以采用不同算法,例如 SHA256 或 Keccak。
- 脚本: 在比特币上基于脚本,在以太坊上由智能合约实现。
- 超时: 可选相对时间或绝对时间,根据路由风险和费用设定。
- 路由: 支持单跳支付或用于较长路径的多跳。
当支付被领取后,秘密会变成公开信息。不要在不同的 Hashed Timelock Contracts (HTLCs) 中重复使用,且务必错开各段的超时时间。
示例
在咖啡馆,一笔通过路由的支付在商家揭示秘密的瞬间由 Hashed Timelock Contracts (HTLCs) 完成结算,所有中继节点会自动结算。
趣闻
这一概念在早期比特币支付通道的设想中被提出,后来在闪电网络白皮书中广为推广;首批使用类似方法的公开原子交换出现在 2017 年的 Decred 和 Litecoin 之间。虽然有点技术宅,但具有历史意义。
总结
简短总结:可编程定时器加上秘密代码,使资金能在无需中间人的情况下有把握地流动。
