Dandelion ++蒲公英改進協議如何使Monero從源頭得到更強防護

发布时间:
By Diego Salazar

隱私至上

作為頂級加密貨幣,門羅幣卻總是缺少吸引眼球的噱頭.它沒有類似於'世界計算機'或'革命顛覆XX行業'那種如雷貫耳的口號.它只專注成為私有,且具備可替代性的電子貨幣,而每次現有技術升級和全新技術的應用都為繼續推動這一目標而努力.

那些認為此願景過於狹小或無趣的人通常不了解,實現真正的隱私保護有多麼困難,尤其是在區塊鏈這種永久開放的分佈帳本上. 任何途徑的數據源洩漏都可能破壞隱私性.

門羅幣已經採取多項針對性措施,分別通過環簽名,隱身地址,和彼得森承諾來混淆發送方,接收方和交易金額等鏈上數據.在這樣的情況下,一旦交易完成,交易信息就變成賬本歷史的一部分,在這些安全措施層層保護下,攻擊者想通過分析交易歷史記錄來推斷出關鍵信息無異於癡人說夢. 但是有些攻擊,雖然無法在交易完成後發動,也無法針對歷史數據執行,卻有機會在交易發生的瞬間造成危害.

IP地址關聯攻擊

這些攻擊的原理是試圖確定一筆交易的發起是來自哪個IP地址.如果獲得此信息,則可表明該IP地址的某人進行了Monero交易. 雖然攻擊者依舊無法獲知收款賬戶是誰,以及轉賬的金額,但是在某些情況下,知曉一個人使用了Monero,就足以造成某種危害.

好消息是,如果在進行交易時未被收集到IP地址信息,由於該信息不會被存儲在區塊鏈中,因此以後的任何人將無從查起.並且這種攻擊不太可能在系統外發起,因為要實現這一目標,攻擊者需要控製網絡上絕大多數門羅幣的節點.但是,一旦某人能夠控制絕大多數節點,他將能夠確定交易的"方向".

這可能不太好理解,因此我們將解釋一些背景知識.每個節點都連接網絡上的其他節點,以便它們可以使自己的區塊鏈賬本保持最新狀態,並與他人共享自己的信息.這些接使他們能夠獲取新交易,傳播它們並發送自己節點的信息給他人.由於一個節點只能將其知道的交易告知其連結的節點,因此可以說,傳播交易的第一個節點就是實際發送Monero的節點.

如果攻擊者擁有網絡上的大多數節點,則每個節點都會從其連結的節點那裡聽到某筆交易廣播,並且根據每個節點接收此信息的時間差,他們可以推斷出該交易最先開始的發起節點.

如果你還是沒有理解,我們再打個比方.假設我們有一個共同的朋友需要被搜救,他在我們的視野之外.突然這個朋友大聲呼救.我先聽到他的呼喊,而且比你聽到的聲音大.從這些信息中,我們可以知道我比你更接近我們的朋友.你後聽到聲音(哪怕時間差很小)並且聲音較小,這意味著我們應該在我所在的區域而不是你所在的區域開始搜索.

由於節點互聯彼此可以獲取對方的IP地址信息,所以一旦攻擊者能夠成功猜出哪個節點發送該交易,幾乎等同於他們可以知道該交易者的IP地址.這是強有力的信息,因為IP地址包含相關用戶所在國家/地區和互聯網服務提供商(ISP)的信息,並且ISP服務商本身知道每個現實中的用戶關聯哪個具體的IP地址,從而破壞門羅幣用戶匿名性.

應對措施

應對此攻擊的一種可選方案是使用覆蓋網絡,例如Tor洋蔥網絡或I2P路由.這樣一來,即使攻擊者可以推斷出IP地址,但還是不能確定進行交易的人本身就使用該IP地址,還是通過覆蓋網絡outproxy(I2P)或出口節點(Tor)進行混淆和跳轉過的.但是,這並不是一個十全十美的解決方案,因為在許多國家/地區都禁止使用覆蓋網絡,或者VPN和類似軟件,並且期望所有門羅用戶都在洋蔥網絡,VPN的環境裡上網,同步節點和傳播交易數據是不現實的.需要一種不需要使用外部軟件或外部網絡的解決方案;既普通人也可用的一種方案.

本文重點說明的解決方案是Dandelion ++(DPP蒲公英協議++),它是由原始為比特幣設計的蒲公英協議Dandelion的升級版.在此協議中,有兩個階段,蒲公英的莖階段和蒲公英的絨毛階段.他們共同代表蒲公英協議形式.

在莖的階段,每隔幾分鐘,發送節點都會從與其連接的所有節點中隨機選擇兩個節點.同樣的,每隔幾分鐘這個節點也可能被別的莖階段的節點抓取.所以當一個節點需要發送信息時既有可能是代表本節點,也可能只是轉發關聯莖節點的信息,然後它再會隨機選擇自己抓取的兩個節點之一,將需要交易的信息單獨發送給它.

絨毛階段是節點接收交易信息後將其全網節點廣播,而不只是再單獨發送給下一個隨機選擇的節點,這時候這筆交易信息才真正被傳播.每隔幾分鐘,一個節點會隨機定義自己為莖節點或絨毛節點,因此如果每個連接節點都將自己定義為莖節點,則莖階段的跳轉時間可能會很長,但是一旦交易達到了絨毛階段,交易信息會在那個節點保留並第一個全網廣播出去.

這意味著攻擊者將不再能夠簡單地監交易的來源和方向,因為在將交易廣播給全網所有人之前,它已經經歷了莖階段若干次傳遞,而作為交易第一個廣播的絨毛節點,其本身也不知道該交易的源頭,到底經過了多少次跳轉.

結合以上解決方案(蒲公英路由加上覆蓋網絡)將為保護隱私和IP地址反跟踪,提供更強大的防護.不過應注意,蒲公英協議不能防禦ISPs發起的另一種形式的網絡跟踪攻擊,但這不在本文討論範圍之內.

Dandelion ++蒲公英升級協議已設置為可在Monero主網上運行,並且在0.16版本客戶端上默認自動運行.這一微小的變化將進一步減輕對Monero網絡潛在的攻擊,並說明為什麼Monero在保護隱私技術方面處於領先地位.

進一步閱讀

© 2024 Blue Sunday Limited