這些常見術語可以幫助你更全面理解以太坊 2.0。

原文標題:《以太坊 2.0 術語庫》
整理:ETH 中文網

Attestation 證明

證明是指驗證者所發起的投票,由驗證者的簽名聚合而成,用以證明區塊的有效性,投票通過驗證者的餘額進行加權。

Attester 證明者

信標鏈上的驗證者可以充當區塊提議者和證明者,證明者對區塊發起投票。

Beacon Chain 信標鏈

以太坊 2.0 階段 0 中實現,將引進權益證明 (PoS) 共識機制。也被認爲是 Eth2 的「協調層」。

職能:

  • 爲驗證者分配職責
  • 對檢查點進行最終確定
  • 在協議層上執行隨機數生成
  • 鞏固信標鏈
  • 對鏈頭進行投票,作爲分叉選擇的基礎
  • 針對分片鏈的過渡 / 數據進行連接和投票

Block proposer 區塊提議者

由信標鏈通過 RANDAO 機制隨機選擇出來的驗證者,對下一個區塊進行提議。每個 slot 中僅有一個區塊提議者。

Casper FFG

Casper FFG 是基於 PoS 共識機制的區塊最終確定系統,其規定了區塊最終確定的規則,並對已確定的區塊進行檢測。Casper FFG 融合了 PoS 算法技術及拜占庭容錯共識原理,其與鏈增長過程脫鉤,可以作爲一個獨立的疊加層,爲任何有效區塊鏈協議提供最終確定區塊的服務。與 PoW 共識機制相比,FFG 可以爲區塊鏈帶來更高的安全性,防止區塊被篡改。

Casper FFG vote 指驗證者爲最近一個 epoch 的檢查點即 「目標檢查點」 和前一個檢查點即 「來源檢查點」 發起投票,證明投票由驗證者廣播到 p2p 網絡,最終再由區塊生產者打包進區塊。

Committees 委員會

信標鏈和分片裏每個 slot 中的委員會至少由 128 位驗證者組成,根據僞隨機過程 RANDAO,驗證者們被隨機分配到委員會中,對區塊發起投票,確定其有效性。

Checkpoint 檢查點

檢查點指位於每個 epoch 第一個 slot 裏的區塊,如果該 slot 內沒有產生區塊,則最近的前一個區塊爲檢查點。每個 epoch 都會有一個檢查點區塊;一個區塊可能同時是多個 epoch 的檢查點。

Chain head 鏈頭

鏈頭是指信標鏈或分片鏈末端的一個區塊,每個 slot 中的區塊都要發起一次 LMD GHOST 投票,對信標鏈頭進行驗證。

Current Balance & Effective Balance 現存餘額 & 有效餘額

現存餘額指驗證者當前持有的 ETH 總數,而有效餘額指根據現存餘額計算出來的 ETH 數量。有效餘額規定了驗證者獲得的 ETH 賞金或者罰沒數量的範圍。有效餘額最多爲 32 個 ETH。

驗證者若想要擴大有效餘額數量,需要持有的現存餘額爲「有效餘額+1.25 個 ETH」。換句話說,如果驗證者原本持有有效餘額 20 個 ETH,想要增加到 21 個 ETH,驗證者的現存餘額必須增加到 21.25 個 ETH。如下文第三個例子所示,倘若現存餘額減少了 0.25 個 ETH,低於閾值,有效餘額也會隨之調整。

以下舉例說明了如何計算有效餘額:

  • 如果現存餘額爲 32 個 ETH — 有效餘額爲 32 個 ETH;
  • 如果現存餘額由 22 個 ETH 減少到 21.76 個 ETH — 有效餘額將爲 22 個 ETH;
  • 如果現存餘額由 22 個 ETH 減少到 21.749 個 ETH — 有效餘額將爲 21 個 ETH;
  • 如果現存餘額增加到 19.25 個 ETH,且原有有效餘額爲 18 個 ETH,那麼有效餘額將增加到 19 個 ETH;
  • 如果現存餘額增加到 22.25 個 ETH,且原有有效餘額爲 21 個 ETH,那麼有效餘額將增加到 22 個 ETH。

Deposit Contract 存款合約

部署在以太坊 PoW 鏈上的智能合約。要成爲 Eth2 的 PoS 驗證者,需要首先向存款合約發送一筆交易,包含一定量的 ETH 作爲質押金。存款合約記錄了質押歷史紀錄,並且將所有質押金鎖定在 PoW 鏈上,之後可以轉移至 Eth2 信標鏈上。請注意,在 Eth2 早期階段,存款合約只支持單向轉移,不能將質押金從 Eth2 轉回 PoW 鏈。

Double proposal 雙重提議

一名區塊提議者在他所分配到的 slot 裏提議一個以上的區塊。

Double vote 雙重投票

一名驗證者針對同一個目標檢查點 (target),不同的源檢查點 (source) 發起的兩次 FFG 投票。雙重投票可以被看做是 PoS 版本的雙花攻擊 (double-spend attack)。

信標鏈、PoS、分片……接觸以太坊 2.0 得先理解這些術語雙重投票及環繞投票示例,圖源 Justin Drake

Epochs 時段

每個 epoch 由 32 個 slots (時隙) 組成,每個 slot 爲 12 秒,一個 epoch 即 6.4 分鐘。

EBB 時段邊界區塊

時段邊界區塊 (EBB, epoch boundary block) 是一些文獻中用到的術語,可以理解爲「檢查點」(checkpoint) 的同義詞。

Fork choice rule 分叉選擇規則

Eth2 中的分叉選擇規則是 LMD GHOST (Latest Message Driven GHOST, 由最新消息驅動的 GHOST)。在該協議中,獲得投票數最高的分叉將被選爲鏈頭。與最長鏈規則相比, GHOST 的優點在於能夠在網絡延遲較高時降低攻擊效率,同時最小化鏈重組的深度。即使攻擊者能夠高效地在其分叉鏈上繼續產生區塊,嘗試使該鏈成爲最長鏈,協議也會選擇另一條票數更高的分叉鏈。

Finalization 最終確定

最終確定性指兩個相沖突的區塊 (檢查點) 無法同時被最終確定,也可以稱之爲經濟確定性 (economic finality)。在 Eth2 中,一旦兩個相沖突的檢查點被最終確定,那麼系統中至少三分之一的活躍驗證者將受到罰沒。如果連續兩個 epoch 被證明 (或跳過一個 epoch 的連續兩個 epoch),則第一個 epoch 被認爲獲得最終確定。

Justification 證明

證明指驗證者對檢查點進行投票並確定信標鏈頭的行爲。如果 2/3 的驗證者 (即絕對多數) 對兩個 epoches 達成共識,例如源檢查點 (source) 和目標檢查點 (target),那麼這兩個檢查點都被證明了。如果連續兩個 epoch 被證明 (或跳過一個 epoch 的連續兩個 epoch),則第一個 epoch 被認爲獲得最終確定。

LMD GHOST

LMD GHOST 是 Eth2 中的分叉選擇規則。GHOST (Greediest Heaviest Observed SubTree) 實際上是一種較早的協議,在 PoW 和其他區塊鏈中應用頗廣。協議僅遵循「最重」子樹,即最長鏈。在比特幣語境中,最重分支是哈希算力最高的鏈,並且被視作是最長鏈 (規範鏈)。LMD (Last Message Driven) 通過「最新消息驅動」來發揮「消息」 (message) 的作用。消息是一則證明 (attestation),其不同之處在於獲得最多票數的分叉將被視爲規範鏈。

Proof of Stake (PoS) 權益證明

權益證明 (PoS) 是一種用於公共區塊鏈的共識算法,該算法取決於驗證者在網絡中的經濟權益。在基於工作量證明 (PoW) 的公共區塊鏈中,通過獎勵解決密碼難題的參與者,以驗證交易並創建新區塊 (即挖礦)。而在基於 PoS 鏈中,一組驗證者輪流對下一個區塊進行提議和投票,每個驗證者的投票權重取決於其押金 (即權益) 的多少。PoS 的顯着優勢包括提高安全性、降低中心化風險和節省能耗。

在以太坊 2.0 上,激活一名驗證者需要在網絡中質押 32 ETH。

Phase 0 階段 0

階段 0 作爲以太坊 2.0 的首個階段,也即啓動信標鏈(信標鏈已於北京時間 2020 年 12 月 1 日創世)。階段 0 通過管理協調驗證者來實現 PoW 到 PoS 共識機制的轉變。此階段不會提供分片鏈或執行等功能,也就是說,參與者在此階段無法在 Eth2 網絡中進行交易或是調用智能合約。

*Phase 1 階段 1

階段 1 是以太坊 2.0 繼階段 0 之後的第二次網絡升級,主要目標是啓動分片鏈,並將數據寫入分片鏈。分片是提升以太坊可擴展性的關鍵,因爲其允許並行處理交易而大大提升了吞吐量,目前最新方案是在階段 1 中部署 64 個數據分片(將來或許會更多)。

Phase 1.5 階段 1.5

階段 1.5 指以太坊 1.0 和 2.0 區塊鏈的合併時期。在階段 1.5,以太坊 1.0 鏈將合併到具備執行功能的 Eth2 信標鏈上。彼時,1.0 鏈的全部功能 (包括 ETH 的使用) 將在 2.0 鏈上實現,而不會破壞數據一致性。

Phase 2 階段 2

階段 2 是以太坊 2.0 的第三個階段。在之前的路線圖中,階段 2 的計劃是整合整個 2.0 系統的功能性,並引入基於 eWASM 的虛擬機,爲分片提供執行環境,以便基於 Eth2 構建可擴展的應用,並且將 1.0 鏈完全引入 2.0,最終棄用工作量證明機制。在最新的「可執行信標鏈+數據分片+Layer2」路線圖中,階段 2 暫時被擱置,但仍然保留內置虛擬機的可能性。

Sharding 分片

分片概念原本指數據庫的橫向分割,將大型數據庫分割爲更小、更快、更易於管理的部分。爲了保證去中心化,區塊鏈需要採取類似的橫向擴容方式。每條分片鏈都擁有一個節點子集在該鏈上進行工作。虛擬礦工和驗證者被分配到不同的分片中,並且只處理和驗證自己所在分片鏈上的交易。Eth2 的短期計劃是啓用 64 個分片,預計在階段 1 實現分片與信標鏈的交聯。

Shuffling 「混洗」機制

驗證者「混洗」的主要目的在於確保分片的安全性。由於驗證者分散在不同的分片中,有的節點可能會惡意控制某個分片。對驗證者進行混洗 (shuffling),使得每個分片區塊都有一個委員會,其中的驗證者都經由隨機挑選。經數學計算,如果攻擊者控制的驗證者少於總數的三分之一,就難以對某個分片發起攻擊。

Slots 時隙

12 秒的時間段,其中隨機選擇的驗證者將提議一個區塊。在每個 slot 中,在信標鏈和分片中都可能新增一個區塊,但是 slot 中也可以沒有產生區塊。每個 epoch 中,驗證者被隨機分配到一個 slot 和分片中組成委員會,除了一名區塊提議者,其他委員會成員負責對該區塊進行證明 (attest)。每個委員會最少有 128 名驗證者。

Surround vote 環繞投票

一名驗證者發起的 FFG 投票環繞之前的 FFG 投票,或是被之前的 FFG 投票所環繞。

舉個例子,假設一名驗證者在 epoch 5 內,爲 slot 32 處的源檢查點和 slot 128 處的目標檢查點發起了一次 FFG 投票:

  • 在 epoch 6 內,爲 slot 64 處的源檢查點和 slot 96 處的目標檢查點發起的 FFG 投票,被其在 epoch 5 中的投票環繞。
  • 在 epoch 6 內,爲 slot 0 處的源檢查點和 slot 160 處的目標檢查點發起的 FFG 投票,則環繞了其在 epoch 5 中的 FFG 投票。

Slashing 罰沒

對驗證者進行罰沒,是指如果驗證者被證實存在破壞行爲,其 (部分) 質押金將被銷燬。在 Eth2 階段 0 時期,驗證者主要會因爲三種惡意行爲被罰沒:雙重投票 (double voting)、環繞投票 (surround voting)、雙重提議 (double proposal)。被罰沒的驗證者將被停止繼續參與協議,並且會被強制退出。

被銷燬的質押金會與同時段被罰沒的驗證者數量成一定比例,以避免驗證者因無心之舉而受到超額懲罰。因爲攻擊需要大量驗證者參與,被罰沒的驗證者越多,說明被攻擊的可能性越大,懲罰力度也就越強。最低罰沒金額爲 1 ETH,最高罰沒金額爲驗證者全部餘額。

Validator 驗證者

驗證者可以看作是權益證明 (PoS) 共識機制中的「虛擬礦工」。用戶通過質押 ETH 來激活和管理驗證者,每質押 32 個 ETH,就會激活一名驗證者。

驗證者通過驗證者客戶端進行工作,而客戶端藉助信標(鏈)節點來運行。每個信標節點都有跟蹤和讀取信標鏈的功能。而每個驗證客戶端都可以執行信標節點的功能,或者調用信標節點。一個客戶端允許一個或以上驗證者執行驗證職能。

驗證者生命週期:

1. 質押:已將 32 ETH 存入 ETH1 存款合約,此狀態將保留約 7 個小時。這可以在 ETH1 鏈遭遇攻擊時保障安全性。

2. 等待在 Eth2 激活

  • 在網絡中有 327680 個有效驗證者之前,每個 epoch 可以激活 4 個驗證者 (每天 900 個)。在此之後,每個 epoch 可以激活 5 個驗證者。並且每增加 6.4 萬個活躍驗證者,每個 epoch 可以激活的驗證者數量+1
  • 激活數量與活躍驗證者的數量成比例,上限是有效驗證者集除以 64,000

活躍驗證者(參與證明 & 提議區塊):

出現以下情況任一,驗證者停止工作

  • 餘額低於 16 個 ETH (被驅逐)
  • 自願退出
  • 受到罰沒