Privacy

去匿名化灰塵攻擊

  • December 24, 2019

如果有人試圖對我進行匿名化,應對灰塵攻擊的對策是什麼?

  1. 是否有可能防止有人故意向您發送小塵埃,以便他可以跟踪您的UTXO?
  2. 我認為沒有針對 1 的對策。因此,如果 1 已經發生,如何以最乾淨的方式和盡可能少的洩露資訊來處理這個問題?

去匿名灰塵攻擊通過將灰塵發送到大量地址來起作用。假設是當人們在未來發送交易/執行合併時,來自多個地址的灰塵將被分組到一個交易中,從而揭示由單個實體控制的多個地址,因為灰塵將被掃入單個 tx。

(這在某種程度上是一種簡化,因為大多數對執行此類攻擊感興趣的各方也將使用其他數據將多個獨立的 tx 組合在一起)。

防止這種攻擊的最佳方法是:

  1. 永遠不要在交易中消耗來自先前未通過交易連結的地址的輸入的交易。
  2. 根本不花灰塵。

這將導致一些 utxo 膨脹,但如果您正在重複使用您的地址,您可以在使用來自同一地址的另一個 utxo 時花掉灰塵。如果您不重複使用地址,請永遠不要使用它。

一些錢包,例如 Samourai Wallet(無從屬關係),提供了將灰塵標記為不可使用的選項。對於您建構的系統,您將不得不自己忽略這些輸出。

要添加到 Raghav 的答案:

實際上,作為典型使用者,處理灰塵攻擊可能很困難。沒有辦法停止或禁止接收交易,因此使用者只能在攻擊發生後對攻擊做出反應。好消息是,通過採取適當的行動,使用者可以輕鬆有效地減輕攻擊。在消息靈通的使用者和良好的錢包軟體的完美世界中,攻擊將是徒勞的,並且嘗試浪費資源。

不利的一面是,如果不減輕攻擊,攻擊可能非常有效。錢包過去使用的地址越多,攻擊的破壞性就越大,因為攻擊者可能會將大量地址全部連結到一個使用者,從而破壞匿名性。

正如 Raghav 所提到的,一些錢包允許使用者手動選擇 UTXO 進行消費,或者將輸入標記為“不可消費的灰塵”,但許多錢包沒有這樣的選項。在許多情況下,UTXO 選擇對最終使用者完全隱藏,以使錢包更易於使用。

如果您的一個或多個地址收到一些灰塵,您的錢包不允許手動選擇 UTXO,並且您想反擊攻擊,那麼您需要將您的助記詞導入一些新的錢包軟體,該軟體允許您可以手動選擇 UTXO。如果您想在之後繼續使用原始錢包軟體,您可以遵循以下工作流程:

  1. 接收粉塵攻擊交易
  2. 進行研究以找到允許選擇 UTXO 的信譽良好的錢包,並將該軟體下載到安全設備上
  3. 將您的灰塵攻擊錢包中的助記詞導入新錢包軟體,在新錢包軟體中重新創建您的灰塵攻擊錢包
  4. 使用您的舊錢包軟體,創建一個新錢包並複制收款地址(這將是您的新錢包,在您完成所有這些步驟後)
  5. 使用新的 UTXO 選擇錢包軟體將非灰塵 UTXO 從您的灰塵攻擊錢包發送到您的新錢包(在步驟 4 中創建)。正如 Gabriele 在評論中提到的那樣,創建單個交易來執行此操作將損害您的隱私(它將通過通用輸入所有權啟發式連結錢包中的所有地址)。因此,有隱私意識的使用者可以選擇製作許多交易以將資金轉移到新錢包(使用~最少數量的 UTXO 作為每筆交易的輸入)。

引用自:https://bitcoin.stackexchange.com/questions/81508