比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > 以太坊 > Info

點對點網絡組建:從Kademlia到Discv5_DIS

Author:

Time:1900/1/1 0:00:00

編者按:本文來自以太坊愛好者,作者:dean,翻譯&校對:裴奇&阿劍,Odaily星球日報經授權轉載。如果你一直在研究以太坊或者相關的技術,你可能聽說過discv4或discv5。但這些究竟是什么呢?它們是如何工作的呢?它們出眾的地方在哪里呢?想要回答這些問題,我們需要從頭開始梳理一下。這篇博文假定讀者對這個領域比較陌生,因此沒有技術背景的人也可以閱讀。開篇

故事的開端:在P2P網絡中,節點的相互發現及網絡成型的過程會面臨一些問題。早年間的P2P文件共享技術,比如Napster,使用單個服務器共享信息,信息中記錄誰擁有什么文件。某個節點向中心服務器發起連接并提交記錄自己所擁有文件的列表。另一個節點之后向同一個中心服務器發起連接,尋找自己所需文件的存儲節點,然后和找到的節點建立聯系。然而這是一個有缺陷的系統——系統很容易遭受攻擊,而且中心化服務器節點可能會吃官司。因此,點對點網絡亟需另一種解決方案。研究者們經過數年研究和實驗,提出了分布式哈希表。分布式哈希表

點對點音樂共享平臺Napster被Hivemind、Algorand以未公開的價格收購:5月11日消息,點對點音樂共享平臺Napster被Hivemind、Algorand收購,Napster的首席戰略官被任命為臨時首席執行官,Hivemind和Algorand沒有公布有關該交易的進一步信息。

據悉,Hivemind是一家總部位于紐約的專注于加密貨幣的投資公司,此前4月份參與投資數字音樂收藏品平臺LimeWire,旨在利用加密貨幣推動音樂行業,支持藝術家策劃高質量內容。[2022/5/11 3:05:36]

2001年,研究者們為DHT提出了4種新的協議,分別是Tapestry、Chord、CAN以及Pastr,這4個協議在核心功能上各有取舍和改變,因此擁有不同的特性。上文中一直都在說DHT。那么DHT到底是什么呢?分布式哈希表是一個分布式的鍵值列表。參與到DHT的節點可以很輕松地檢索到某個鍵對應的值。假定一個網絡中,有9個鍵值對和3個節點,理想情況下,每個節點只需要存儲3個鍵值對,意味著如果要更新某個鍵值對,只有部分網絡節點需要更新。大致想法是這樣的,網絡中的任何節點都可以基于信息在節點間分布的方式,知道要去哪里尋找它所需要的特定鍵值對。Kademlia

印度加密貨幣交易所通過點對點交易規避支付渠道限制:4月18日消息,印度加密行業一直在尋找繞過政府和銀行限制的方法,以滿足該國對數字資產日益增長的需求。

印度多家加密貨幣交易所正在推動點對點交易,以規避銀行和支付公司施加的限制。交易所一旦收到買入訂單,就會將買家與賣家直接聯系起來。然后,買家可以使用銀行或支付平臺向賣方轉賬,賣方將其交易所錢包中的加密貨幣轉移到買家的錢包中。通過這種方式,支付平臺或銀行之間不需要向交易所轉賬。

據當地媒體4月18日報道,此舉是對印度加密交易所最近對支付平臺實施限制的回應。其中一家交易所的一位匿名人士告訴媒體:“這不是一個交易所應該發揮作用的方式。效率當然更低。但顯然沒有違反任何規定或法律。只是簡單地把錢從A轉到B。”(BeInCrypto)[2022/4/18 14:31:18]

現在我們知道DHT是什么了,那我們來看看discv4的前身Kademlia。Kademlia是PetarMaymounkov和DavidMazières于2002年發明的DHT協議。我覺得這個協議可能是最流行,而且使用最廣泛的DHT協議。它的工作原理很簡單,讓我們來看看吧。在Kademlia中,節點和值通過距離來排列。這里的距離不是地理位置上的距離,而是基于標識符的表示方法。通過使用一些距離函數,可以計算出兩個標識符之間的距離。Kademlia使用XOR作為距離函數。XOR函數的特點在于,只有當輸入不同時,輸出才為true。下面是用二進制標識符表示的例子。XOR1001100100110010--------10101011上面的這個例子是說,十進制數字153和50之間的距離是171。使用XOR作為距離函數有很多原因,包括:某個ID與它自己的距離是0。距離是對稱的,A到B的距離和B到A的距離相同。遵循三角不等式,如果A,B,C是三角形上的三點,那么A到B的距離,小于或等于A到C的距離加上B到C的距離。綜上,節點可以根據距離函數來確定哪個節點離它更近,并基于這種“距離”來做決策。Kademlia節點存儲著一個路由表。路由表中包含多個列表。每后一個列表所記載的節點都比前一個列表中的節點離得遠一點。每個節點維護離自己最近節點的信息;另一個節點離得越遠,本地節點保存的相關信息就越少。假定我想要找到一個特定的節點。我要做的就是向我已知的節點發送請求,這些節點返回他們的記錄中離我的目標節點更近的鄰居節點。我重復此過程,直到某群鄰居幫我找到目標節點。對值來說也是同樣的過程。值跟節點之間的距離是確定的,因為值和節點的標識符ID以相同的方式組織,因此我們可以計算這個距離。如果我想查找一個值,我只需要尋找離這個值的鍵最近的鄰居節點,直到找到存儲這個值的節點。為了讓Kademlia節點支持這些功能,協議通過下面這些消息來通信。PING-用來檢測一個節點是否還在運行。STORE-在一個節點上存儲給定鍵的值。FINDNODE-向給定ID返回所請求的最近節點。FINDVALUE-和FINDNODE一樣,區別在于,如果一個節點存儲著特定的值,它將會直接將值返回。這是對Kademlia的一個非常簡化的講解,中間跳過了各種重要的細節。想要更全面的了解,力薦原論文或者更深層次的設計規范。Discv4

點對點互聯網平臺ThreeFold將與BSC、以太坊、Heco集成:ThreeFold計劃將其點對點互聯網平臺與幣安智能鏈(BSC)、以太坊和Heco鏈集成。ThreeFold將在未來幾周內集成BSC,隨后第二季度集成以太坊和Heco。這些集成將支持DeFi應用程序訪問ThreeFold生態系統。反過來,這也將使ThreeFold更容易進入DeFi世界,并為ThreeFold Farmers和用戶提供更多的平臺來交換TFT。(AMBCrypto)[2021/4/30 21:13:06]

對背景做好鋪墊之后,終于來到discv4了,這是以太坊當前的節點發現協議。Discv4協議本身是基于Kademlia的,但在某些部分做了改動。例如,discv4中不再使用DHT中的值部分。Kademlia主要用于網絡的組織,因此我們可以使用路由表定位其他節點。但discv4中完全不使用DHT中的值部分,因此我們可以拋棄Kademlia中使用的命令FINDVALUE和STORE。前文中,Kademlia的查詢方法描述了節點如何得到對等節點。節點向另一些節點發起請求,得到離自己更近的節點。重復此請求過程,直到無法找到任何新的節點。此外,discv4添加了相互的終端驗證功能。這是為了確保發起FINDNODE請求的節點正在參與同一個節點發現協議。最后,所有的discv4節點都應該維護最新的ENR記錄。記錄里包含一個節點的信息。任何節點都可以使用特定于discv4的包,叫做ENRRequest,去請求ENR記錄。如果你想知道關于ENRs的更多細節,請移步至我的另一篇博文NetworkAddressesinEthereum。然而,discv4也引入了一些問題。讓我們來看看其中的幾個。首先,按照discv4目前的工作方式,是無法區分節點間的次級協議的。也就是說,如果一個以太坊節點將以太坊Classic節點,Swarm或Whisper節點加入它的DHT,那么只有和這些節點發生多次通信之后,才能發現這些節點的無效性。這種無法區分次級協議的能力使得它很難找到特定的節點,比如支持輕客戶端的以太坊節點。其次,為了防御重放攻擊,discv4使用了時間戳。當某個主機的時鐘發生錯誤時,這種方式會導致各種各樣的問題。欲了解更多詳情,請查閱discv4規范的“KnownIssues”部分。最后,終端的互驗證工作中也存在問題。因為信息有丟包的可能,所以沒有辦法斷定兩個對等節點是否都已驗證過對方。也就是說,我們可能自認為已經被驗證過了,但跟我們通信的對等節點卻并不這么認為;他們可能會因此丟棄我們的FINDNODE包。最后,終端的互驗證工作中也存在問題。因為信息有丟包的可能,所以沒有辦法斷定兩個對等節點是否都已驗證過對方。也就是說,我們可能自認為已經被驗證過了,但跟我們通信的對等節點卻并不這么認為;他們可能會因此丟棄我們的FINDNODE包。Discv5

動態 | 點對點加密平臺Paxful錢包注冊量超過300萬:雖然最近比特幣的價格跌至五個多月來的最低水平,但錢包創造似乎仍在繼續。點對點加密平臺Paxful上創建了超過300萬個錢包,其中大概25%(約80萬個)是在過去12個月新增。Paxful的增長得益于非洲一些國家,尼日利亞和加納都占了新錢包注冊的很大比例。現有市場也在增長,Coindance統計數據顯示,10月初,印度和肯尼亞的交易額分別超過4000萬美元和3000萬美元。Paxful首席執行官Ray Youssef認為,現在是加密貨幣行業令人激動的時刻,他注意到年輕人對點對點交易的興趣越來越大。(Cryptocoinspy)[2019/10/24]

最后,讓我們來看一下discv5。Discv5是discv4的迭代版本,將作為Eth2.0的節點發現協議。Discv5旨在修復discv4中存在的諸多問題。第一個改變是FINDNODE的工作方式。傳統的Kademlia以及discv5都使用標識符。而在discv5中,我們使用對數距離,也就是說,發送FINDNODE請求后,響應中包含的節點,都與發送方節點在特定的對數距離內。對數距離指:先計算出距離,然后使用以2為底數的log函數,即log2(AxorB)。其次一個很重要的改變就是discv5一直致力于解決的,存在于discv4的最大問題:次級協議的區分。Discv5添加了主題表。主題表是先進先出的列表,表中包含提供特定服務的節點。節點通過在對等節點中注冊廣告將自己添加進這個列表。截至本文寫作之時,這個次級協議區分方案中的寫操作依然存在一些問題。對一個節點來說,目前沒有有效的方法將廣告發布在多個對等節點上,因此需要向每個對等節點發送單獨的請求,這對于大規模網絡來說效率很低。此外,一個節點向多少個對等節點上發布廣告,以及向哪些對等節點投放都是不清楚的。更多詳情請查閱devp2p#136。Discv5中還有很多小的改變,但是這些改變沒那么重要,因此在這篇總結中就省略了。雖然discv5解決了一些discv4中存在的問題,但還有一些問題,discv5仍沒有解決,比如不可靠的終端驗證。寫這篇博文之時,discv5還沒有提出新的方法去提升終端驗證的處理過程。正如你所見,discv5的工作仍在進行中,目前還需要克服一些很大的挑戰。如果這個協議解決了這些問題,那么它將會是對原始Kademlia實現的一個巨大提升。希望這篇文章能幫助你理解什么是發現協議以及發現協議是如何工作的。如果你對整個協議感興趣,可以在github上查閱。

聲音 | 江卓爾:真正的中本聰愿景是點對點電子現金支付系統:江卓爾剛剛連發兩條微博稱:“真正的中本聰,在寫白皮書時是很有遠見的,所有引發爭吵的技術細節(例如10分鐘區塊時間),在白皮書里都沒有寫死。真正的中本聰愿景就是一句話,點對點的電子現金系統。如果中本聰沒寫擴容計劃帖(甚至反對擴容)我也還是會支持擴容。而原教旨派的做法是,如果中本聰恰好沒寫擴容計劃帖,那他們就會反對擴容,因為1M區塊是中本聰親手設置的,一定有其深意。”[2018/11/29]

Tags:ISCDISCDISDEMaisc幣價DisciplinaMDIS幣DEM價格

以太坊
4月中國區塊鏈標準建設提速,應用大規模落地再添一拼圖_UPE

編者按:本文來自互鏈脈搏,作者:金走車,Odaily星球日報經授權轉載。近期,國內區塊鏈標準建設提速.

1900/1/1 0:00:00
星球日報 | 四城將用央行數字貨幣發放工資;FCoin或于6月重啟,考慮起訴早期投資者_數字貨幣

頭條 四城將用央行數字貨幣發放工資4月14日,一張央行數字貨幣DC/EP的內測截圖開始在朋友圈刷屏.

1900/1/1 0:00:00
品牌工廠:用去中心化思維打造時尚品牌_ACT

作者:MetaFactory譯者:Typto翻譯機構:DAOSquare 《幸福美好的運動鞋廠》—JavierArrésMetaFactory創造了一種新的品牌經濟,在這個經濟模型中.

1900/1/1 0:00:00
穩定幣的啟發:如何構建新型借貸緩沖模型_COI

編者按:本文來自頭等倉區塊鏈研究院,Odaily星球日報經授權轉載。去中心化穩定幣似乎存在矛盾:雖然其目標是打造非監管資產,但它們也只能通過添加不相關資產來實現完全穩定.

1900/1/1 0:00:00
星球前線 | 逆勢增長,灰度2020年Q1資金流入創新高_RAY

Odaily星球日報譯者|念銀思唐周四,資產管理公司Grayscale公布了歷史上最高的季度資金流入,這一跡象可能表明,在市場動蕩時期,至少有部分投資界人士一直在關注加密貨幣.

1900/1/1 0:00:00
觀點:鏈上治理的集體行動問題_區塊鏈

編者按:本文來自以太坊愛好者,作者:MallikaParlikar,翻譯&校對:曾汨&閔敏,Odaily星球日報經授權轉載。鏈上治理的捍衛者們稱贊該模型的高效決策和快速實施能力.

1900/1/1 0:00:00
ads