LocalMonero will be winding down
- Effective immediately, all new signups and ad postings are disabled;
- On May 14th, 2024, new trades will be disabled as well;
- After November 7th, 2024, the website will be taken down. Please reclaim any funds from your arbitration bond wallet prior to that date, otherwise the funds may be considered abandoned/forfeited.
原子互換技術將如何在門羅幣上實現
在加密貨幣領域,人們一直都在追求真正意義上的去中心化和建設無需授權就可參與的交易系統,也正因如此,去中心化交易所和原子交換是少有的,讓人日思夜想的技術. 自誕生以來,門羅幣社區也一直在努力嘗試實現原子交換技術,但由於門羅幣隱私技術的特殊性,導致在設計門羅幣相關協議時會產生獨特的問題.
但首先,讓我們先回顧一下,到底什麼是原子交換. 說到底,原子交換技術是一種協定,通過該協定可以在無協力廠商擔保,且無需信任交易對方的前提下,自由兌換兩種不同區塊鏈上的加密貨幣. 這意味著,如果有人想將加密貨幣A兌換為加密貨幣B,那麼他們將能夠在去中心化的情況下實現交易,並不需要去一個中心化的交易所. 當然我們也可以想像,開發這種技術要做大量的研究工作,而使理論落地的技術會更加複雜. 再一次,LocalMonero的開發人員在本文裡會為普通人提供科普,以便幫助大家更好的理解.
首先,讓我們回顧一下最簡單的原子交換形式,這個技術在比特幣上已經實現. 假設有人想用比特幣兌換另一種加密貨幣,這裡原子交換技術是依靠的the same hash time lock contract technology,中文翻譯成雜湊時間鎖,具體操作如下.愛麗絲有比特幣BTC,但想要萊特幣LTC,而鮑勃擁有LTC,但他想要BTC. 於是他們決定進行原子交換,以便每個人都能得到他們想要的加密貨幣. 首先,愛麗絲使用程式腳本將BTC鎖定到一個特殊的比特幣位址,該腳本會將資金鎖定,即使她本人也無法拿回幣. 讀者可以想像成,就像愛麗絲將她的比特幣BTC鎖進密碼箱中一樣. 製作了密碼箱後,她得到了一把鑰匙,並將該鑰匙的雜湊值發送給鮑勃. 現在鮑勃本身沒有那筆比特幣的金鑰,他有的只是雜湊值,所以他還無法拿到資金.
鮑勃使用此雜湊作為種子,從中生成自己的密碼箱,並將其LTC發送到那裡,鮑勃的萊特幣也被鎖定了. 由於鮑勃的密碼箱是使用愛麗絲金鑰的雜湊值作為種子,因此愛麗絲可以使用她的金鑰在鮑勃的密碼箱中拿到萊特幣.並且,通過使用數學魔法,當愛麗絲使用鑰匙打開LTC鎖時,也就同時向Bob透露鑰匙,然後鮑勃可以使用該鑰匙索取愛麗絲放入密碼箱的BTC. 這樣,在沒有仲介的情況下,愛麗絲和鮑勃成功地交換了資產.相信看到這裡大家已經看暈了,這裡譯者額外舉一個例子幫助大家理解,假設A有兩個一模一樣的保險櫃,開鎖方式是聲音控制的,每當有人大喊鳳梨菠蘿蜜,兩個保險櫃不論相距多遠都會打開,A把自己的蘋果放進其中一個保險櫃,並把這個櫃子交給B,這時候雖然A知道密碼,可保險櫃在B手裡,B雖然有保險櫃可是打不開,這時的第二步是B把手裡的梨放進A的第二個保險櫃裡,因為A兩個保險櫃密碼都一樣,所以A可以打開,只見A大喊鳳梨菠蘿蜜,然後順利打開保險櫃拿到B的梨,B也知道了口令,拿到了A的蘋果.希望這個例子可以幫助大家理解,如何在不需要協力廠商參與的情況下,完成A和B的交易.
但是這裡有一個問題. 假設愛麗絲發送到她的幣到了密碼箱,而鮑勃中途變卦,決定不繼續交易了,這時候該怎麼辦.情況就變成了,愛麗絲無法拿回被鎖定的比特幣,由於另一方不履行剩下的步驟,導致先鎖定自己幣的人永遠失去了自己的幣. 幸運的是,這一點在設計的時候已經被考慮到了,比特幣有一種被稱為退款交易的小技術,因此在一段時間後,如果鮑勃沒有拿走BTC,則程式腳本啟動內置的保護功能,將BTC將自動返回至Alice. 而恰恰這點是門羅幣原子交換實施過程裡的主要瓶頸. 這是由於門羅幣的 環形簽名技術,門羅幣的發送者總是隱秘的. 程式腳本不知道門羅幣來自何處,也不知道該如何進行退款交易.
在2017年,一組研究人員概述了原子交換在門羅幣上工作的另一種方法. 經過幾年的完善,最終確定了一個流程,通過該交換流程,門羅幣可以與比特幣進行原子交換,甚至無需用到退款就可保證交易.
和以前一樣,複雜的技術和學術細節我們不去長篇累牘,有興趣的人可以自己去檢查和核實,本文首要任務還是簡化過程幫助大家理解,可簡化不代表簡單,下面的論述會扎實的帶來該理論的工作原理.
還是同樣的設定,假設Alice擁有XMR並需要BTC和Bob擁有BTC並希望XMR,首先他們都必須下載並運行支援原子交換的程式,原子交換的程式可以部署在錢包裡,去中心化的交易所或其它的特定程式中,只要該軟體運行了原子切換式通訊協定. 接下來的,第一步,Alice和Bob的用戶端相互連接,並生成幾個共用的金鑰. 在此步驟中,將創建一個新的門羅幣,其中Alice擁有金鑰的一半,而Bob擁有另一半金鑰. 交易開始前這個新錢包裡還沒有門羅幣,因此也沒有人可以花. 還有一件要注意的是,他們倆都擁有該錢包的查看金鑰,因此他們都可以窺視錢包內部,以查看是否或何時收到門羅幣.
第二步,Bob將他的比特幣發送到一個特殊的位址,類似于我們上文裡討論過的比特幣原子切換式通訊協定. Alice看到比特幣BTC到達區塊鏈上的該地址後,便將門羅幣發送到她和Bob都有一半鑰匙的門羅幣地址. Bob可以確認是否收到,因為他擁有查看金鑰,並且一旦他看到門羅幣已安全地放在錢包中,便向Alice發送一把鑰匙,以允許她提取比特幣. 與上文的協議類似,拿到比特幣的時候,她會自動把她手裡的一半門羅幣鑰匙給Bob, 現在Bob擁有完整的金鑰,因此他可以解鎖門羅幣,而Alice始終只有金鑰的一半,所以她拿不到那筆門羅幣.
如果你仔細研究了所有以上這些內容,但對門羅幣如何解決退款交易問題仍然感到困惑,其實答案很簡單. 由於門羅幣本身還沒有退款交易,因此上述這個過程裡,首先第一步是發送的比特幣,比特幣是有退款功能的,並且只有當驗證了比特幣在區塊鏈上被確認了之後,另一方才發送門羅幣.這使得門羅幣可以利用比特幣編寫好的退款腳本加以利用,而無需本身具有這些功能.
現在原子交換已經完成,對於Bob來說,他可以繼續使用此門羅幣錢包,或將這個錢包裡的門羅幣移至他已經擁有的另一個錢包,而至於Bob到底有沒有轉出去幣,包括擁有這個錢包觀察金鑰的Alice在內的其他人並不知道.不過事實上 Bob還是很可能會將門羅幣轉移到另一個錢包,因為愛麗絲雖然不能看到他到底有沒有轉出去幣,但仍然可以查看這個錢包有沒有其它幣進賬.
該協議的優點在於它很現代,並且有很大的優化空間.它的架構也非常靈活,因此在其他錢包或去中心化交易所中實現是簡單且易行的,並與現有架構完全相容.
