Wasabi Wallet 與Samourai Wallet 一直是這個生態系統中持續時間最長的爭執之一。比特幣的隱私是一項非常重要的財產,迄今為止,在提供解決方案方面已經做了很多工作,在改進它方面還有很多工作要做。
我個人認為不和及其後果是一種相當可悲的事態,雙方都有 人身攻擊, 不准確的陳述 對另一個項目和植根於這兩件事的營銷的一致嘗試。對於如何使用比特幣實現隱私以及在更廣泛的比特幣社區中採用隱私工具的理解,它做了很多工作。
解開這場爭執導致的所有後果和誤解可能需要寫一篇小中篇小說,但我想在這裡集中討論這兩個項目之間的技術差異。每個項目在參與CoinJoining 時使用不同的交易結構和流程。 Wasabi 選擇創建非常大的交易以包含大量輸入和輸出,從而為每筆交易創建更大的匿名集。 Samourai 選擇參與規模小得多的交易,並在它們之間進行結構化交互,並在許多連續交易中復合匿名性。
武士的TX0
Samourai 的部分設計是零交易(TX0)。這是實際CoinJoin 交易之前的一種設置交易。它將原始的、未混合的輸入拆分為單獨的混合面額輸出、找零輸出,並且是Samourai 為協調CoinJoins 收取混合費用的地方。
將原始未混合輸出分解為混合面額輸出首先允許所有這些輸出立即加入隊列以進行混合,因為請記住,Samourai 可以並行且更快地協調許多較小的CoinJoin 交易。 TX0 允許您的硬幣更快地利用這些並行混合,否則您將不得不等到您逐個削減混合面額輸出並在CoinJoin 交易本身中接收您的更改以用作下一次的輸入一。鑑於Samourai 有許多CoinJoin 並行發生,這將是一個非常低效的設計。
中的一個 兩個項目之間爭執最長的話題是TX0 比沒有TX0 提供了根本的隱私改進. 傳統上的說法是,通過在預CoinJoin 交易而不是第一個CoinJoin 交易中刪除和隔離更改輸出,混合UTXO 變得更加私密。這是完全不准確的。
為了打破原因,我將介紹Samourai 和Wasabi 組合的鏈上情況。
交易圖相關性
CoinJoin 的全部目的是掩蓋比特幣交易的輸入和輸出之間的聯繫。通過構建涉及多個人的交易,該交易接受輸入並創建相同面額的輸出,如果用戶選擇在未來的輪次中回收它們,您可以創建比特幣交易,外部觀察者無法確定哪些輸入與所有權相關的輸出。如果五個人提供任何價值的輸入,並且所有人都收到相同面額的輸出(例如0.01 BTC),那麼外部觀察者無法確定任何給定輸入的哪個所有者擁有混合面額(0.01 BTC)的任何結果輸出。
所以讓我們坐下來想想當你第一次和Samourai 混在一起時會發生什麼。你拿1.1 BTC 去和0.5 池中的Whirlpool 混合,首先發生的是你的TX0。你的1.1 BTC 被分成兩個0.5 BTC 的輸出,然後是0.1 BTC 的零錢輸出。
在這一點上,仍然很清楚所有這些輸出都歸同一個人所有。然後,您將兩個0.5 BTC 輸出排隊到混合池中,它們最終會參與第一個實際的CoinJoin 交易。此時,外部觀察者知道最初的1.1 BTC 輸入歸一個人所有,0.1 BTC 找零輸出仍然歸該人所有,每個0.5 BTC 輸出參與的第一個coinjoin 交易,以及事實觀察到的人擁有這些交易輸出之一(儘管不是哪個特定輸出)。
0.1 BTC 找零輸出以任何方式損害兩個0.5 BTC 混合輸出的隱私的唯一方法是,如果它在單個交易中被花費並與它們結合,或者以其他方式與它們在區塊鏈上捆綁在一起(就像將更改輸出發送到您將混合輸出發送到的相同地址)。
讓我們想想當你與芥末混合時會發生什麼。您採用相同的1.1 BTC 輸入,並將其排隊等待混合。如今,Wasabi 支持幾種不同的混合面額,但為簡單起見,我們假設它們僅支持0.1 BTC 的混合面額。該輸入已排隊,CoinJoin 發生,您將收到0.1 BTC 混合面額輸出和1.0 BTC 找零輸出。外部觀察者看到了什麼?他們看到1.1 BTC 輸入的所有者仍然控制1.0 BTC 找零輸出,他們看到了他們參與的第一個CoinJoin 交易,並且他們知道該人擁有該交易中的0.1 BTC 混合面額輸出中的一個(儘管不是哪個具體的輸出是)。
他們學習的信息與他們觀察漩渦混合所學習的信息完全相同。如果Wasabi 用戶使用其更改輸出重複該過程,則不會發生任何變化。觀察者了解未混合輸入和更改輸出之間的相關性,以及混合輸出之一歸該人所有這一事實,但不知道是哪一個。只要零錢輸出不與鏈上的混合輸出連接,就不會為用戶帶來隱私洩露。 TX0,並在CoinJoin 交易本身之前剝離更改,在隱私級別上絕對沒有區別。
那麼什麼是TX0?這是對並行協調許多CoinJoin 事務的CoinJoin 實現的優化,對於一次協調單個CoinJoin 事務的CoinJoin 實現來說實現是沒有意義的。在Whirlpool 中,提前分解硬幣是有道理的,因為有許多不同的CoinJoin 並行發生,每個預先劃分的輸出都可以參與。在Wasabi 中,一次只有一個,所以預先分割你的硬幣沒有在效率方面的意義。
Samourai 在處理變更方面確實比Wasabi 有更強的保護措施,但這與鏈上發生的交易結構完全無關。它將零錢輸出隔離到一組單獨的地址中,並在錢包中發出警告,以及防止將零錢輸出與混合輸出一起使用的安全措施。
我敢肯定,當您閱讀本文時,許多Samourai 用戶和開發人員會尖叫我正在傳播FUD。我鼓勵讀者真正坐下來思考我已經列出的事實,並有邏輯地分析事物。我所說的一切都是事實,並且可以通過理性思考來驗證。
此時與 芥末最近關於審查特定“受污染”輸入的行動 從向他們的協調員註冊CoinJoins 開始,我絕不會建議純粹出於道德原因使用它。我認為其團隊在沒有任何法律或監管要求的情況下採取的行動坦率地說是懦弱的,並且表現出弱點,這將鼓勵政府實體更加努力地攻擊隱私。
也就是說,我認為在隱私工具方面,用戶應該根據事情的實際運作方式做出明智的決定,而不僅僅是營銷口號和主張。正確使用時,芥末和武士都可以為用戶提供隱私。 Samourai 確實有更多的保護措施來確保它被正確使用,但這些都只是作為警告集成在錢包軟件中,以及混合和非混合輸出的地址是如何單獨生成的。 TX0 與它無關,它本身不提供額外的隱私優勢。
這是Shinobi 的客座帖子。所表達的意見完全是他們自己的,不一定反映BTC Inc 或 比特幣雜誌.