mt4搭建一文了解門羅的通信層保護技術Dandelion+

2020-04-05 14:44
摘要:Dandelion++Monero建立在它的點對點(P2P)通信網絡。網絡中感知區塊鏈的計算機,即節點,共享Monero信息,如節點地址、曆史區塊鏈數據、挖出的區塊以及區塊中添加的新交易。Monero的節點
Dandelion++
 
Monero建立在它的點對點(P2P)通信網絡。網絡中感知區塊鏈的計算機,即節點,共享Monero信息,如節點地址、曆史區塊鏈數據、挖出的區塊以及區塊中添加的新交易。Monero的節點根據互聯網協議(IP)地址區分,存在觀察者根據IP地址找出關聯交易的風險,數據變得不再匿名。Dandelion++可以隱藏這種連接,將應用在即將發布的Monero軟件中。本文敘述了Dandelion++的工作方式,以及它對門羅用戶的用途。
 
Monero的P2P網絡
 
從概念上,Monero可劃分為兩個部分:P2P網絡與網絡中運行的應用程序。應用程序處理地址、密鑰和交易,而網絡組織維護信息流。要了解Dandelion++,就要理清P2P網絡的結構和錢包通過P2P網絡通信來交易的方式。
 
P2P網絡結構由全球數千個節點組成,如果算上被動節點,則數上萬個。通常每個節點通過互聯網連接到其他一小部分節點,即對等節點(peers)。節點使用與Web瀏覽器和Web服務器一致的傳輸控製協議(TCP)與其對等節點通信。節點隨機連接對等節點,這些對等節點不一定在地理位置相近。通常對等節點為8個,但有些節點可以連接上百個對等節點,每個節點先是詢問特殊主節點,來發現自己的對等節點,然後再詢問這些對等節點,發現新的對等節點,以此類推。於是形成了一個由眾多計算機組成的網絡,每台計算機通過TCP與其他分散的,有限的計算機集合進行通信。
 
Monero錢包必須連接至一個節點,將它作為連接至P2P網絡的網關。比如,官方GUI wallet,可以運行自己的節點,而其他的錢包,如智能手機上的MyMonero,總是使用遠程節點。錢包通過自己的網關節點創建和傳播一筆交易來花費Monero,讓交易最終找到礦工節點,並打包進一個挖礦區塊中。每筆交易包含的信息有限,但都是一些重要數據,包括一組可能的資金來源。
 
現在,Monero節點使用洪水(flooding)進程來廣播新交易。節點將交易發送給自己的所有對等節點,對等節點又將交易發送給自己的對等節點,此外還做一些檢查,防止冗餘通信。信息像波浪一樣在網絡中向四麵八方傳播。一些加密貨幣,比如比特幣,會隨機選擇廣播的時間,但Monero不會。
 
麵臨的問題
 
“對於像耳朵一樣的僵屍網絡節點來說,交易創建就像一聲巨響”
 
你的IP地址透露了很多關於你的信息(你可以訪問whatismyipaddress.com這樣的IP信息站點來了解自己的IP地址)。從你的互聯網服務提供商(ISP)或虛擬專用網(VPN)提供商提供的信息,甚至還可以關聯到你的名字上。你的IP地址和你創建的交易之間的任何連接都會泄漏信息,包括你不想讓別人知道的門羅交易。問題是,Monero P2P網絡中的交易廣播模式(洪水模式),讓他人恰巧能建立起交易與IP地址的關聯。
 
將一個IP地址與一筆交易關聯起來,並不容易,也不一定準確。這要消耗觀察者一定的功夫。但使用僵屍網絡連接Monero P2P網絡,通過對時間的分析和已知的對等節點信息的比較,會有比較高的概率可以計算出交易來源。當聽到一聲巨響時,你會自然地轉向那個方向:你的大腦“分析”耳朵聽到聲音的時間和失真,辨認方向。對在不同地點接收到的通過洪水模式傳播的加密貨幣數據包進行分析,可以讓間諜攻擊者做同樣的事情。僵屍網絡節點就像耳朵,創建交易就像發出一聲巨響。
 
Dandelion
 
為了解決這個問題,伊利諾伊大學的研究人員首先開發了一套技術,他們稱之為Dandelion(蒲公英)。最初是想應用在比特幣上,但它也適用於Monero。Dandelion是先用一種特殊的不可偵測的方式將交易路由到一個遠程節點,然後再啟動洪水傳播。
 
Dandelion的作者深入研究了利用僵屍網絡尋找加密貨幣交易來源的理論和實踐。包括製造匿名性的數學模型,分析三種傳播技術:
 
1)基本的洪水傳播(Monero的方法)
 
2)Diffusion,即隨機洪水傳播(比特幣的方法)
 
3)代理式Diffusion
 
最後一種技術是,首先將交易隨機轉發給一個節點,然後該節點再使用diffusion廣播交易。根據作者的數學模型,這三種方法都被發現是不足以抵抗監視的。
 
為了解決三種方法的缺陷,作者提出了Dandelion。Dandelion定義了一個尋找代理節點的進程,稱為匿名(或stem)階段。它還建立了另一個廣播進程,稱為傳播(或fluff)階段。一般情況下,這兩個階段使用不同的對等節點集,重要區別是匿名階段(stem階段)連接的節點集隨時間變化而變化。Dandelion得名於:首先沿著一條特殊的線性搜索路徑尋找一個代理節點,然後從這個代理節點迅速對稱地廣播信息,將信息流的形態組合起來,就像一朵蒲公英。
 
使用作者的數學模型分析,當所有節點都使用Dandelion時,被證明可以抵抗一組節點(被動觀察者)的監視。有了Dandelion,僵屍網絡誠實地加入P2P網絡,無法可靠地將交易與IP地址連接起來。
 
Dandelion++
 
然而,試圖將交易與IP地址聯係起來的觀察者可能並不被動,也可能不遵守網絡規則。一些誠實的節點可能不會運行Dandelion。受到日益增長的加密貨幣分析市場的推動,如Chainanalysis,作者重新審視了自己早期工作中的假設,一年後與合作者開發了Dandelion++。Dandelion++調整了Dandelion無法抵抗大規模違反規則的去匿名化攻擊的弱點。
 
“Dandelion++正式地保證了抵抗去匿名化”
 
Dandelion++的發明者建立了一個以僵屍網絡為對手的模型,間諜節點分布在整個網絡中,形成了整個網絡的一些重要部分。在他們的模型中,這些間諜節點不需要遵循規則。它們可以生成任意數量的出站連接到任何誠實或攻擊節點。他們使用所有可用的信息,包括發送時間和地址。正是在這種非常惡劣的環境中,Dandelion++成功地保護了匿名性。
 
Dandelion++,與Dandelion一樣,有一個steam和fluff階段。在stem階段,Dandelion++以離散區間,即紀元(epoch)進行動態連接。每個節點都獨立地切換紀元,通常每隔幾分鍾切換一次。在每個紀元間隔,節點從它的出站連接中隨機挑選兩個新的中繼連接。然後,當節點創建自己的交易時,通過其中一個中繼發送交易。且在該紀元間隔中發出的所有交易,都將使用這一個中繼。在stem階段,當節點要轉發另一個節點的交易,如果節點是一個中繼器,它就會從兩個中繼器中隨機選出一個將交易發送出去。
 
Dandelion++在fluff階段使用diffusion,即通信時間隨機化的洪水模式-,使間諜節點更難找出交易來源。一旦一筆交易開始了diffusion過程,它就會繼續使用diffusion進行傳播,不再回到stem階段。然而,在Dandelion++中,diffusion以一種特殊的方式開始。在每個紀元間隔,節點將自己定義為中繼器或擴散器(diffuser)。這在每個紀元開啟時,便隨機確定好了。如果某個節點是擴散器(diffuser),每當它在stem階段被選擇去中繼一筆交易時,它不使用廣播,而是使用擴散(diffusion),從而啟動fluff階段。
 
Dandelion++還有一個附加的、互補的套件,稱為故障安全機製。在stem階段,中繼交易的每個節點都為交易啟動一個計時器。如果時間閾值一過,節點在fluff階段沒有接收同一筆交易,則節點將啟動自己的fluff階段。這樣做有兩個目的:一是利用時間阻止去匿名化的嚐試;二是挫敗所謂的黑洞攻擊,即攻擊節點在stem階段放棄交易,而不是轉發交易。
 
有了這些技術,Dandelion++提供了抵抗去匿名化的正式保證。與需要全局推理的Tor網絡不同,Dandelion++使用本地技術來抵抗去匿名化。每個優雅的Dandelion++節點都自行決定自己的行為。於是一種快速、高效、有效的技術誕生了,甚至可以防止高級攻擊者將IP地址連接到交易。
 
與Monero集成
 
雖然Dandelion++是專門為比特幣開發的,但它最近被開發人員Lee Clagett (vtnerd)應用到了Monero上,並正在接受開發人員moneromooo的測試和審核。這些傑出的Monero開發人員做出的討論與文件修改,可以看作是源代碼控製下的更改請求。更改請求是添加新代碼到Monero代碼庫的一個流程。雖然Dandelion++更改請求通過了moneromooo的批準,但在撰寫本文時,它還沒有完成所有的審查,也沒有被合並到Monero代碼庫中。
 
上線以後,Dandelion++將在默認的情況下使用。雖然可以將C++代碼文件cryptonote_config.h中即將進入fluff模式的概率定義為100%,來關閉Dandelion++。即使在這種定向重新編譯的情況下,Dandelion++也將使用隨機延遲的diffusion,而不是基礎的洪水模式。版本正式上線日期還未確定,不過Dandelion++不需要硬分叉。
 
Dandelion++存在一些弱點與局限性,添加了交易廣播延遲。根據作者的分析與實驗評估,stem階段增加了延遲,可能是幾秒鍾。fluff階段,diffusion增加了隨機延遲,通常不到一秒。如果網絡受到黑洞攻擊,發起人等待的確認可能會使傳輸延遲幾分鍾。這幾分鍾延遲不會對網絡產生重擊。此外,Dandelion++不加密P2P數據包,也不防止ISP或VPN級別的間諜,針對這一點,你可以使用Tor。
 
結語
 
一種強大的反匿名預防措施即將在Monero誕生——Dandelion++。最初,這種方法是為比特幣開發的,由開發人員Lee Clagett應用於Monero,即使是在大規模的複雜攻擊中,它也可以防止攻擊者將IP地址連接到Monero交易,它特別能抵抗僵屍網絡。在Dandelion++采用的steam和fluff階段,信息流呈現出蒲公英的形狀,因此得名。如此一來,觀察者很難找出交易來源。Dandelion++將增強Monero已經完善的隱私功能,並推動Monero在精益求精的道路上繼續前行。
搭建mt4平台,mt4平台搭建,搭建mt4,mt4白标搭建,mt4搭建价格,mt4 服务搭建,mt4白标搭建价格,mt4服务器搭建,mt4二元期权搭建,mt4搭建司通科技