Hermes:以太坊 Gossipsub 網路的監控輕節點

本文為機器翻譯
展示原文

ProbeLab團隊很高興宣佈推出Hermes,主要由@dennis-tra@cortze開發。Hermes是一個GossipSub監聽器和跟蹤器,用於libp2p網路。我們希望該工具能被社群廣泛使用,並有更多功能和對其他網路的支援。

什麼是Hermes以及它能做什麼

Hermes的行為類似於輕節點,並連線到網路中的其他參與者。它依賴於可信的本地節點,以確保我們可以回覆任何傳入的請求並維持穩定的連線。

基於Hermes的實驗旨在測量GossipSub訊息廣播協議在任何基於libp2p的網路中的效率和效能。Hermes可以幫助開發人員根據訊息傳播延遲和控制訊息開銷來調整網路協議。

該工具目前支援任何以太坊網路(在共識層),儘管未來將支援更多網路。

它是如何工作的

元件

Hermes作為單個元件執行,即輕節點,部署在每個網路中。但它有兩個主要要求才能工作:1)一個可信的本地節點提供正確的鏈狀態檢視,2)一個事件消費者接收所有libp2p跟蹤並存儲它們。輕節點負責發現對等方,與它們保持連線,並監控libp2p主機的內部事件。

輕節點

Hermes像標準的libp2p節點一樣執行,發現並連線到網路,同時支援所有libp2p協議以確保可靠和安全的通訊。它連線到可信的本地或遠端節點,以獲取某些需要鏈狀態資訊的RPC,利用這些可信源來增強其功能。

Hermes訂閱所有可用的GossipSub主題,這使它能全面接收、揭示和跟蹤與網路的所有互動。這使該工具能有效地跟蹤網路活動。

此外,Hermes可以將這些跟蹤提交給任何定義的消費者,目前支援AWS KinesisXatu(來自以太坊基金會)。這個功能有助於將網路資料與分析和監控工具整合,從而提高網路的整體安全性和功能性。

部署

Hermes被開發為持續執行。但是,為了增加輕節點連線的穩定性,節點必須成功響應遠端對等方可能請求的面向鏈的RPC呼叫。由於Hermes被設計為與鏈無關,我們必須依賴外部可信節點提供該資訊。

Hermes必須與一個鏈客戶端配對:在我們的例子和以太坊共識層中,我們使用了Prysm。給Hermes提供HTTP API和gRPC主機的端點,Hermes可以將自己新增為"白名單"節點,以便稍後轉發大部分與鏈或狀態相關的RPC呼叫。但是,如下圖所示,同一個Prysm節點可以連線到多個Hermes例項,這有助於減少部署要求。

Hermes已經擴充套件到支援不同的資料消費者或資料流。由於所有事件跟蹤都需要持久儲存,該工具提供了三個不同的選項:

  • AWS Kinesis(我們的部署)
  • Xatu回撥(由EF使用)
  • 跟蹤記錄器到stdout(用於本地開發測試)

如果您有興趣使用或升級該工具以支援其他網路或資料流,請與我們聯絡

Hermes收集了哪些資料

由於Hermes與網路中其他節點保持穩定連線,因此它可以發出除錯跟蹤,瞭解libp2p和GossipSub在野外的工作方式。

Hermes開箱即用地從libp2p主機和GossipSub協議收集以下資訊:

  • libp2p主機的連線和斷開連線
  • GossipSub控制訊息:
    • 其他節點對主題的訂閱
    • GRAFTPRUNE控制訊息
    • GossipSub對等方評分
    • IHAVEIWANT控制訊息
    • 最近的IDONTWANT控制訊息
  • 傳送和接收的訊息
  • 協議RPC

這是一組非常有價值的資料,因為它涵蓋了GossipSub在給定網路中行為的大部分內容。相對簡單的資料分析可以揭示非常重要的指標,並告知工程師協議的健康(或不健康)執行情況。對於GossipSub作為區塊鏈網路的塊傳播協議的情況,深入瞭解這些指標至關重要!

我們如何使用它

Hermes幫助ProbeLab團隊對以太坊網路上GossipSub的執行進行了廣泛的研究。以下是相關ethresear.ch帖子的連結:

此外,它還幫助發現了跨實現的GossipSub操作中的錯誤,並提供了支援性證據,說明需要採用IDONTWANT訊息。

未來計劃和如何貢獻

Hermes是開源的 - 它的GitHub倉庫是: GitHub - probe-lab/hermes: A Gossipsub listener and tracer.。我們歡迎GitHub問題與社群討論,接受功能請求和反饋。我們也歡迎Pull Request來改進工具,新增功能或支援其他網路。如果您對其他網路的資料感興趣,並希望Hermes支援這些網路,請與我們聯絡

我們希望您會喜歡使用Hermes。我們很想聽聽您如何使用它以及您做出的任何改進。

[最初發佈於: https://www.probelab.network/blog/hermes-a-monitoring-light-node-for-gossipsub-based-networks.]

來源
免責聲明:以上內容僅為作者觀點,不代表Followin的任何立場,不構成與Followin相關的任何投資建議。
喜歡
收藏
評論