跳到正文

原子交换

原子交换在两条链上协调条件领取与后续退款,但不会让确认同时发生,也无法消除手续费、价格风险、监控和超时风险。

更新于

仅供教育用途。请独立核验两条链、合约、超时、费用和退款路径;即使协议保持条件原子性,本金仍可能长期锁定或贬值。

直接答案

原子交换是一种异步协议,用于交换资产,而不让单一托管方控制两条交易腿。在经典哈希时间锁合约(HTLC)设计中,同一个原像授权双方领取,不同的到期时间则保留后续退款路径。这里的原子性是有条件的:交换中止时,诚实一方不应仅因中止而被对手夺走本金。它不表示同时确认、自动或免费退款、公允市价、持续流动性或匿名性。

每项部署都必须绑定链或网络、资产与合约、原始金额与小数位、领取与退款密钥、哈希构造、精确原像字节、脚本或字节码以及时间锁语义。两个系统即使都有哈希和时钟,也不一定兼容。比特币的绝对锁与相对锁、EVM 时间戳及其他链的最终性可能遵循实质不同的规则。

经典 HTLC 交换还会给最后行动的一方带来一定价格选择权:它可以拖延,以判断执行是否仍然有利。适配器签名及其他无脚本协议会改变链上足迹和假设,但仍需审计身份、时钟、费用、活性与恢复方案。

运作方式

  1. 固定两条网络、资产、金额、汇率、密钥、哈希与原像编码、合约或脚本字节、时钟单位、费用承担方及确认或最终性规则。
  2. 生成高熵、仅使用一次的秘密 x,离线计算 h = H(x),并让两侧实现基于相同原始字节复算摘要。
  3. 发起方为超时较长的一腿注资。参与方核验其链、资产、金额、密钥、哈希、代码与截止时间,再等待约定的安全确认深度。
  4. 参与方为超时较短的一腿注资。发起方重复同样的核验,并等待规定的确认或最终性。
  5. 发起方在更早的操作截止时间前,用 x 领取短腿,并在规范交易数据中公开精确原像。
  6. 参与方观察该领取,核验 H(x) = h,并为构造、广播、费用补救和最终性预留足够时间后领取长腿。
  7. 任一关口失败时,停止增加敞口。各时间锁到期后,主动构造或广播相应退款交易,并核对本金、费用、锁定时长和链上证据。

核心时间预算为 T_long - T_short >= observation + construction + broadcast + confirmation/finality + reorg/operations buffer。48 小时和 24 小时之类的名义值只是示例,并非通用安全参数。时间锁只会启用退款分支,不会广播退款交易或替用户支付费用。

示例

  • 哈希字节。 仅用于教学,UTF-8 abc 的原始字节为 0x616263SHA-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、代理或升级缺陷。
  • 封装资产或代币发行方、跨链桥、钩子、再基准或转账收费行为。
  • 复用哈希、金额和时间造成跨链关联。
  • 税务、制裁、法律、记录保存和灾难恢复失败。

常见误区

  • 原子意味着同时。 两条链通过有序异步状态机各自推进。
  • 中止会自动退回全部资产。 一方通常必须等待、发交易并付费;监控或费用故障会延长锁定。
  • 任何拥有哈希和时间锁的两条链都能互操作。 算法、编码、时钟、脚本、合约及最终性必须实际匹配。
  • 非托管意味着没有对手风险或价格风险。 阻挠、选择权、波动和操作依赖仍然存在。
  • 原子交换提供流动性与隐私。 它协调结算条件,并不创造报价、深度、对手方或不可关联的活动。

相关主题

来源

导航

搜索知识库...