前言
如果你在了解有關以太坊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
日前獲悉,全球第二大比特幣礦機生產商嘉楠耘智已向SEC遞交上市申請,表明礦機生產巨頭逐鹿資本市場已經被提上日程,其余兩家礦機生產商應該會很快跟進.
1900/1/1 0:00:00昨天萊特幣順利地完成了四年一度的減半,價格也漲了,皆大歡喜。下一次減半在2023年,幣圈的四年中間可不止四個輪回,而且基本上每一次看到減半的都不是同一批人了,相信你現在群里聊天的也不是去年的那些.
1900/1/1 0:00:00一、股幣分離 最近,EOS的母公司BlockOne被曝出用EOS融資融來的錢,買了14萬枚比特幣,這件事引起了市場的廣泛討論。有人說,不要慌,大膽持有EOS,EOS在炒幣。。
1900/1/1 0:00:00當前,距Facebook推出Libra項目已有月余,但圍繞該項目及數字貨幣的探討仍在持續。7月份時,美國國會兩院就已圍繞數字貨幣進行了四次聽證會.
1900/1/1 0:00:008月1日,曾被稱為「幣圈第一空投幣」的項目Enumivo創始人AidenPearce宣布項目自殺,旋即注銷了Telegram社區賬號,并呼吁投資者們賣光ENU.
1900/1/1 0:00:007月8日,由比特大陸創始人吳忌寒、葛越晟聯合設立的新項目——Matrixport正式上線,該項目定位為一站式數字資產金融服務平臺.
1900/1/1 0:00:00