我們可以從學習 hack 中學到什麼? 在 DAO 2016 黑客攻擊後揭示對隱私和加密貨幣運動的見解

合作關係

加密貨幣一詞幾乎成為黑客攻擊的代名詞。 似乎每週都會發生針對交易所、個人用戶錢包、智能合約及其所在公共區塊鏈的令人瞠目結舌的大規模黑客攻擊。 在許多情況下,回想起來,攻擊的媒介是顯而易見的:代碼未經測試、不存在防止網絡釣魚的內部流程、未遵循基本代碼標準等。對於那些已經熟悉的人來說,研究黑客本身通常不會收集到太多有趣的信息。基本安全實踐。 

但每次加密貨幣黑客攻擊都有兩個主要組成部分——黑客本身,以及黑客及其同夥試圖兌現被盜戰利品的方法。 對於隱私倡導者來說,對這些基金進行匿名化的嘗試是公共區塊鍊網絡中可實現的匿名級別的有趣案例研究。

由於這些資金受到組織嚴密、資金充足的政府機構和企業實體的密切跟踪,因此它們為社區提供了觀察所涉及的各種隱私錢包的功效的機會。 如果這些黑客不能保持隱私,那麼在公共網絡中尋求隱私的普通用戶能夠實現這一目標的機會有多大? 

DAO 2016 黑客攻擊,一個典型案例

在研究這些黑客攻擊和隨後的逮捕行動時,我們發現,在大多數情況下,黑客在試圖對其加密貨幣進行匿名化時會犯下嚴重錯誤。 在某些情況下,失敗是由於簡單的用戶錯誤造成的。 在其他情況下,它們是由他們使用的錢包軟件中的錯誤或將加密貨幣轉換為現實世界資產的過程中其他不太明顯的失誤引起的。 

最近,一個特別有趣的案例,即 2016 年 DAO 黑客事件,有了重大進展——一項調查 福布斯文章 已發布,確定了被指控的黑客的身份。 識別此人的過程提供了對廣泛使用的隱私錢包 Wasabi Wallet 的一些見解,以及該軟件的不當使用如何導致所謂黑客資金的“分離”。 

犯了嚴重錯誤

至於操作順序,黑客的第一個舉動是將部分被盜資金從以太坊經典轉換為比特幣。 黑客使用 Shapeshift 來執行交換,當時提供了平台上所有交易的完整公共記錄。 從 Shapeshift 中,部分資金轉移到了 Wasabi 錢包中。 從這裡開始,事情開始走下坡路。  

對於那些不熟悉的人來說,CoinJoin 是一種特殊交易構建協議的綽號,該協議允許多方將其資金聚合成一筆大型交易,目的是打破流入 CoinJoin 的資金與流出 CoinJoin 的資金之間的聯繫。

CoinJoin 交易不是具有單個付款人和收款人的交易,而是具有多個付款人和收款人。 舉例來說,您有一個有 10 名參與者的 CoinJoin - 如果 CoinJoin 構建正確並且正確遵循所有交互規則,則流出 CoinJoin 的資金將具有 10 的匿名集。即 10 個“混合輸出”中的任何一個交易中的“未混合輸入”可以屬於交易的10 個(或更多)“未混合輸入”中的任何一個。 

雖然 CoinJoin 可能是一個非常強大的工具,但參與者有很多機會犯下嚴重錯誤,從而顯著降低或完全破壞他們可能從 CoinJoin 獲得的任何隱私。 在所謂的 DAO 黑客事件中,就犯了這樣的錯誤。 正如您接下來將要讀到的,此錯誤有可能是用戶錯誤,但是,Wasabi 錢包中也可能存在(已修復)錯誤,導致此隱私失敗。 

芥末錢包使用 零鏈接協議,它構造具有等值混合輸出的 CoinJoins。 這意味著所有用戶都必須僅混合指定的、預定數量的比特幣。 進入 CoinJoin 的任何高於該金額的值都必須作為未混合的比特幣返回給相應的用戶。

例如,如果 Alice 有一個 15 比特幣輸出,而 CoinJoin 只接受價值 1 比特幣的輸出,那麼在 CoinJoin 完成後,Alice 將擁有 1 混合比特幣輸出和 05 未混合比特幣輸出。 05 比特幣被認為是“未混合的”,因為它可以與 Alice 的原始輸出 15 相關聯。 混合輸出不能再直接鏈接到輸入,並且將具有由 CoinJoin 中的所有其他參與者組成的匿名集。 

為了保護 CoinJoin 的隱私,混合和非混合輸出永遠不能相互關聯。 如果它們意外地聚合在比特幣區塊鏈上的單個或一組交易中,觀察者可以使用該信息來追踪混合輸出的來源。 

以 DAO 黑客為例,他們在使用 Wasabi Wallet 的過程中似乎在多個 CoinJoins 中使用了單個地址; 在一種情況下 地址 被用作未混合的找零輸出,在第二種情況下,它被用作混合輸出。

在 CoinJoin 的背景下,這是一個相對不尋常的錯誤,因為這種關聯犯罪技術需要 CoinJoin 下游的交易來“合併”未混合和混合的輸出,將它們鏈接在一起。 但在這種情況下,不需要分析兩個 CoinJoin 之外的任何交易,因為同一地址在兩個單獨的 CoinJoin 中以沖突的方式使用。 

從根本上說,這種可能性的存在是由於 Wasabi 錢包軟件的設計決策:Wasabi 錢包對混合和非混合輸出使用單一導出路徑。 這被認為是 不好的做法。 Wasabi 員工表示,這是為了使錢包恢復與其他錢包兼容,但是 BIP84(這是 推導方案 Wasabi Wallet 使用)確實有一個標準方法來識別分配給更改輸出的派生路徑。

當用戶使用相同種子同時運行兩個 Wasabi 錢包實例時,這種設計選擇導致的失敗最為明顯。 在這種情況下,當同時嘗試從每個實例運行混合時,兩個實例可能會以這種衝突的方式選擇相同的地址。 這是警告不要在 官方文件。 罪魁禍首也可能是芥末錢包中的已知錯誤。

要點和結論

那麼我們從中學到什麼呢? 雖然芥末的這個錯誤並不是故事的結局,但它是追查被指控的黑客的關鍵組成部分。 我們再次重申了隱私很難保護的信念。 但實際上,我們還有另一個例子說明了使用隱私工具時防止輸出污染的重要性,以及用戶和軟件等需要多麼謹慎的“硬幣控制”。 問題是,設計什麼樣的隱私協議來最大限度地減少此類攻擊? 

一個有趣的解決方案是 CoinSwap,您無​​需將輸出合併到大交易中,而是與另一個用戶交換輸出。 通過這種方式,您可以交換硬幣歷史,而不是加入硬幣歷史。 更強大的是,如果 CoinSwap 是在鏈外環境中完成的(如 Mercury 錢包實現的那樣),則根本不需要處理任何未混合的找零輸出。 

雖然可能存在可能導致 CoinSwap 被“去交換”的用戶錯誤,但這些錯誤對於最終用戶來說可能更加明顯,因為任何以侵犯隱私的方式合併輸出只能通過顯式混合將輸出與尚未交換的輸出進行交換,而不是合併已經通過CoinJoin 的兩個輸出,實際上只有其中之一被混合。

水星錢包 是目前唯一可供最終用戶使用的鏈下 CoinSwap 設施。 它允許用戶將他們的代幣鎖定到第二層協議(稱為狀態鏈)中,然後盲目地與狀態鏈的其他用戶交換他們的輸出。 這是一項非常有趣的技術,對於那些有興趣探索具有令人興奮的功能和可接受的權衡的新穎隱私工具的人來說值得嘗試。

獲取您的每日回顧 比特幣, DEFI, NFTWeb3 來自 CryptoSlate 的新聞

它是免費的,您可以隨時取消訂閱。

申請 信號邊緣 在加密市場上?

成為 CryptoSlate Edge 的成員並訪問我們獨家的 Discord 社區,獲得更多獨家內容和分析。

鏈上分析

價格快照

更多背景

立即加入,每月只需$ 19 探索所有好處

資料來源:https://cryptoslate.com/what-c​​an-we-learn-from-stuying-hacks-revealing-insights-on-privacy-and-cryptocurrency-movements-after-the-dao-2016- hack/