Privacy

布隆過濾器是否可以防止持續的竊聽者?

  • October 18, 2015

據我了解,布隆過濾器可以用一些目標雜湊和誤報率來定義。在過濾區塊鏈時,保證找到所有的目標交易,但也會有很多誤報返回給客戶端。

假設攻擊者能夠監控 SPV 客戶端發送給其對等方的許多布隆過濾器規範。他是否能夠通過對匹配過濾器的所有交易執行子集匹配來最終消除所有誤報?

舉個例子,假設所有交易的集合是從 1 到 100 的整數,假設客戶對交易 4、8 和 15 感興趣。他第一次連接網路時,他發送了一個布隆過濾器匹配 ( 1、4、7、8、15、27、44、73);第二次,他的過濾器匹配(3、4、6、8、15、27、66)。攻擊者可以立即將可能的交易範圍縮小到 (4, 8, 15, 27);在多次呼叫之後,他就會找到正確的答案。

我是否誤解了布隆過濾器的工作原理(例如,連接之間的誤報不會改變),還是這是一個理論上甚至是實際的問題?

請參閱這篇論文以獲得很好的討論:

論輕量級比特幣客戶端布隆過濾器的隱私條款

是的,您誤解了香草/規範布隆過濾器的工作原理。對於標准定義,連接之間的誤報不會改變 - 在第二個請求上返回的集合(如果不同)將是第一個集合的超集。

此外,vanilla 布隆過濾器不用作解決安全/竊聽問題的解決方案 - 它們是計算與磁碟訪問權衡優化(我認為它們是記憶體算法的子集)。您可以使用本地佈隆過濾器來檢查給定的 url 是否是惡意的,以避免在每次 url 訪問時進行昂貴的網路呼叫/查找,並且僅在獲得肯定響應時才進行網路呼叫。


也就是說,有一些技術可以製作類似於結構的布隆過濾器,這些結構更健壯/具有更強的安全特性。我不相信它們中的任何一個已應用於比特幣實現。

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