蓋索林 Gasolin

人們總是高估一年可以完成的事,卻低估十年能完成的事

0%

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

以太坊 (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

ssh [email protected]

並在瀏覽器上開啟 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/

參考資料