仅供教育用途。请独立核验两条链、合约、超时、费用和退款路径;即使协议保持条件原子性,本金仍可能长期锁定或贬值。
直接答案
原子交换是一种异步协议,用于交换资产,而不让单一托管方控制两条交易腿。在经典哈希时间锁合约(HTLC)设计中,同一个原像授权双方领取,不同的到期时间则保留后续退款路径。这里的原子性是有条件的:交换中止时,诚实一方不应仅因中止而被对手夺走本金。它不表示同时确认、自动或免费退款、公允市价、持续流动性或匿名性。
每项部署都必须绑定链或网络、资产与合约、原始金额与小数位、领取与退款密钥、哈希构造、精确原像字节、脚本或字节码以及时间锁语义。两个系统即使都有哈希和时钟,也不一定兼容。比特币的绝对锁与相对锁、EVM 时间戳及其他链的最终性可能遵循实质不同的规则。
经典 HTLC 交换还会给最后行动的一方带来一定价格选择权:它可以拖延,以判断执行是否仍然有利。适配器签名及其他无脚本协议会改变链上足迹和假设,但仍需审计身份、时钟、费用、活性与恢复方案。
运作方式
- 固定两条网络、资产、金额、汇率、密钥、哈希与原像编码、合约或脚本字节、时钟单位、费用承担方及确认或最终性规则。
- 生成高熵、仅使用一次的秘密
x,离线计算h = H(x),并让两侧实现基于相同原始字节复算摘要。 - 发起方为超时较长的一腿注资。参与方核验其链、资产、金额、密钥、哈希、代码与截止时间,再等待约定的安全确认深度。
- 参与方为超时较短的一腿注资。发起方重复同样的核验,并等待规定的确认或最终性。
- 发起方在更早的操作截止时间前,用
x领取短腿,并在规范交易数据中公开精确原像。 - 参与方观察该领取,核验
H(x) = h,并为构造、广播、费用补救和最终性预留足够时间后领取长腿。 - 任一关口失败时,停止增加敞口。各时间锁到期后,主动构造或广播相应退款交易,并核对本金、费用、锁定时长和链上证据。
核心时间预算为 T_long - T_short >= observation + construction + broadcast + confirmation/finality + reorg/operations buffer。48 小时和 24 小时之类的名义值只是示例,并非通用安全参数。时间锁只会启用退款分支,不会广播退款交易或替用户支付费用。
示例
- 哈希字节。 仅用于教学,UTF-8
abc的原始字节为0x616263;SHA-256(0x616263) = ba7816bf8f01cfea414140de5dae2223b00361a396177a9cb410ff61f20015ad。若对显示文本0x616263进行哈希,会得到不同摘要。生产环境的秘密必须具有密码学熵,且不得复用。 - 超时预算。 假设长腿退款在
48.0 h到期,短腿退款在24.0 h到期。若短腿领取在22.0 h提交,观察耗时0.5 h,构造与广播耗时0.5 h,长链确认耗时1.5 h,预计完成时刻为24.5 h。模型中的长腿剩余裕量为48.0 - 24.5 = 23.5 h;这不是对出块的保证。 - 价格选择权。 达成协议时,
1 BTC按$60,000计,等于20 ETH按$3,000计。领取时,比特币价格为$63,000,ETH 为$2,800;Alice 交付$63,000,收到20 x $2,800 = $56,000,相对当时市价的差额为-$7,000,尚未计费。协议原子性不会锁定经济价值。 - 中止账本。 Alice 支付
0.00020 BTC注资费用及0.00025 BTC退款费用,共0.00045 BTC,折合$27,采用的汇率为$60,000/BTC。Bob 支付0.006 ETH注资费用及0.004 ETH退款费用,共0.010 ETH,折合$30,采用的汇率为$3,000/ETH。本金稍后返还,但双方不可退还的网络成本合计$57,另有机会成本。
风险
- 链或网络域错误。
- 原生资产、代币合约或小数位错误。
- 金额、领取密钥或退款密钥错误。
- 哈希算法或字节编码不兼容。
- 秘密熵不足、被复用或过早泄露。
- 领取分支、脚本或字节码存在缺陷。
- 退款路径无效、不可用或未签名。
- 超时顺序颠倒或缓冲不足。
- 误读区块高度、中位时间、时间戳或相对锁语义。
- 临近到期时短腿领取与退款发生竞态。
- 链重组移除注资、原像公开或领取交易。
- 确认或最终性策略不足。
- 费用激增、交易池驱逐、审查或无法提高手续费。
- 监控、RPC、索引器、钱包或密钥故障。
- 对手拖延、阻挠及锁定资金的选择权。
- 汇率、基差与可执行流动性变化。
- EVM 调用、重入、Gas、代理或升级缺陷。
- 封装资产或代币发行方、跨链桥、钩子、再基准或转账收费行为。
- 复用哈希、金额和时间造成跨链关联。
- 税务、制裁、法律、记录保存和灾难恢复失败。
常见误区
- 原子意味着同时。 两条链通过有序异步状态机各自推进。
- 中止会自动退回全部资产。 一方通常必须等待、发交易并付费;监控或费用故障会延长锁定。
- 任何拥有哈希和时间锁的两条链都能互操作。 算法、编码、时钟、脚本、合约及最终性必须实际匹配。
- 非托管意味着没有对手风险或价格风险。 阻挠、选择权、波动和操作依赖仍然存在。
- 原子交换提供流动性与隐私。 它协调结算条件,并不创造报价、深度、对手方或不可关联的活动。
相关主题
来源
- Atomic Cross-Chain Swaps - Association for Computing Machinery(访问日期:2026-08-13)
- On the optionality and fairness of Atomic Swaps - Association for Computing Machinery(访问日期:2026-08-13)
- BIP 65: OP_CHECKLOCKTIMEVERIFY - Bitcoin Improvement Proposals(访问日期:2026-08-13)
- BIP 112: CHECKSEQUENCEVERIFY - Bitcoin Improvement Proposals(访问日期:2026-08-13)
- Contracts - Bitcoin Developer Documentation(访问日期:2026-08-13)
- Transactions - Bitcoin Developer Documentation(访问日期:2026-08-13)
- Atomic Swaps - Decred Documentation(访问日期:2026-08-13)
- Proof-of-stake (PoS) - Ethereum.org(访问日期:2026-08-13)