原子交换(Atomic Swap)这个概念最早在2013年Bitcointalk被提出,它结合了HTLC和赛局理论的想法,不仅是原子交换运用到了HTLC,闪电网路中也有相同的应用。

注:HTLC 为Hashed Timelock Contracts的缩写,也是原子交换的核心理念。这个合约需要交互或单一满足两种条件:1. HashLock 、2. TimeLock

HashLock:若用户能给出一笔资金的杂凑值(Hash),便能取得该笔资金的权限。

TimeLock:资金将被锁定一段时间,时间过后权限才被释放。

✓原子交换允许用户在没有第三方机构的参与下,得以实现点对点且具「原子性」的跨链「公平交易」。

原子性:非黑即白;只有交易成功或失败,没有中间状态。

公平交易:双方都履行承诺的义务,没有一方吃亏。

目前,跨链交易技术还在发展中,原子交换被认为可能是目前最成熟的技术之一,许多公司正应用原子交换试图推出钱包进行跨链交易(如Altcoin.io),史上募资最快的ICO项目Bancor也将应用原子交换来帮助肯亚的社群与商业活动。

Chalie Lee在2017年9月于Twitter上分享了他使用原子交换来进行比特币与莱特币的跨链交易成功的成果。

Decred也成功与莱特币透过原子交换进行跨链交易

简述原子交换交易过程:

小动想以10个ETH和小区交易1枚BTC。交易过程会分为三大步骤。

小动发送10ETH(不过这时还不会广播此发送);

(1)小动会将10ETH锁定到自己的地址里,并且有48小时的TimeLock(确保交易失败小动可以取回这笔钱)

( 2)小动向小区发出小区的签名请求

(3)收到签名后,小动再发送自己的签名

(4)等待TimeLock

(5)该「发送」被广播并上链 小区发送1BTC

同步骤1。

唯一的不同是,小区的TimeLock要比48小时短(目的同上,确保交易失败时取回)。本发送随后上链。 (1)两步骤都顺利的情况下,小动会在24小时内拿到小区发送的1BTC,并广播此发送,并上链。同时发送HashLock杂凑值的解给小区。

(2)小区透过解出HashLock得到小动的10ETH,本发送随后上链。

(在任何失败的情况下,双方都可以从该存放地址中取回属于自己的钱。)

原子交换的缺点

从上述过程可见,无论交易是否成功都包含了四个上链过程,这对原本交易速度就需要大幅改进的加密货币来说是十分累赘的。 TimeLock这段时间,允许发送方因为外部因素而取消交易(例如,小动的以太币涨价了,不愿发送而取消交易)。48小时的TimeLock是否太长事实上,无论时间长短都存在这样的漏洞。况且,缩短TimeLock会带来更多潜在风险。 遭到恶意攻击的风险:广播过程可能遭劫取或屏蔽从而干涉交易过程。