歡迎使用節點發現協議v5規範!
請注意,本規範正在進行中,可能會在未事先通知的情況下發生不相容的更改。
節點發現是在對等網路中查詢其他參與者的系統。該系統可以被任何節點使用,用於任何目的,除了執行網路協議和儲存有限數量的其他節點的記錄外,無需任何費用。任何節點都可以用作網路的入口點。
為所有參與者提供了乙個特定搜尋服務:節點發現v5包含了乙個用於註冊「主題廣告」的可伸縮工具。這些廣告可以查詢,並找到發布主題的節點。節點記錄的權威解析:如果節點的id已知,則可以檢索其記錄的最新版本。本規範由三部分組成:
discv5-wire.md定義有線協議。discv5-theory.md描述了演算法和資料結構。discv5-rational.md包含設計原理。節點發現協議的薄弱環節是加入網路的過程:雖然任何其他節點都可以用作入口點,但此類節點必須首先通過其他機制定位。可以使用多種方法,包括可擴充套件的dns初始入口點列表或使用bootnodes,來合理地安全地進入網路。
新增了主題廣告。可以儲存/中繼任意節點元資料。節點標識加密是可擴充套件的,不嚴格要求使用secp256k1金鑰。協議不再依賴於系統時鐘。通訊是加密的,保護主題搜尋和記錄查詢不受被動觀察者的影響。
node discovery protocol v5
以太坊節點發現原理
1 系統第一次啟動隨機生成本機節點nodeid,即為localid,生成後固定不變,本地節點記為local eth.該節點為第一次啟動時生成,以後重新啟動後不會變化。各個節點都會有乙個唯一的標誌nodeid。a和b都有各自nodeid 2 系統讀取公共節點資訊,ping pang握手完成後,將其寫入...
P2P網路中的節點發現
在p2p網路中,要發現並連線其他節點,常見的是通過種子節點連線到網路,然後通過種子節點獲取其他節點的位址。以太坊的種子節點在cmd swarm bootnodes.go中定義,hpb的種子節點在config networkconfig.go中定義 以hpb節點為例說明 以太坊基本是一樣的。1 節點啟...
p2p網路中的節點發現之UDP
server啟動的時候,除了監聽本地的tcp埠之外,還啟動了udp埠的監聽,而且udp埠的監聽與udp通訊在節點發現的時候起著關鍵作用。先看下為什麼udp在節點發現中起著關鍵作用。在 介紹了在節點啟動後連線到bootnode節點,然後每隔15s向bootnode傳送reqnodesmsg請求其他節點...