0x财经| 以太坊後合併時代15個概念帶你深入了解以太坊2.0

北京時間9月15日14時42分左右,以太坊正式完成合併。以太坊在區塊高度15537393觸發合併機制,並產出首個PoS區塊,高度為15537394,以太坊共識正式從PoW轉為PoS機制。

以太坊進入後合併時代,你對以太坊2.0了解多少?本文用15個概念帶你深入了解它。

1、信標鏈(Beacon chain)

信標鏈向以太坊1.0引入了權益證明,與以太坊1.0並行運行。信標鏈也被稱為協調層。

信標鏈具有一下作用:

  • 分配驗證者的職責

  • 確認檢查點

  • 執行協議級隨機數字生成器(RNG)

  • 促進信標鏈運行

  • 投票決定分叉鏈頭

2、Slots

32 Slot = 1 Epoch

1 slot的時間是12秒,隨機選擇的驗證者在此時間內提議一個區塊。每個slot中可能有也可能沒有區區塊。全部驗證者被分成多個委員會,由一個或多個單獨的委員會負責驗證每個slot。委員會中有一個驗證者將被選為聚合者(aggregator,),而其他127個驗證者將進行驗證。在每個Epoch之後,各委員會的驗證者被混合併合併到新的委員會。每個委員會至少有128名驗證者。

3、Epoch

1 Epoch = 32 Slot

1個Epoch表示32個slot的數量,大約耗時6.4分鐘。

當涉及到驗證者隊列和最終確定性時,Epoch扮演著重要的角色。

4、存款合約

存款合約是通過以太坊1.0上的智能合約到達以太坊2.0的網關。

智能合約接受任何最少1個ETH和有效輸入數據的交易。

以太坊2.0信標節點監聽存款合約,並運用輸入數據來信任各驗證者節點。

5、輸入數據

輸入數據,也稱為存款數據,是用戶生成的,長度為842個字符的序列。

它表示驗證者公鑰和取款公鑰,由驗證者私鑰簽名。輸入數據需要添加到交易和存款合約中,以便由信標鏈識別。

6、驗證者(Validator)

驗證者需要在以太坊1.0鏈上的驗證者存款合約中存入32個ETH。驗證者運營商必須運行一個驗證者節點。驗證者的職責是提議區塊和簽署證明。驗證者必須至少保證一半的在線時長,才能獲得正向回報。

符合激活資格&預估激活

具體參考下文關於等待激活驗證者的相關術語解釋。保證金存款已經過ETH2鏈“符合激活條件”時間戳識別。如果存在等待激活驗證者隊列,則需計算預估激活時間戳。

7、唯一索引(Unique Index)

每個驗證者都會接收屬於自己的唯一索引。

lAfSvrN7A05xmdzuSBK65eD4qioTmPzH3nFCi0Sd.png

8、當前餘額 & 有效餘額(Current Balance和Effective Balance)

當前餘額表示驗證者目前持有的ETH數量。有效餘額表示由當前餘額計算的值,用於確定驗證者獲得的獎勵或懲罰的大小。有效餘額永遠不得超過32 ETH。

為了增加有效餘額,驗證者要求“有效餘額 + 1.25 ETH”。換換句話說,如果有效餘額為20 ETH,則需要當前餘額為21.25 ETH,才能獲得21的有效餘額以太坊。如上例所示,有效餘額將在低於閾值0.25時進行調整。

以下是說明有效餘額如何變化的例子:

  • 如果當前餘額為32.00 ETH ——有效餘額為32.00 ETH。

  • 如果當前餘額從22.00 ETH下降到21.76 ETH——有效餘額將為22.00 ETH。

  • 如果當前餘額增加到22.25 ETH、且有效餘額為21 ETH,則有效餘額增加到22 ETH。

9、舉報人(Slasher)

Slasher自成實體,但需要一個信標節點來接收證明。

為了通過驗證者發現惡意行為,slasher遍歷所有接收到的證明,直到發現罰沒攻擊。

被發現的罰沒被廣播到網絡中,下一個區塊提議者將證明添加到區塊中。區塊提議者會因為罰沒惡意驗證者而獲得獎勵。

然而,舉報人(Slasher)不會得到獎勵。

可罰沒的罪行

證明者違規(Attestation Violation)

  • 雙重投票:驗證者在同一個epoch簽署兩個衝突的證明。

  • 環繞投票:驗證者環繞另一個證明簽署證明。

提議者違規(Proposer Violation)

  • 雙重區塊提議:一個區塊提議者為同一個slot簽署兩個衝突區塊。

10、證明(Attestation)

驗證區塊有效性的證明者(Attester)進行的投票。

11、區塊提議者(Block Proposer)

信標鏈所選擇的驗證者,提議出下一個區塊。每個slot只能有一個有效區塊。

12、區塊狀態(Block Status)

  • 已提議區塊(Proposed):區塊通過驗證被驗證者提議。

  • 提議中區塊(Scheduled):驗證者正在提交數據。

  • 漏塊(Missed/Skipped):提議者沒有在既定時間內成功提議區塊,所以該區塊被漏掉了。

  • 孤塊(Orphaned):為了理解該術語,我們來看下圖,其中數字1-9代表slot。

1、slot1的驗證者提議區塊“a”。

2、slot2的驗證者提議區塊“b”。

3、slot4被漏掉了,因為驗證者沒有提議任何區塊(如離線)。

4、在slot5/6出現了分叉:驗證者(5)提議了一個區塊,但是驗證者(6)沒有收到相關信息(例如,該區塊到達該驗證者的速度不夠快)。所以驗證者(6)根據從驗證者(3)那裡看到的最新信息提議了一個區塊。

5、分叉選擇規則在這裡起關鍵作用——決定了可用鏈中那條鍊是規範鏈。

x6LMuxiFjNosJrtaMysYX2Fg3a21n7aSNLLUYGhh.png

13、驗證者生命週期

(1)已存入保證金

32 ETH已存入ETH1存款合約,該狀態將維持7小時左右。這為在ETH1鏈受到攻擊時提供了安全性。

(2)等待激活

等待在ETH2上激活。

在驗證者進入驗證者隊列之前,它們需要經其他活躍的驗證者投票加入。每4小時進行一次投票。

  • 直到網絡中有327680個活躍驗證者之前,每個epoch可以激活4個驗證者。每增加65536(=4 * 16384)個活躍驗證者,驗證者激活率就相應增加1個點。

  • 此後每個epoch可激活5個驗證者,則需要327680個活躍驗證者,也就是每天1125個驗證者。

  • 每個epoch激活6個驗證者,則需要393216個活躍驗證者,也就是每天1350個驗證者。

  • 每個epoch激活7個驗證者,則需要458752個活躍驗證者,也就是每天1575個驗證者。

  • 每個epoch激活8個驗證者,則需要524288個活躍驗證者,也就是每天1800個驗證者。

  • 每個epoch激活9個驗證者,則需要589824個活躍驗證者,也就是每天2025個驗證者。

  • 每個epoch激活10個驗證者,則需要655360個活躍驗證者,也就是每天2200個驗證者。

  • 激活數量隨激活驗證者數量的增加而增加,其限制為激活驗證者集除以64.000。

(3)活躍驗證者(Active Validator)

當前正在確認和提議的塊(=區塊提議者)

驗證者將保持活動狀態,直到:

  • 其餘額低於16 ETH(被踢出網絡)

  • 自願退出

  • 被罰沒

(4)被罰沒驗證者(Slashing Validator)

驗證者是惡意驗證者,將被罰沒並踢出系統。

懲罰(Penalty)是一S種消極的獎勵(如離線)。

罰沒(Slashing)是重大的懲罰(≥1/32的質押餘額)和強制退出… .—— Justin Drake

(5)正退出的驗證者(Exiting Validator)

  • 踢出網絡:驗證者余額低於閾值,被踢出網絡。

  • 退出網絡:自願退出,取款密鑰持有人可提取相應驗證者余額的當前餘額。

14、最終確定(Finalization)

在以太坊2.0中,至少有三分之二的驗證者必須誠實,因此,如果存在兩個相互競爭的epoch,並且三分之一的驗證者決定實施惡意行為,他們將受到懲罰。誠實的人會得到獎賞。

為了確定一個Epoch是否已經最終確定,驗證者必須同意連續的最新兩個Epoch(= “被證明的”),然後所有之前的Epoch都可以被認為已經最終確定。

6iLsROir7jiPeh4XDKoSLUaxBBGLTeexwn5JSnsV.png

xXDvoGgQAmGeNdsP7OphqIzWblPgHEzKEaRbbeKh.png北京時間9月5日19:26最終確認的Epoch和正在處理區塊的Epoch

15、最終確定性問題(Finality issues)

如果某個epoch的投票率低於66.6%(=參與率),則該epoch不能成立。正如在“最終確定”概念提到的,需要連續三個被證明的epoch才能達成最終確定性。只要鏈不能達到這個狀態,就存在最終確定性問題。

在存在最終確定性問題期間,驗證者隊列將被暫停,新的驗證者不能加入網絡,但是,餘額小於16 ETH的非活躍驗證者將被踢出網絡。這使得網絡更加穩定,參與率也更高。

Total
0
Shares
Related Posts