比特幣交易所 比特幣交易所
Ctrl+D 比特幣交易所
ads
首頁 > FIL > Info

以太坊2.0:如何實現最終性?_GPO

Author:

Time:1900/1/1 0:00:00

前言

如果你在了解有關以太坊2.0的過程中遇到過justification(證明)和fnalization(最終性)這兩個術語,但卻不知道它們是什么意思,希望本文能給你一些啟示。

首先,我們試著來理解什么是

?finality(最終性)。

你一定已經注意到,加密貨幣平臺和Dapps(去中心化應用)通常都會等待幾個區塊被敲定之后才會將你的交易視為“confirmed(已確認)”狀態。

這是一種確保某筆交易已經是“近乎”確定的,或者說該筆交易“幾乎”是不可逆轉的方式,也就是說,這筆交易已經被“finalized(敲定了)”。

以太坊2.0能夠提供finality(最終性)的保證,這是以太坊區塊鏈奉為神圣的客觀事實,而不是一種“近乎”的狀態。這是非常重要的,因為這能夠帶來更快的鏈上通信,即如果某個區塊剛剛被敲定了,那該區塊將無需等待多次確認。

也就是說,

基于工作量證明的區塊鏈(比如比特幣)從未包含讓交易真正實現最終性的特性;

而以太坊2.0鏈旨在提供比工作量證明更強大的最終性保證。

我們來更加具體地加以說明。首先來看幾個定義:

LMDGHOST是以太坊2.0使用的分叉選擇規則(即用于決定哪條鏈是“權威鏈”的規則),全稱是“LastMessageDrivenGreediestHeaviestObservedSubTree(由最新消息驅動的GHOST)”

以太坊質押協議Swell Network上線以太坊主網:8月23日消息,以太坊質押協議Swell Network通過Guarded Launch上線以太坊主網。此次上線為多階段發布計劃,其中每個階段都有一個相應的ETH閾值,該閾值將由DAO主動管理,以支持協議的初始引導,其中第1階段已于北京時間8月22日8:00開始。[2022/8/23 12:42:58]

CasperFFG是以太坊2.0使用的權益證明(PoS)機制,全稱是“CaspertheFriendlyFinalityGadget(Casper友好的最終性小工具)”

在以太坊2.0鏈中,每生成64個區塊(大約需要6.4分鐘)稱為一個epoch;

在以太坊2.0系統中,slot是生成一個新區塊所需的時間,即一個新區塊被提議及證明其正確性所需的時間。每個slot被設定為6秒,但不是每個Slot期間都會產生新的區塊。每個epoch期間的最后一個slot被稱為checkpoint(檢查點)。

Committee(委員會)是由信標鏈在每個slot期間隨機選擇的驗證者集合(每個委員會的目標驗證者數量是128名),每個委員會中第一名被隨機選擇的驗證者將有機會在該slot期間提議新區塊,該委員會的其他驗證者將對這個被提議的區塊進行證明(attest)。

數據:以太坊非零地址數量刷新歷史新高:12月12日晚間,Glassnode發推稱,以太坊非零地址數量刷新歷史新高,達到50476989個。[2020/12/13 15:02:44]

基于上面這些信息,我們繼續探討Justification(證明)和Finalization(最終性)。

CasperFFG

Casper是一種用于證明和敲定區塊?(不管是一般的區塊鏈平臺還是以太坊2.0鏈中的epoch期間產生的區塊)?

的方式。Casper是一種通用的“小工具”,可以添加到任何需要實現最終性的區塊鏈中,但Casper在PoS區塊鏈中最為有用。

以太坊2.0中的最終性是這樣一種概念,即

系統確定將不會存在兩個相互競爭的、敲定的檢查點(checkpoints),而當這種情況發生時,至少三分之一的活躍驗證者將被被罰沒(slashing)。我們稱之為經濟最終性(economicfinality)。

你也許想問,為何是三分之一的驗證者將被罰沒?我們知道,

在以太坊2.0系統中,必須保證有三分之二的驗證者是誠實驗證者來參與驗證(也即進行投票),因此如果系統出現兩個相互競爭的、敲定的檢查點,則意味著有三分之二的驗證者對其中一個檢查點進行投票,同時也有三分之二的驗證者對另一個檢查點見投票,也就是說,至少有三分之一的驗證者對這兩個檢查點都進行了投票,這部分驗證者就會被系統認為是惡意驗證者,因此會受到罰沒懲罰。

魚池F2pool陳九:批量部署以太坊4G顯卡挖礦的礦工需提早轉變:金色財經現場報道,10月24日,松鼠礦機SMINER新品發布會暨2020全球顯卡礦工大會在成都舉行。在主題為《以太坊2.0和4G卡淘汰對顯卡的挑戰和機遇》圓桌討論中,魚池F2pool陳九指出,在今年年底左右,以太坊將會淘汰所有4G顯卡礦機,4G顯卡已經慢慢無法進入以太坊區塊鏈進行數據處理和記賬行為。大批量部署以太坊4G顯卡挖礦的礦工,應提早部署準備做出改變。[2020/10/24]

對于驗證者來說,最大的利益來源于正確地對信標狀態進行敲定,而不是進行不當的惡意操作。

那么“敲定的檢查點”中的“敲定”是什么意思呢?在對此進行解釋之前,我們需要解釋一下什么是“justification(證明)”。

證明就是驗證者通過對檢查點進行投票,從而決定哪個檢查點才是信標鏈的頂端區塊。如果三分之二的驗證者(也即絕大多數驗證者)對兩個連續的epoch達成共識,這樣

這兩個連續的epoch被證明了(justified),前一個epoch就被認為是敲定了(finalized)。

注意:上述定義在很大程度上進行簡化了,目的是為了方便理解。一些其他的因素也會參與其中,但這超出了本文的范圍。

因此,一個“敲定了的”epoch實際上就是一個已經被“證明了的”epoch,但其中存在一個關鍵的區別——當某件事被“證明了”,你仍然可以把時間倒流回去重新證明;但當你“敲定了”某件事,那重寫歷史就變得非常困難。

以太坊核心開發人員Péter Szilágyi譴責客戶端開發者ProgPoW提案“獨斷”言論:4月30日,以太坊核心開發人員Péter Szilágyi發推文譴責以太坊客戶端OpenEthereum首席開發者Artem Vorotnikov發布的有關ProgPoW提案的言論。Péter Szilágyi稱,不喜歡ProgPoW,因為它有爭議性。但在以太坊的歷史上,從來沒有客戶端開發團隊單方面阻止過一個功能。以太坊的未來依賴于開發者的協同工作。而該番言論則是針對Artem Vorotnikov于前一日發表的有關ProgPoW提案言論。

4月29日,Artem Vorotnikov曾發推稱,OpenEthereum將阻止任何在以太網上啟用ProgPoW的嘗試。此前2月消息,以太坊核心開發人員計劃推進ProgPoW,因該更新可以使以太坊挖礦更具ASIC抗性。但該提案遭到社區和眾多開發人員的反對。V神也曾對ProgPoW提案“先斬后奏”的“通過”方式表示批判,并強調該方案還在討論中,并未通過。隨后2月27日,以太坊社區成員就反對ProgPoW發起請愿書,表明利益相關者對激活ProgPoW持有異議。在當時Péter Szilágyi也曾發文并探討了Ethash和ProgPoW混合方案的可能性。隨后3月,ETH核心開發者會議討論ProgPow算法“并不具有抗ASIC能力”的漏洞問題,臨時決定將挖礦算法重新定義為“ Ethash 2.0”。[2020/4/30]

也就是說,

動態 | V神提出數據遷移新方法 或使以太坊1.0更快過渡到2.0:在12月23日的Ethresear.ch提案中,以太坊聯合創始人Vitalik Buterin提出了一種將數據遷移到以太坊 2.0的更快方法,這意味著期待已久的升級可能比預期的要快。Buterin描述了一種消除Ethereum 1.0當前工作證明區塊鏈的方法,這將允許項目“加速進度”與Ethereum 2.0的信標鏈合并。據悉,以太坊2.0是一個多年的項目,它經常面臨延遲。目前還不清楚這一過渡將在何時實施。(CryptoBriefing)[2019/12/24]

某件事“敲定了”就一定意味著這件事已經被“證明了”,而某件事被“證明了”不一定意味著這件事已經“敲定了”。

應該注意的是,當驗證者對epoch進行證明或敲定時,并不是說驗證者正在對epoch本身進行投票,而應該說驗證者正在對epoch期間的“內容”進行投票/驗證,這個“內容”就是每個epoch期間的最后一個slot(即檢查點)的狀態根(stateroot)。

因此,

驗證者是通過投票的方式來對epoch進行證明/敲定,這就是驗證者對以太坊區塊鏈的最新已知有效狀態進行投票的方式。

LMDGHOST

這就是分叉選擇規則發揮作用的地方。

GHOST實際上是一種在PoW(工作量證明)和其他區塊鏈平臺非常受歡迎的協議。GHOST協議遵循“最重的”子樹(the“heaviest”subtree),也就是最長的那條鏈。

在比特幣區塊鏈中,“最重的”分支就是那條在其區塊中投入了最多算力的鏈,這條鏈也就是最長的鏈。顯然最長的鏈就是我們所說的“權威鏈(canonicalchain)”,但這條鏈依舊有可能切換為另一條分叉鏈(雖然可能性很小),因此

最長鏈的最終性是概率性的。

LMD讓“消息(messages)”發揮了作用,即以太坊2.0鏈上的最終性是“由最新消息驅動的”。消息就是證明(attestation),所有這一切歸結起來就是,

擁有最多投票的分叉鏈將被認為是“權威鏈”。

上圖中體現了由最新消息驅動的分叉選擇規則:綠色區塊表示經由LMDGHOST分叉選擇規則證明了的區塊,笑臉符號表示最新的驗證者證明(attestations),某個區塊中的證明總量(笑臉總數)就是該區塊的權重,用區塊中的數字表示。

在上圖中,盡管位于上方的那條分叉鏈是最長的鏈,但

下方的那條由綠色區塊組成的鏈才是“權威鏈”

,因為綠色區塊包含了最多的證明,也就是擁有最多的驗證者投票。

Gasper

在以太坊2.0鏈中,Casper和LMDGHOST一起就構成了驅動以太坊2.0系統的共識協議。

讓我們看看這張來自以太坊研究者JustinDrake在EthCC會議上演講有關Eth2.0時使用的幻燈片。

幻燈片1

上圖中,兩個虛線框展現了在分叉選擇中的非法情況。上方靠左的虛線框展現的是,如果在同一時間投票給兩個不同的狀態根,那就是非法的投票,也就是說,

你不可以在同一時間投票給兩個包含不同內容(狀態根)的epoch?。

上方靠右的虛線框展現的是,

你不可以跳過某些epoch而對之后的epoch進行投票,換句話說,你在投票給當前的候選epoch之前,不可以投片給將來的epoch。

上圖的下方部分展現的是兩條被敲定了的分叉鏈。第一個和第二個以紅色圓點表示的epoch是已經被敲定了的“權威鏈”,因為這兩個epoch之后緊跟了第三個和第四個(以紅色圓點表示的)epoch。但是,第三個和第四個epoch在兩條平行的分叉鏈中都存在,那

這兩條分叉鏈哪條才是屬于“權威鏈”呢?

我們看第二張幻燈片。

幻燈片2

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

但這兩個epoch被敲定的時間更晚一些!

幻燈片3

這就意味著位于下面的分叉鏈是無效的分叉,因為如果跟隨下方那兩個被敲定的epoch繼續進行投票,這將意味著一個最新被投票的epoch將跟隨一個來自于另一條分叉鏈的epoch。這是非法的,因為

敲定的檢查點是必須按時間順序排列的。如果發生了這種情況,那大量的驗證者將受到很嚴重的懲罰,因為大多數的驗證者把票投給了一條“非法鏈”上的epoch。因此,這些驗證者必須被懲罰。

就是這樣了!如果你是驗證者,請確保每個slot期間只投一次票,并且確保你投的是也是其他人正在投的。要避免被罰沒!(別擔心,這些都將內置到你使用的以太坊2.0客戶端中)

希望本文能讓你更加清楚地了解justification?和finalization。如果你還有不清楚的對方,請告知我(推特@bitfalls)!非常感謝DustinBrody、MamyRatsimbazafy、JustinDrake以及DannyRyan對撰寫本文的幫助!

作者:Bruno?kvorc

編譯:Summer

來源:Unitimes

Tags:以太坊POCPOWGPO以太坊行情2044 Nuclear ApocalypsePowerKeeGPO幣

FIL
美聯儲宣布鷹派降息,美三大股指全線暴跌,加密貨幣平穩應對_BTC

日前獲悉,全球第二大比特幣礦機生產商嘉楠耘智已向SEC遞交上市申請,表明礦機生產巨頭逐鹿資本市場已經被提上日程,其余兩家礦機生產商應該會很快跟進.

1900/1/1 0:00:00
分析:萊特幣減半是如何成為利好的?_比特幣

昨天萊特幣順利地完成了四年一度的減半,價格也漲了,皆大歡喜。下一次減半在2023年,幣圈的四年中間可不止四個輪回,而且基本上每一次看到減半的都不是同一批人了,相信你現在群里聊天的也不是去年的那些.

1900/1/1 0:00:00
“股幣分離”背后的思考_DEF

一、股幣分離 最近,EOS的母公司BlockOne被曝出用EOS融資融來的錢,買了14萬枚比特幣,這件事引起了市場的廣泛討論。有人說,不要慌,大膽持有EOS,EOS在炒幣。。

1900/1/1 0:00:00
多部委扶持區塊鏈應用,韓、委、古推動發行政府加密貨幣 | 7月政策_區塊鏈

當前,距Facebook推出Libra項目已有月余,但圍繞該項目及數字貨幣的探討仍在持續。7月份時,美國國會兩院就已圍繞數字貨幣進行了四次聽證會.

1900/1/1 0:00:00
小BM溜得比BM還快,ENU創始人“殺死”項目、呼吁砸盤_UBI

8月1日,曾被稱為「幣圈第一空投幣」的項目Enumivo創始人AidenPearce宣布項目自殺,旋即注銷了Telegram社區賬號,并呼吁投資者們賣光ENU.

1900/1/1 0:00:00
巴比特專訪 | Matrixport,交易、借貸和托管,如何打造數字貨幣界的銀行?_PORT

7月8日,由比特大陸創始人吳忌寒、葛越晟聯合設立的新項目——Matrixport正式上線,該項目定位為一站式數字資產金融服務平臺.

1900/1/1 0:00:00
ads