交换里的原子是什么意思?
在计算机领域,原子操作不能半途而废:要么全部发生,要么全都不发生。原子交换把这条规则应用到两条区块链之间的交易上。您在一条链上的币和对手方在另一条链上的币被锁定,领取一边就会暴露打开另一边的钥匙。它防住的经典失败简单得扎心:您先转了,对方却再也不回转。在原子交换中,没有人能只带着您的那一半离开,途中也没有任何交易所运营方、跨链桥或托管中介经手资金。
哈希时间锁合约如何运作?
哈希时间锁合约(HTLC)是一种智能合约,把资金同时锁在两个条件之后:
- 哈希锁只把资金交给出示加密哈希背后秘密值的人。哈希本身可以随意公开,它不会泄露秘密的任何信息。
- 时间锁在秘密值未在设定期限前出现时,把资金退回原所有者。
两者结合,让诚实完成交易成为拿到任何东西的唯一途径。想取走对方的资产就必须公开秘密,而公开秘密恰恰让对方得以领取您的资产。若中途一走了之,两个期限相继到期,两笔押金各自回家。
原子交换有哪些步骤?
- 1
约定并生成哈希
双方约定金额。其中一方生成秘密值,只分享它的哈希。
- 2
锁定第一个托管
发起方在 A 链上把资产锁进一份合约:若秘密值在第一个期限前出现,就付给对手方。
- 3
锁定对向托管
对手方验证该托管后,在 B 链上用同一个哈希锁定资产,但期限更短,迫使发起方先公开秘密。
- 4
领取并公开
发起方领取 B 链上的资产,秘密值随之公开上链。对手方在链上读到它,再领取 A 链上的资产。
原子交换从何而来?
开发者 Tier Nolan 于 2013 年 5 月在 Bitcoin 论坛一个名为 Alt chains and atomic transfers 的帖子里,写下了第一套完整的原子交换流程。从想法到实践花了约四年:2017 年 9 月 20 日,第一笔被广泛记录的链上原子交换在 Decred 与 Litecoin 之间完成,用的是 Decred 团队发布的原型工具。Litecoin 创始人 Charlie Lee 公开了最早的一次执行:用 1.337 LTC 换 2.4066 DCR,几天后又完成了一笔 Litecoin 与 Bitcoin 的交换。交易量微不足道,但证明意义重大:两条毫不相干的区块链,在没有交易所、没有跨链桥、没有可信第三方的情况下完成了交易结算。
经典原子交换为什么一直小众?
安全模型经受住了考验,体验没有。1inch 原子跨链交换白皮书说得直白:像原子交换这样的去中心化替代方案,苦于糟糕的用户体验。2017 年验证之后交易量依旧稀薄,与密码学关系不大。手动完成一次交换要求很多:
- 您得自己找对手方:一个想要完全相反交易、金额相同、时间也相同的人。
- 两条链都要支持兼容的哈希函数和时间锁脚本,这排除了许多组合。
- 双方都要全程在线,并按正确顺序发布交易。
- 任何一边确定之前,都要在两个网络上等待确认,时机失误可能让一方暴露在风险中。
1inch 如何在原子交换之上构建?
1inch 的跨链兑换保留了原子内核,去掉了让人却步的部分。托管合约依然在两条链上锁定资产,一个秘密值依然解锁两边,时间锁依然退还所有滞留的资金。变化在于干活的人:您只签署一份订单,写明支付什么、想收到什么,被称为解析者的经过验证的专业机构会在降价拍卖中竞争成交。胜出的解析者为两个托管注资、处理秘密值交接,并支付两个网络的燃料费。秘密值只有在两个托管确认、各链达到最终性后才会共享,以防区块链重组影响兑换。安全押金奖励完成或退款兑换的人,因此即使有人失联,订单也不会被搁置。 完整流程见跨链兑换指南。 设计规范见 1inch 原子跨链交换白皮书(PDF)。
这种订单模型还支持部分成交:多个解析者分片完成一笔大额兑换。白皮书记录了一笔 5,436 WETH 的订单在一分钟内由 11 次部分成交填满;用户比一次性按当时市价兑换全部数量多收到 40,524 USDC。
原子交换为什么依然重要?
因为替代方案是信任。如今跨链流动的价值大多仍经由跨链桥和托管式服务,它们都各自引入一个您不得不相信的角色。原子托管去掉了这个角色:每条链上的代码自行执行约定,对手方的一举一动都可在链上验证。1inch 的跨链兑换保留了这一属性,同时让流程用起来与普通兑换无异。
这与经典原子交换有何不同?
- 谁来接对手盘
- 手动:您自己找的对手方。1inch:在拍卖中竞争的解析者
- 您签署什么
- 手动:严格按顺序的多笔交易。1inch:一笔订单
- 过程中的燃料费
- 手动:两条链都由您支付。1inch:解析者承担,已计入报价
- 兑换卡住时
- 两者都靠时间锁退款;在 1inch 上,安全押金会奖励善后的人
常见问题
相关但不相同。原子交换指的是全有或全无的结算机制;跨链兑换是建立在它之上的产品。在 1inch 上,跨链兑换经由原子托管结算,无需您管理秘密值、期限或对手方。
未完成的交换会在时间锁到期后退款给双方,机制本身不会困住资产。现实的风险在它周边:与未经审计的合约交互、给交易定错价,或签署了没读过的内容。经过审计的实现和清晰的界面很重要。
不需要。链与链之间穿越的只有那个在两边公开的秘密值。每一方都从已经在自己网络上的托管合约获得支付,因此既没有封装代币,也没有需要信任的桥合约。
它们需要能强制执行哈希锁和时间锁的手段。在比特币系的链上是交易脚本;在 EVM 链上是合约。为支持跨链兑换,1inch 在每个支持的网络上都部署了自己的托管合约。
想先补基础? 读一读什么是加密货币兑换, 或在学习中心浏览全部指南。
跨链兑换,无需管理秘密值
原子托管负责执行约定;您只需选好交易对,签名一次。