區塊鏈研究實驗室|如何成為Libra驗證者節點操作指南

買賣虛擬貨幣

作為Libra協會的成員,Bison Trails在Libra testnet網路上執行了第一個非Calibra驗證節點,獲得了深入的經驗。 在這篇文章中,我們詳細介紹了從這個練習中學到的知識,並就如何最佳化節點效能為其他驗證者節點操作員提供了建議。

開始執行驗證節點

在詳細介紹一些經驗開始之前,我們建議您下載並執行Libra網路軟體。Libra專案團隊在GitHub上提供了開源軟體,並在Libra專案開發人員的網站上提供了出色的指導文件。Move程式語言的介紹,以及如何構建和執行驗證者的詳細說明。

1. 按照Libra Core的testnet分支的“ docker”目錄中的說明在本地透過Docker執行https://github.com/libra/libra/tree/testnet/docker

2. 使用Terraform在AWS上執行網路,再次遵循Libra core的testnet分支的“Terraform”目錄中的說明

在這兩種情況下,您都應該使用程式碼的testnet分支,因為它更穩定,並且由Libra區塊鏈開發人員文件推薦。

使用上述任一方法執行驗證者節點都相對簡單。我們建議您首先在本地透過Docker執行,以瞭解節點的配置,使用docker logs命令檢視其日誌,並瞭解如何引導驗證程式來發現彼此。Terraform部署將啟動一個更真實的驗證者網路,驗證者將透過網路相互通訊。

對於那些已經嘗試透過這兩種方法來執行軟體的人來說,下面的建議將是最有意義的。

準備迎接主網的三種方法

接下來,我們想根據我們執行Libra驗證器的初步經驗以及我們與其他區塊鏈網路的先前經驗分享三個建議。

1、堅持到底

當Libra網路啟動時,隨著新帳戶的新增和已驗證的事務執行建立新版本的分類帳狀態,分類帳狀態將隨著時間的推移而增長。儲存分類帳狀態的資料庫將相應增加。重要的是,無論出於何種原因重新啟動驗證者程序,驗證者節點和完整節點都必須能夠快速恢復。在最壞的情況下,從理論上講,節點始終可以僅從創世塊開始重新同步整個歷史記錄,但是可以透過將區塊鏈儲存在持久捲上,可以輕鬆避免這種昂貴且耗時的同步。

按照慣例,Libra驗證器通常配置為將區塊鏈資料儲存在目錄“ / opt / libra / data”中;您可以透過更改/opt/libra/etc/node.config.toml的儲存部分將區塊鏈資料儲存在其他位置,但是我們建議您堅持使用預設位置。

從node.config.toml中摘錄的推薦儲存配置

dir = "/opt/libra/data"

無論您的節點使用哪個系統目錄來儲存區塊鏈,都將需要在該目錄樹的該位置掛載一個永久卷。 當我們建議透過Docker執行時,這就像使用--volume或--mount標誌指定安裝詳細資訊一樣簡單。 例如,假設您已在/ data主機上安裝了多TB持久卷,並且配置檔案在安全卷/ libra-config上可用,則可以呼叫Docker來使用該卷,如下所示:

**使用volume標誌來持久化**

$ docker run -v /data:/opt/libra/data -v /config:/opt/libra/etc libra_e2e

而且,實際上Libra原始碼中提供的Terraform模板使用這種配置將Libra區塊鏈資料儲存在EBS捲上。

在Bison Trails,我們還擁有專有系統,可以定期對區塊鏈資料進行快照,以便在丟失卷或特定資料中心不可用時(在全球執行的數十萬個區塊鏈節點中很少發生),我們可以快速使用新卷或在其他位置啟動新節點。就是說與這些高階型別的系統不同,我們用自己的Libra驗證者所做的第一件事就是將區塊鏈目錄儲存在一個持久的位置。

2、指標和警報

在Bison Trails,我們習慣於在執行的區塊鏈軟體旁邊新增監視層,以便我們可以預測並採取透過網路正常演進所需的任何擴充套件操作,並對任何意外事件做出反應。

以Libra區塊鏈為例,核心開發團隊透過Prometheus釋出了非常有用的指標的軟體,為所有驗證者提供了巨大的開端。Prometheus是一個出色的時間序列資料解決方案,它已成為衡量指標和提醒開發人員團隊的金標準。體驗這些指標的最佳方法是透過上面執行驗證者入門中所述的Terraform方法來執行驗證者網路。如下面的螢幕快照所示,它提供了一個現成的儀表板,其中包含針對各個節點以及整個網路範圍的節點的許多關鍵指標。

Libra Core隨附了工作指標和示例儀表板

透過跨多個網路執行節點,我們已經建立了一種相當廣泛而嚴格的方法來監視我們的節點。 我們以三種常規類別檢視指標:

  1. 系統指標:例如 CPU /記憶體/磁碟利用率

  2. 區塊鏈節點:例如 流程執行狀況,節點連線性,資料傳輸

  3. 區塊鏈應用:例如 凍結率,交易率和驗證統計

對於我們跟蹤的每個指標,我們可以將警報大致分為嚴重或非嚴重警報。由於Libra主網尚未啟動,並且核心開發工作以非常激進的速度推進,如果驗證程式停頓,Bison Trails的任何人都不會得到呼叫。但是隨著啟動的臨近,我們將收緊警報閾值和嚴重性,我們建議由執行節點的任何Libra Association成員監視關鍵效能指標,並在適當的地方建立警報。

3、保護您的金鑰

我們的最終建議與您的Libra節點的金鑰管理有關。首先,一個警告:驗證者金鑰管理的方法正在推進,因此我們在此描述的內容並不打算用於主網,而是要讓Association成員和其他節點操作員考慮驗證者金鑰。隨著有關金鑰,金鑰輪換,HSM和其他安全性問題的一些操作問題在未來幾個月內得到解決,以下方法肯定會發生變化。

當前Libra驗證者使用儲存在兩個配置檔案中的三個金鑰對執行:

  1. 共識金鑰儲存在/opt/libra/etc/consunsion_keypair.config.toml

  2. 網路標識和簽名金鑰儲存在/opt/libra/etc/network_keypair.config.toml

在Bison Trails,我們使用分層方法來確保對金鑰的訪問。由於Libra驗證程式需要從檔案讀取金鑰,因此以下兩種做法適用:

1. 限制金鑰檔案的許可權:無論使用者是誰,驗證者程序都是唯一需要讀取這些檔案的程序,並且不需要向其寫入檔案,因此我們建議將許可權模式設定為“ 400”,這意味著使用者可以讀取,並且沒有其他人可以讀或寫。

2. 磁碟隔離:至少我們建議您將tmpfs卷用於Docker映像,幷包括引導程式碼以使配置檔案在tmpfs捲上可用。

如果您只是在本地試驗驗證者節點,則不需要金鑰保護,但是請務必注意開發模式與生產模式中要執行的操作之間的根本是有差異的,做好所有準備工作,迎接Libra主網的到來。

免責聲明:

  1. 本文版權歸原作者所有,僅代表作者本人觀點,不代表鏈報觀點或立場。
  2. 如發現文章、圖片等侵權行爲,侵權責任將由作者本人承擔。
  3. 鏈報僅提供相關項目信息,不構成任何投資建議

推荐阅读

;