原子交換(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上分享了他使用原子交換來進行比特幣與萊特幣的跨鏈交易成功的成果。
Did a cross-chain atomic swap with LTC/BTC! ?
10 LTC for 0.1137 BTC with @JStefanop1. ⛓⚛?https://t.co/vXwTNirk0Jhttps://t.co/3NTplBOoW9 pic.twitter.com/DRKaHg4Wc7— Charlie Lee [LTC⚡] (@SatoshiLite) 2017年9月22日
Decred也成功與萊特幣透過原子交換進行跨鏈交易
Just completed the first $DCR <> $LTC cross-chain atomic swap with @SatoshiLite. Huge shout-out for debugging with us! More info soon™… pic.twitter.com/o2viQm3LTR
— Decred (@decredproject) 2017年9月19日
簡述原子交換交易過程:
小動想以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會帶來更多潛在風險。
- 遭到惡意攻擊的風險:廣播過程可能遭劫取或屏蔽從而干涉交易過程。
《BlockTempo動區動趨》LINE官方號開通囉~立即加入獲得第一手區塊鏈、加密貨幣新聞報導!