比特币网络正逐步承载更为复杂的金融产品,却依旧坚守去中心化与无托管底线。本文将以「NFT 抵押借贷」为切入口,拆解一套仅依靠 承诺交易、时间锁 与 SIGHASH 模式 即可实现的合约方案:
它能做到——借款无需卖 NFT、放贷不必追债、抵押波动时自动保护双方——而且无需任何预言机或第三方托管。整套逻辑同样适用于以 BTC、稳定币作为抵押物的场景。
关键词:NFT 抵押借贷、比特币脚本、承诺交易、时间锁、动态清算、SIGHASH_ANYONECANPAY、零预言机
一. 质押如何发生:把 NFT 锁进 2-of-2 多签
- Alice 拥有一枚以 UTXO 形式存在的 NFT(可通过 RGB 或其他协议转移)。
- 她与资方 Bob 构建 2-of-2 多签 UTXO:
scriptPubKey = 2 <Alice_pubkey> <Bob_pubkey> 2 OP_CHECKMULTISIG - 此输出包含两笔关键交易:
• 借贷交易:铸造该多签同时,把借到的 BTC 直接发送给 Alice;
• 锁定环节:必须在所有承诺交易签名完成后才广播借贷交易,防止 NFT 被单方提前转走。
二. 一次性本息到期赎回合约
仅需两笔承诺交易,即可实现「到期还款即赎回,逾期即清算」:
| 交易类型 | 作用 | 时间锁 | 金额规则 | 谁持密文 |
|---|---|---|---|---|
| 到期赎回交易 | 归还本息 <M * f(i,T)> 后解锁 NFT | 无时间锁 | Bob 签名 SIGHASH_ALL_ANYONECANPAY;Alice 事后补足差额 | Alice |
| 过期不候交易 | 到期未还款 NFT 自动归 Bob | T + t | 仅含 NFT → Bob | Bob |
关键细节:
• Bob 签的 ANYONECANPAY 允许 Alice 任意追加输入凑足本息;
• 无预言机 —— 到期计算仅是静态公式;
• Alice 可提前与 Bob 协商减免利息,重新签新约。
FAQ:到期赎回常见问题
Q1:我提前凑齐了 BTC,利息是不是可以议价?
A1:可以;只要 Bob 配合广播新费率即可,再以新合计金额签名即可赎回。
Q2:NFT 协议要求输出索引固定,如何兼容?
A2:签名时在 nSequence 内预留 输出位置槽位,必要时用承诺交易的 Version 2 追加额外输入解决。
Q3:Alice 忘记保存到期赎回交易怎么办?
A3:交易完全在链下保存,建议双方额外加密备份到邮箱或云笔记,防止误删。
👉 想亲手体验零托管借贷?现已提供一键生成功能测试! 立即查看交互工具
三. 多次付息计划:分期还款仍是链下承诺
将「付息-过期」组合重复使用即可分期:
- 第一次付息交易:输入初始多签,输出继续 2-of-2 NFT + Bob 当期利息;对应「过期不候」时间锁为
T1。 - 第二次付息交易:输入第一步 2-of-2,输出继续 2-of-2 NFT + 第二次利息;时间锁
T2。 - 第三次(末次):同「到期赎回交易」直接解锁 NFT。
签署顺序必须是倒序:先签第 3 组→第 2 组→第 1 组,避免剧本被「提前剧透」。
四. 动态清算:不需预言机也能防止「爆仓不还」
背景:若 NFT 价格暴跌,抵押价值 < 债务,Bob 必须能在「公平而不滥用」的前提下保护自己。方案要点:
• Bob 先广播 触发清算交易,NFT 另行锁定到「Alice/Bob 2-of-2」或「Alice 延后单签」的输出;
• Alice 获得宽限期 t 来广播 清偿交易,金额 = 债务折现值减惩罚值 A;
• 若宽限期内不还款,Bob 才用 清算 NFT 交易 拿走 NFT。
公式拆解: 应还_amount = [M * f(i,T) - 已还] * f'(i',T_residual) - A
参数解释:
• f'(i',T_residual):债务折现函数,防止 Bob 恶意利用时间差价套利;
• A:惩罚因子,Bob 越早发起清算越亏,遏制「恶意敲锤」。
👉 对于金融极客来说,这套折现模型比 DeFi 清算优雅的多。一图教你如何自己调参! 立即阅读设计面板
FAQ:动态清算常见疑问
Q4:没有预言机,如何确定 NFT 市场价?
A4:触发清算权完全交给 Bob,他按自己认定的下跌风险手动广播;这套设计既不依赖外部价格,也杜绝「预言机失灵」。
Q5:t 该设多大才公平?
A5:通常取 闪电通道争议窗口 7-15 日;既要给 Alice 筹资时间,也不能大到失去停损效率。
Q6:如果链拥堵,Gas 飙升,「清偿交易」来不及打包?
A6:Alice 可事先额外为交易设置 RBF(Replace-by-Fee)标记,及时自救。
五. 提前还款 & 异链还款
• 提前还款:调用之前「清偿交易」即可,利息按折现值计算;若双方都同意减免,可重新签一份更低金额的交易。
• HTLC 还款:若 NFT 控制脚本增加 Preimage 条件,Alice 完全可通过 闪电网络通道、稳定币 Layer 2 甚至 ERC-20 原子交换 来完成还款,只需在链上最终验证脚本条件。
六. 总结与展望
我们已经用最简单的比特币脚本完成了「NFT 抵押借贷」四大核心功能:
- 双向安全质押
- 一次性/多次到期赎回
- 无预言机动态清算
- 可拓展至多渠道还款
这一切都基于 承诺交易 + 时间锁 + SIGHASH 三大模块,充分说明了比特币脚本在金融场景中的「可编程性」——只是被低估。未来更多异链资产锚定比特币后,这套合约框架将进一步扩展为通用「链上-链下混合抵押协议」。
参考文献
- Satoshi Nakamoto, Bitcoin: A Peer-to-Peer Electronic Cash System
- Russell O’Connor et al., Simplicity: A New Language for Blockchains