以太坊2.0:如何實現最終性?
編者按:本文來自Unitimes(ID:Uni-times)編者按:本文來自
編者按:本文來自
編者按:本文來自
,作者:Bruno Škvorc,編譯:Summer,Odaily經授權轉載。
首先,我們試著來理解什麼是finality (最終性)。 [備註:也有譯文將finality 譯為“確定性”]
你一定已經註意到,加密貨幣平台和Dapps (去中心化應用) 通常都會等待幾個區塊被敲定之後才會將你的交易視為“confirmed (已確認)”狀態。這是一種確保某筆交易已經是“近乎”確定的,或者說該筆交易“幾乎”是不可逆轉的方式,也就是說,這筆交易已經被“finalized (敲定了)”。
以太坊2.0能夠提供finality (最終性) 的保證,這是以太坊區塊鏈奉為神聖的客觀事實,而不是一種“近乎”的狀態。這是非常重要的,因為這能夠帶來更快的鏈上通信,即如果某個區塊剛剛被敲定了,那該區塊將無需等待多次確認。
也就是說,基於工作量證明的區塊鏈(比如比特幣) 從未包含讓交易真正實現最終性的特性;而以太坊2.0鏈旨在提供比工作量證明更強大的最終性保證。
我們來更加具體地加以說明。首先來看幾個定義:
LMD GHOST 是以太坊2.0使用的分叉選擇規則(即用於決定哪條鍊是“權威鏈”的規則),全稱是“Last Message Driven Greediest Heaviest Observed SubTree (由最新消息驅動的GHOST)”
Casper FFG 是以太坊2.0使用的權益證明(PoS) 機制,全稱是“Casper the Friendly Finality Gadget (Casper 友好的最終性小工具)”
基於上面這些信息,我們繼續探討Justification (證明) 和Finalization (最終性)。
Casper FFG
二級標題
二級標題
二級標題
Casper 是一種用於證明和敲定區塊(不管是一般的區塊鏈平台還是以太坊2.0鏈中的epoch 期間產生的區塊) 的方式。 Casper 是一種通用的“小工具”,可以添加到任何需要實現最終性的區塊鏈中,但Casper 在PoS 區塊鏈中最為有用。
以太坊2.0中的最終性是這樣一種概念,即係統確定將不會存在兩個相互競爭的、敲定的檢查點(checkpoints),而當這種情況發生時,至少三分之一的活躍驗證者將被被罰沒(slashing)。我們稱之為經濟最終性(economic finality)。
你也許想問,為何是三分之一的驗證者將被罰沒?我們知道,在以太坊2.0系統中,必須保證有三分之二的驗證者是誠實驗證者來參與驗證(也即進行投票),因此如果系統出現兩個相互競爭的、敲定的檢查點,則意味著有三分之二的驗證者對其中一個檢查點進行投票,同時也有三分之二的驗證者對另一個檢查點見投票,也就是說,至少有三分之一的驗證者對這兩個檢查點都進行了投票,這部分驗證者就會被系統認為是惡意驗證者,因此會受到罰沒懲罰。
對於驗證者來說,最大的利益來源於正確地對信標狀態進行敲定,而不是進行不當的惡意操作。
那麼“敲定的檢查點”中的“敲定”是什麼意思呢?在對此進行解釋之前,我們需要解釋一下什麼是“justification (證明)”。
證明就是驗證者通過對檢查點進行投票,從而決定哪個檢查點才是信標鏈的頂端區塊。如果三分之二的驗證者(也即絕大多數驗證者) 對兩個連續的epoch 達成共識,這樣這兩個連續的epoch 被證明了(justified),前一個epoch 就被認為是敲定了( finalized)。
注意:上述定義在很大程度上進行簡化了,目的是為了方便理解。一些其他的因素也會參與其中,但這超出了本文的範圍。
因此,驗證者是通過投票的方式來對epoch 進行證明/敲定,這就是驗證者對以太坊區塊鏈的最新已知有效狀態進行投票的方式。
LMD GHOST
二級標題
二級標題
二級標題
這就是分叉選擇規則發揮作用的地方。
GHOST 實際上是一種在PoW (工作量證明) 和其他區塊鏈平台非常受歡迎的協議。 GHOST 協議遵循“最重的”子樹(the “heaviest” subtree),也就是最長的那條鏈。
在上圖中,儘管位於上方的那條分叉鍊是最長的鏈,但下方的那條由綠色區塊組成的鏈才是“權威鏈”,因為綠色區塊包含了最多的證明,也就是擁有最多的驗證者投票。
Gasper
二級標題
讓我們看看這張來自以太坊研究者Justin Drake 在EthCC 會議上演講有關Eth2.0 時使用的幻燈片。

圖片描述
圖片描述
圖片描述
幻燈片1
我們看第二張幻燈片。

圖片描述
根據上文所述,在同一時間投票給兩個包含不同內容的epoch 是非法的。在幻燈片2中的下半部分包含兩條分叉鏈的情況下,上面的分叉鏈中的兩個epoch (紅色圓點) 已經被敲定了(finalized),因此似乎上面的這條分叉鍊是有效的;但位於下面的那條分叉鏈也包含了兩個已經被敲定的epoch,但這兩個epoch 被敲定的時間更晚一些!
圖片描述
圖片描述
圖片描述
幻燈片3


