
什么是 HTLCs?
比特币用户指南
TL;DR:Hashed Timelock Contracts(HTLCs)通过把哈希锁(证明掌握某个秘密)与时间锁(若未揭示则退款)结合起来,实现原子化、无信任的兑换。它们最早于 2013 年被提出,并于 2015 年被 Bitcoin 的 Lightning Network 采用,如今支撑着跨链兑换、submarine swaps 以及无需封装资产的 DEXs。尽管存在隐私与期权性方面的挑战,HTLCs 仍是互操作性的支柱,并正演进为 PTLCs(Point Timelock Contracts),以获得更好的隐私性与效率。
Hashed Timelock Contract(HTLC)是一种支持有条件付款或兑换的智能合约。它结合了两种密码学原语:
- 哈希锁:只有当接收方提供某个已知哈希 H = Hash(s) 的原像 s 时,才能领取资金。
- 时间锁:如果接收方未在截止时间前提供原像,发送方可以获得资金退款。
这确保了原子性:合约要么对双方都成功完成,要么安全地取消。
HTLCs 的应用场景:
- 跨链原子兑换,两条不同区块链上的资产在无信任的前提下完成兑换。
- Lightning Network 路由,支付中的每一跳都由 HTLC 保障。
- 桥与 submarine swaps,在无需封装资产的情况下实现链上 ↔ 链下互操作性。
HTLC 原子兑换的总体流程如下:

- 用户生成一个秘密 s,并只共享哈希 H。
- 用户在区块链 A 上把资金锁入一个带有哈希锁 H 和时间锁 t_A 的 HTLC。
- Solver 看到 H 后,在区块链 B 上把资金锁入一个 HTLC,使用相同的哈希 H,但时间锁更短 t_B < t_A。
- 用户通过揭示 s 赎回 Solver 在区块链 B 上的 HTLC。
- Solver 从区块链 B 得知 s,并用它赎回用户在区块链 A 上的 HTLC。
- 如果任何一方拖延,时间锁可确保资金被安全退款。
关于使用 HTLCs 的原子兑换,更多内容见这里。
HTLCs 的演进

起源:2013 年的一个激进想法
HTLCs 的故事始于 2013 年 5 月的 Bitcointalk 论坛。一位化名开发者 TierNolan 提出了一种无需依赖中介的跨链资产兑换方法。其原理十分优雅:哈希锁 + 时间锁 = 一份确保全有或全无结算的合约。
Bitcoin 脚本中的构建模块(2014-2016)
随着 Bitcoin 引入以下能力,HTLCs 成为可能:
- BIP65(CLTV,2014),用于绝对时间锁。
- BIP68 和 BIP112(CSV,2016),用于相对时间锁。
这些让合约中可强制执行的退款分支成为可能,使 HTLCs 在链上变得实用。
Lightning Network:首次大规模采用(2015–2017)
Lightning Network 论文(2015)使用 HTLCs 来保障多跳支付。当接收方揭示原像时,上游的每一跳都可以安全地领取资金。
到 2017 年, BOLT 规范在链上定义了精确的 HTLC 输出格式,巩固了它们作为 Lightning 核心机制的地位。
跨链原子兑换(2017)
2017 年 9 月,HTLCs 登上头条:
- Decred ↔ Litecoin 原子兑换。
- 随后不久是 Litecoin ↔ Bitcoin 兑换。
这在实践中验证了 TierNolan 在 2013 年的最初设想。
扩展与实验(2018–2022)
HTLCs 迅速扩展到各种应用场景:
- Lightning 路由(Optech HTLC 概览)。
- Submarine swaps,通过 Lightning Loop 实现。
- 钱包/DEX 集成,例如 Liquality 和 Komodo AtomicDEX。
研究驱动的演进:PTLCs(2020–2025)
HTLCs 暴露出隐私泄露问题(同一个哈希在所有跳中重复出现,参见 Lightning 隐私研究)。
Point Timelock Contracts(PTLCs)与 适配器签名一起作为继任者出现,带来隐私性、效率以及对路由拦截的抵抗力。

Point Timelock Contracts(PTLCs)是 HTLCs 的继任者,使用椭圆曲线点而非哈希原像,通过避免同一个哈希在支付路由的每一跳中被重复使用,解决了 HTLCs 的隐私问题。这让支付更难被关联,并保护了路由隐私。
PTLCs 不揭示哈希原像,而是使用适配器签名——一种嵌入了秘密标量的部分签名。当接收方补全签名以领取资金时,该秘密可以被提取出来,但与 HTLCs 不同的是,每一跳使用的曲线点都是唯一的。这不仅保持了原子性,还能与 Schnorr/Taproot 干净地集成,使 PTLCs 更私密、更高效,并且与普通支付难以区分。
我们的视角(2023)
2023 年末,Garden 在探索 Bitcoin 互操作性时,自然而然地关注到了 HTLCs。封装代币或 lock-and-mint 桥这类替代方案带来了托管风险和复杂性。
相比之下,HTLCs 不需要任何新资产,只需直接的加密结算。这种极简主义契合我们对最小化信任的互操作性的理念。
前行之路
今天的 HTLCs 是:
- Lightning 的心跳。
- submarine swaps 中的桥。
- PTLCs 的基础。
从 TierNolan 2013 年的论坛帖子,到如今数十亿美元规模的路由,HTLCs 已从论坛讨论演变为全球金融基础设施。
它们的继任者或许会加以改进,但原则始终不变:跨系统的无信任、有条件、原子化结算。
关于 Garden
Garden 是最快的 Bitcoin 桥,可在最短 30 秒内完成跨链 Bitcoin 兑换。它采用基于意图的架构构建,配合无信任结算,确保用户零托管风险。
加入 Garden 的 townhall,向我们的资深 gardeners 请教土壤酸度和修剪灌木的问题。
常见问题
1)HTLCs 解决了什么问题?
它们让跨跳或跨链的原子化、无信任结算成为可能:要么接收方揭示原像、所有人都拿到钱,要么截止时间到达、所有人都拿到退款,从而免去第三方托管与托管方。
2)HTLCs 安全吗?
是的,HTLCs 在密码学上是安全的,因为它们依赖强哈希函数(抗碰撞、原像安全)以及 Bitcoin 脚本中强制执行的时间锁(CLTV/CSV)。这些保证确保接收方要么揭示秘密以领取资金,要么在截止时间过后由发送方安全地取得资金退款。这使它们在设计上就实现了最小化信任,无需依赖中介或封装资产。
3)HTLC 和 PTLC 有什么区别?
HTLCs 使用哈希原像(H = Hash(s)),这可能在各跳之间泄露关联性;PTLCs 通过适配器签名使用椭圆曲线点(P = s*G),带来每一跳的唯一性、更好的隐私性以及与 Taproot 更干净的集成,同时保持原子性。
4)HTLCs 需要封装资产或托管方吗?
不需要,HTLCs 使用加密条件直接兑换每条链上的原生资产,无需 lock-and-mint 或合成代币,从而降低了托管风险和桥的智能合约风险。
5)如果接收方始终不揭示秘密会怎样?
时间锁分支会启动:下游合约先退款(t_B 更短),随后上游退款(t_A > t_B)。这种错开的超时设计可防止资金卡住,并在失败情形下保持原子性。
Last updated