Skip to main content

沒時間了,快上車!在家跑 Ethereum 2.0 驗證節點

· 8 min read

以太坊 (Ethereum)作為 2014 年才開始區塊鏈的專案,近年發展迅速,眾多在以太坊上的活動讓目前的每秒交易速度 (~13 TPS) 已不符所需。經過多年的實驗與討論,以太坊 (Ethereum) 的下一代 Ethereum 2.0 路線圖也已經越來越清晰。

目前以太坊 (Ethereum) 2.0 即將進展至 Phase 0 階段。在此階段以太坊 1.0 和 2.0 的網路將並存。直到發展到 Phase 1.5 階段,1.0 網路將會融合進 2.0 網路。隨著時間接近,2.0 測試網路與多種驗證節點的測試版也陸續釋出,網路上已有許多經驗可參考,正是嘗試的好時機。

這邊略過各種基礎介紹,直接從如何運行以太坊 (Ethereum) 2.0 的驗證節點開始。

如果覺得這篇文章有用,歡迎傳送小費到 0xfDa995Eb398750319a2D5E8A4766c02e54db24b8

快速入門 (硬體需求)

  • 驗證節點需要 24 小時運作(可短時間離線)
  • Passmark CPU Mark (x86, ARM) 分數至少 4000 分
  • 至少 512G 的 SSD
  • 運作期間會長期佔用 300k bps 左右的網路頻寬

參考相關文章,並考慮整體成本後,我選擇樹莓派 4 代 (Raspberry Pi 4) 4GB 版當作主機,搭配 512G 的 USB 介面外接 SSD 來跑驗證節點 (總能耗 = 機器本身最高耗能 5V * 3A = 15W,再加上家用路由器要一直開著著的能耗。樹莓派 4 一般能耗應該在 5~9W 之間)。

神奇的是,需要的硬體竟然在 PCHome 就可以一次買齊 😎 Imgur

(我已有 16G+ SD 卡,SD 卡讀卡機,HDMI 外接螢幕,USB 外接鍵盤),林林總總必要成本大概在 7000 元內。

參考 ETH 2 stacking 的即時回報率 https://beaconcha.in/calculator ,這個配置大概只要跑 3 個月,硬體跟電費的部分就可以回本了。

快速入門 (軟體需求)

驗證節點需要

  1. 參考 Ethereum 1.0 的區塊鏈節點
  2. 同步 Ethereum 2.0 Beacon 鏈
  3. 運行 Ethereum 2.0 的 Validator(驗證者節點)

因此軟體中需要包含

graph LR U[Ubuntu 20.04] --> C(Ethereum 1 Chain, 不挖礦, Geth) U --> B(Ethereum 2 Beacon Chain, Prysm) U --> V(Ethereum 2 Validator, Prysm)

硬體準備好後,若想要快速開始體驗,可以參考 EthereumOnARM 專案提供的 ROM 版本 或是參考他的腳本來設定(請留意使用他人包好的 ROM 的風險)。

快速入門 (軟體設定)

把 SD 卡燒好,路由器上開 13000/30303 port forwarding,接上網路,就自動裝好自動跑。

1. 燒 ROM

下載好 EthereumOnARM ROM 之後,在電腦上使用 balena Etcher 等燒錄軟體,將 ROM 燒錄到 SD 卡中。

2. 設定機器

將網路線接到樹莓派 4 上,插入燒好 ROM 的 SD 卡,並將外接 SSD 插到藍色的 USB 接口上。 通上電源後,即會自動開機並執行所有的設定(系統調整,格式化 SSD,安裝所需程式)。

出現登入提示後以 ethereum/ethereum 登入。 登入後可以使用命令 hostname -I 查看機器目前分配到的 IP。

$ hostname -I
192.168.1.123

3. 查看運作狀態

這時就可以透過其他設備查看樹莓派 4 的狀態。

開啟瀏覽器,輸入 http://[ip]:3000 ,使用 admin/ethereum 登入,可以看到以下的監視圖表:

設備狀態 Imgur

Ethereum 1.0 Imgur

Ethereum 2.0 的監視圖表在 Ethereum 1.0 區塊鏈同步完成前,都還不會正常顯示。

4. 設定網路

打開家用路由器的設定頁面,將樹莓派 4 分配到以上查到的固定內網 IP (如上例就是 192.168.1.123)。

在 WAN(外部網路)端設定頁面的Port Forwarding,或虛擬伺服器設定中,將以下 port 綁定到樹莓派 4 的內網 IP:

  • 13000 (TCP)
  • 12000 (UDP)
  • 30303 (TCP, UDP)

這樣從外面傳入這些 port 的封包,就會自動轉傳到樹莓派 4。

設定驗證者 (Validator) 資訊

在 Ethereum 1.0 區塊鏈同步完後,可以透過遠端連線的方式來連線到樹莓派 4

並在瀏覽器上開啟 https://prylabs.net/participate 參照說明申請(需用以太坊錢包)。

Imgur

申請後如果 validator process 也順利啟動,可以在 Ethereum 2.0 監視圖表中看到 Validator process started 訊息。

Validator Main InfoStatus(狀態) 欄位也會變成DEPOSITED(已存入) 狀態。

Imgur

也可以根據你登記的 Validator pubkey,前往 https://beaconcha.in 查看 Validator 狀態

例如 https://beaconcha.in/validator/30078https://beacon.etherscan.io/validator/30078

經過實際安裝的過程,我們可以看到,以太坊 2.0 的相關工具生態已經初步搭建起來了。

運作之後

恭喜你已經上車了!🤑

同時,你也應該要知道,你放了 32ETH (現價 7000 + 美金)在以太坊 2.0 的網路上,一兩年的時間內無法取回到以太坊 1.0 網路上使用。

......😲😱😡🤬!!!

還好,現在跑的還只是測試網路,放的不是真的 ETH 😜。

這時候,是不是更應該仔細查看一下當前 Ethereum 2.0 的說明書 (Spec) 是不是合理?

在驗證截短運作的過程中,一旦遇到網路、機器當機等各種斷線情況時,Ethereum 2.0 網路會怎麼處理

文末加註警語:

可以用文中建議的配置,用較低成本在測試網路體驗看看。但若為了投資而做,請詳閱說明書!

其他軟體設定選擇

可以參考已有一些手動安裝教學如

教你從 Ubuntu 20.04 開始從頭裝。

其他的硬體選擇

可以參考 https://www.reddit.com/r/ethstaker/comments/ggmbvd/a_comprehensive_look_at_hardware_for_staking/

參考資料