作者:Ryan Sean Adams
譯者:Jhonny
編輯:Mickey
Eth2 馬上要來了。
根據以太坊基金會官博訊息 (見下圖),今日 Eth2 規范 v1.0 版本正式發布,包括發布階段0信標鏈主網的存款合約 (Deposit Contract) 地址,Eth2 信標鏈創世區塊的誕生時間預計是 2020 年12月1日。 當前 Eth2 存款合約已經部署,以太坊基金會公布的官方存款合約地址為: 0x00000000219ab540356cbb839cbe05303d7705fa根據Eth2 Launch Pad (launchpad.ethereum.org)顯示,截至撰文時,已經有 19,685 ETH 被質押進了該存款合約中 !當存款合約中的 ETH 質押量達到 524,288 ETH (也即有 16,384 名驗證者參與抵押,每名驗證者抵押 32 ETH) 時,則 Eth2 信標鏈主網 (Eth2階段0) 將于12月1日正式啟動,否則信標鏈創世區塊誕生時間將順延,[備注:Eth2 Launch Pad 是 Eth2 驗證節點快捷啟動平臺]
需要注意的是,如果 ETH 持有者想要成為 Eth2 的驗證節點,必須要具有必要的硬體要求和技術專長,并通過官方的 Eth2 Launch Pad 按照分步說明進行操作,切勿直接將 ETH 發送到該存款合約地址,直接將 ETH 發送到該合約地址將導致交易失敗,而并不意味著在 Eth2 上參與質押, 如何成為 Eth2 網路驗證者呢?在質押 ETH 之前需要注意些什么呢?……我們將在本文涵蓋以下內容:
- Eth2 驗證者硬體要求;
- 選擇和安裝 Eth2 客戶端‘
- 搭建 Eth1 節點;
- 使用 Eth2 Launch Pad 完成質押,
01
硬體要求
基于 Eth2 去中心化的設計目標,預計 Eth2 驗證者將使用各種不同的基礎設施 (本地部署,云端等等), ????如果你此前尚未參與 Eth2 測驗網的 ETH 質押操作,可以使用 Medalla 測驗網進行試驗,以此來決定哪種設定能夠給予你最佳的參與性能,在正式成為 Eth2 信標鏈驗證者之前,請確保先在測驗網上進行一些測驗!可通過此鏈接參與成為 Medalla 測驗網的驗證者:
https://medalla.launchpad.ethereum.org/ 下面我們將給予一些成為 Eth2 驗證者的硬體要求,幫助你提前做好準備!
推薦的硬體規格:
- 作業系統: 64-bit Linux, Mac OS X, Windows
- 處理器: Intel Core i7-4770 or AMD FX-8310 (或更佳)
- 記憶體: 8GB RAM
- 存盤空間: 100GB 固態硬碟可用空間
- 互聯網連接: 寬頻網路連接 (10 Mbps)
- 電源: 不間斷電源供應 (UPS)
或者選擇云提供商,以Digital Ocean云提供商為例:
- 相應的 Digital Ocean 虛擬機實體:
- 記憶體: 8GB RAM
- 存盤空間: 160GB 固態硬碟可用空間
- 正常運行時間: 99.99%
- 可用性: 8 個資料中心
- $/每小時: $0.060
- $/每月: $40
最低硬體規格:
- 作業系統: 64-bit Linux, Mac OS X, Windows
- 處理器: Intel Core i5-760 or AMD FX-8110 (或者更佳)
- 記憶體: 4GB RAM
- 存盤空間: 20GB 固態硬碟可用空間
- 互聯網連接: 寬頻網路連接n (10 Mbps)
- 電源: 不間斷電源供應 (UPS)
相應的 Digital Ocean 虛擬機實體:
- 記憶體: 4GB RAM
- 存盤空間: 80GB 固態硬碟可用空間
- 正常運行時間: 99.99%
- 可用性: 8 個資料中心
- $/小時: $0.030
- $/月: $20
02
選擇并安裝 Eth2 客戶端
Eth2有著多個客戶端可以選擇,驗證者在運行驗證者節點世可以選擇不同的客戶端實現, 截至目前,已經有 4 個 Eth2 客戶端團隊開發的 Eth2 客戶端可供選擇,這些 Eth2 客戶端分布式:Teku、Nimbus、Lighthouse 和 Prysm。
Eth2 客戶端
Prysm 由 Prysmatic Labs 團隊開發(Discord):
- Prysm 是基于 Go 的 Eth2 客戶端實現,專注于客戶端的可用性、安全性和可靠性,Prysm 客戶端使用 Go 語言撰寫,根據 GPL-3.0 許可進行發布,
- 使用說明:
- https://docs.prylabs.network/docs/getting-started/
- Github:
- https://github.com/prysmaticlabs/prysm/
Lighthouse 由 Sigma Prime 團隊開發 (Discord):
- Lighthouse 是基于 Rust 的 Eth2 客戶端實現,非常注重速度和安全性,Lighthouse 客戶端背后的團隊 Sigma Prime 是一家資訊安全和軟體工程公司。Lighthouse 根據 Apache 2.0 許可進行發布。
- 使用說明:
- https://lighthouse-book.sigmaprime.io/
- Github:
- https://github.com/sigp/lighthouse
Teku 由 ConsenSys 開發 (Discord):
- PegaSys Teku 是基于 Java 的 Eth2 客戶端實現,其設計和搭建旨在滿足機構需求和安全要求,Teku 獲得了 Apache 2 的許可,并用 Java 撰寫,Java 是一種成熟且廣泛使用的語言。
- 使用說明:
- https://docs.teku.pegasys.tech/en/latest/HowTo/Get-Started/Build-From-Source/
- Github:
- https://github.com/PegaSysEng/teku
Nimbus 由 Status 開發 (Discord):
- Nimbus 是一個 Eth2 研究專案和一個客戶端實現,旨在在嵌入式系統和個人移動設備 (包括搭載資源限制的硬體的較早的智能行動電話) 上良好運行,Nimbus (Apache 2許可) 使用 Nim 語言撰寫,Nim 是一種具有類似于 Python 語法的語言,可編譯為C語言,
- 使用說明: https://nimbus.team/docs/
- Github: https://github.com/status-im/nim-beacon-chain
03
安裝 Eth1 節點
運行 Eth2 驗證者節點除了需要安裝一個 Eth2 客戶端之外,還需要運行一個 Eth1 節點,此 Eth1 節點用于監視驗證者的 32 ETH 抵押存款。在搭建 Eth1 節點時,可以有多種選擇,以下是最常用的啟動 Eth1 節點的工具:
自托管的 Eth1 節點客戶端:
- OpenEthereum:https://www.parity.io/ethereum/
- Geth:https://geth.ethereum.org/
- Besu:https://besu.hyperledger.org/en/stable/
- Nethermind:https://www.nethermind.io/
第三方托管的 Eth1 節點客戶端:
- Infura:https://infura.io/
04
運行 Eth2 驗證者節點
第一步: 獲取 ETH
如果你不熟悉以太坊,那么一個重要步驟就是先獲取成為 Eth2 驗證節點所需的 ETH。每個 Eth2 驗證者節點都需要質押 32 ETH。請注意,如果你最終成功地成為了 Eth2 驗證者,則意味著你對此參與計劃做出了長期承諾 (因為短期內這些質押的 ETH 無法取出), 如果你需要獲取一些 ETH,可通過加密貨幣交易所進行獲取,比如:
- 法幣交易所 (美國地區): Coinbase 或者 Gemini
- 法幣交易所 (非美國地區): Binance 或者 Kraken
- 以太坊去中心化交易所: Uniswap
第二步: 前往 Eth2 Launchpad 平臺進行 ETH 質押
在過去的幾個月中,以太坊基金會 (EF)、Codefi Activate 和 Deep Work Studio 一直在開發一個Eth2 驗證者節點快捷啟動界面,以使用戶更容易參與 ETH 質押并成為 Eth2 驗證者, 這項工作的結果就是 Eth2 Launch Pad 平臺的發布,該平臺旨在安全地指導用戶完成生成 Eth2 密鑰對并將 32 ETH 質押進 Eth2 官方的存款合約中, Eth2 Launch Pad 是為在家即可參與 Eth2 驗證節點的人而設計的,也即打算運行自己的 Eth2 驗證者節點的業余愛好者,并接受在自己的計算機終端螢屏上運行命令。
第二步: 盡職調查
在成為 Eth2 驗證者節點的過程中,花點時間閱讀一下 Eth2 Launch Pad 平臺上的內容是非常重要的!該平臺上的“Overview” (概述) 部分旨在使你知曉在質押 ETH 時所涉及的風險和相關資訊,包括: (1) Eth2 使用 PoS (權益證明機制) 來保護整個網路。為此,網路需要活躍的參與者 (也即驗證者) 來提議、驗證和保證區塊的有效性。作為交換,誠實的驗證者將獲得財務獎勵。重要的是,驗證者需要質押 ETH 作為抵押品,換句話說,需要質押一些資金。成為驗證者的唯一方法是在當前的以太坊鏈 (也即 Eth1 鏈) 上往存款合約發送一筆單向的 ETH 交易, (2) 要成為 Eth2 驗證者,你需要對每個要運行的驗證者節點都質押 32 ETH,注意,此抵押過程是單向不可逆的。 (3) 只有積極參與 Eth2 共識的驗證者才能獲得獎勵。離線的驗證者會受到懲罰,某節點離線受到的懲罰力度與該節點積極參與共識時可以獲得的獎勵相當。 (4) 進行惡意行為或者與 Eth2 規范背道而馳的驗證者,很容易受到罰沒懲罰 (get slashed),這將招致巨額懲罰。 (5) 驗證者密鑰是從唯一的助記詞 (種子) 派生的。你的種子是取款時的唯一途徑。因此,最重要的是確保其安全!請備份好你的助記詞! (6) Eth2 Launch Pad 將幫助用戶創建每個驗證者節點的簽名密鑰對 (不同的驗證者節點都有不同的簽名密鑰,即便某個用戶同時運行了多個驗證者節點,但同一個用戶運行的多個驗證者節點可以使用同一個取款密鑰),這些簽名密鑰將會保存在 keystore(密鑰庫檔案) 中 (注意:每個驗證者的簽名密鑰會保存在單獨的 keystore 中),當你使用驗證者軟體開始驗證之前,你需要將 keystore 匯入到驗證者軟體中, 通過 Eth2 Launch Pad 創建驗證者節點時,你還會收到一個存款檔案 (deposit file,檔案后綴為 .json),需要將該存款檔案上傳至 Eth2 Launch Pad 網站上,(對此我們將在下文進行解釋) (7) 驗證者之間的轉賬至少在 Eth2 階段1 之前是無法實現的,驗證者必須等到階段2 (大約還要2年時間) 才能將資金提取到某個特定的分片鏈上。 (8) 由于至少在階段1到來之前,驗證者無法進行轉賬,因此在此之前,驗證者無法自愿退出驗證者行列并重新啟動節點,這意味著驗證者將需要在很長的一段時間內參與 Eth2 共識之中, (9) 當前用戶參與進來的是初始發布的 Eth2 新型網路中,與任何新軟體一樣,存在潛在的 bugs,雖然不太可能,但潛在的 bugs 可能會導致節點受到 slashing (罰沒) 懲罰。 (10) 為了成為驗證者,你將需要生成新的 Eth2 密鑰對。為此,同時也為了安裝驗證者軟體,你需要在技術上有能力在計算機終端上運行命令列,
第三步:生成密鑰對和助記詞
對于每個驗證者節點,你都需要生成驗證者密鑰對和一個助記詞,該助記詞用于之后生成你的取款密鑰。 首先,你需要在 Eth2 Launch Pad 上填寫你想要運行的驗證者節點數量,以及你想要在哪種作業系統上運行驗證者節點。見下圖????
接下來,Eth2 Launch Pad 平臺將為你提供兩個選項用于生成你的存款密鑰 (deposit keys), 你可以通過下方鏈接找到針對你的作業系統的詳細說明:https://github.com/ethereum/eth2.0-deposit-cli/blob/master/README.md The first is to use the binary executable file that you can download from the Eth2 Github repo and then run the ./deposit command in your terminal window. 第一個選項是使用你從 Eth2 Github repo (https://github.com/ethereum/eth2.0-deposit-cli/releases/) 下載的二進制可執行檔案,然后在你的終端視窗中運行 ./deposit 命令。見下圖???? 請記得驗證以下該網址,確保你使用的是正確的網址來下載! 第二個選項是從 Python 源代碼搭建 deposit-CLI 工具,你將需要按照說明進行操作,以確保你已安裝所有必需的開發庫和 deposit-CLI 工具。見下圖????
當你安裝了 deposit-CLI 工具并在你的終端視窗運行此工具時,你將被提示:
- 明確你想要運行的驗證者節點的數量;
- 你想要用于生成助記詞的語言;
- 明確你想要運行驗證者節點的網路 (主網)。
請確保你設定的是 –chain mainnet,否則存款將無效。 現在,你將被要求設定你的密碼 (password),一旦密碼確定,你的助記詞將被生成。請確保你將助記詞寫下來,并將其離線存盤在安全的地方! 如果你已經成功地完成了該步驟,那你應該可以看到下方這個螢屏???? 如果你對 deposit-cli 有疑問,請訪問其 GitHub repository: https://github.com/ethereum/eth2.0-deposit-cli
第四步:上傳你的存款檔案
你馬上就要完成了!下一步是上傳你在上一步生成的 .json 存款檔案, 該檔案位于 /eth2.0-deposit-cli/validator_keys 目錄中,檔案被命名為 deposit-data-[timestamp].json,
第五步:連接你的錢包
接下來就是連接你的 Web3 錢包,并點擊繼續。請確保你在你的錢包設定中選擇了主網環境,加下圖????
第六步:確認交易資訊 & 發起抵押存款
當你連接錢包并確認你的錢包地址后,你將進入一個總結性的頁面,該頁面將顯示你需要向存款合約中發送的 ETH 總數量 (根據此前你選擇運行的驗證者節點數量,每個驗證者 32 ETH), 點擊同意警戒檢查 (alert checks),然后單擊確認以導航到最后一步——進行實際存款, 點擊“Initiate the Transaction” (發起交易),將你的 ETH 質押進官方的 Eth2 存款合約中。 你將需要通過你的錢包確認每個驗證者的 32 ETH 質押款, 當這筆交易確認之后,你就完成了 Eth2 質押操作了!???? 祝賀!!