把「哈希时间锁」这四个字和闪电网络画等号,会错过这份脚本体裁的最奇特应用。BIP-199(2017 年 3 月由 Zcash 团队的 Sean Bowe 与 Daira Hopwood 领号)给出的通用模板是:卖方通过揭示一段哈希的原像来取钱,买方在超时后可以把钱退回——本质上是一份「用秘密换钱」的合约。BIP-197 的作者 Matthew Black 与 Tony Cai(Atomic Loans 项目,2019 年 3 月 19 日领号,状态 Draft)在此基础上多问了一步:如果揭示秘密这件事,代表的不是「我付了款」,而是「你还了贷」呢?
合同舞台:两条链、五把哈希
HTLCC 的设定是借贷双方的资产分居两链:抵押品是比特币,本金发行在另一条「本金链」上。双方交换的材料包括借款人产生的两个秘密哈希(A1、A2)与贷款人产生的三个(B1、B2、B3),并为贷款期、清算期、扣押期各约一个超时阈值。五个哈希不是编号游戏,每一个对应合同里一个需要不可抵赖地「官宣」的事件:放款批准、拒绝放款、还款证明、竞价成功、最终扣押。哈希承诺的好处是事件本身可以发生在比特币链外,只要参与者肯在合适的时间把原像写进某笔交易的解锁脚本里。

可退抵押脚本:三种结局的分支树
抵押品被拆成两个 P2SH 地址存放,比例由双方链下预先谈定,对应违约且不走清算时各方能分走的份额。可退抵押脚本的结构是三层门:第一层,借款人出示秘密 B2 即可自取——这是正常结清或对手放弃后的退款路径;第二层,贷款期超时后,需要同时凑齐秘密 A2、B2、B3 与原像链,再叠加借款人与贷款人的 2-of-2 多签才能花——这是进入清算程序的联名通道;第三层,清算期也超时,借款人独取。每一层用 OP_SIZE 先验长度再跑 [HASHOP](OP_SHA256 或 OP_HASH160)比对摘要,时间门则用 [TIMEOUTOP](相对或绝对时间锁二选一)卡死。
可扣押脚本:多出一个竞价窗口
可扣押脚本的前两层几乎相同,差别在第三层拆成了两岔:清算期超时后,先开一个竞价窗口——出示 A1 的人(意味着有人替借款人把债还了,包括竞拍的第三方)可取;竞价窗口再超时,归借款人。这一岔正是「liquidation without trust」的机关:抵押品永远不落到贷款人单独手里,违约时它要么被还款方(含竞价者)连同债务一起接走,要么在时限耗尽后回到借款人——贷款人的本金保障来自本金链上的那份镜像合同与多签条款,而不是对抵押品的直接支配。
和闪电 HTLC 的三点不同
闪电里的 HTLC 是路由 hop 之间的接力棒,秘密链条一拉到底、时效以小时计;BIP-197 的脚本面对的是一笔可能横跨数月、横跨两条链的债务,因此多了三方竞价分支与两段独立的超时阶梯。BIP-199 原文演示的另一用途——零知识或然支付(用 HTLC 买一个加密数独答案的解密密钥)——则展示了同一模板从金融到密码学市场的弹性。两份提案合读,能看清「秘密即事件信号」这一原语的适用边界:它假设一旦原像上链,相关方就来得及在下一道时限前行动;跨链场景里这个假设要靠两条链的出块时间差吃饭。
快速问答
问:贷款人违约不承认还款怎么办? 答:借款人在比特币侧揭示还款秘密即可解锁退款路径,承认动作被脚本自动执行。
问:为什么抵押品拆成两个地址? 答:为了在双方都不走清算时,按事先约定的比例自动分配,无需互相信任或再签名。
问:这套脚本上线主网了吗? 答:它是 Applications 层草案,依赖的全是既有操作码,任何钱包都能实现,但采用从未规模化。
常见误区
一是把 HTLCC 当智能合约平台——它是两棵固定分支树,参数之外的条款全在链下;二是以为竞价者需要信任贷款人,实际上竞价路径只验秘密;三是忽视时限博弈:本金链确认慢或比特币侧拥堵,都会让「在超时前把揭示交易挤上链」成为真实风险。
风险提示:本文介绍脚本结构,不构成投资建议;跨链抵押类安排存在时限、汇率与对手方多重风险,实际采用情况请以当期项目文档为准。
发表评论
还没有评论,来说两句吧。
评论区为展示样式,提交不会被处理。