原文來源:DelphiDigital
原文編譯:DeFi之道
關鍵要點
以太坊是唯一構建可擴展統一結算和數據可用性層的主要協議
Rollups在利用以太坊的安全性的同時擴展計算
條條大路通向中心化區塊生產、去中心化去信任區塊驗證和抗審查的終局
提議者-構建者分離和弱無狀態等創新解鎖了這種權力分離,以在不犧牲安全性或去中心化的情況下實現可擴展性
MEV現在處于前沿和中心位置——計劃進行大量設計以減輕其危害并防止其中心化趨勢
Danksharding結合了多種前沿研究途徑,以提供以太坊以Rollup為中心的路線圖所需的可擴展基礎層
我確實希望在我們的有生之年實現danksharding
簡介
第I部分–Danksharding之路
1)原始數據分片設計–獨立的分片提議者
2)數據可用性采樣
3)KZG承諾
4)KZG承諾與欺詐證明
5)協議內提議者-構建者分離
6)抗審查列表(crList)
7)二維KZG方案
8)Danksharding
9)Danksharding–誠實多數驗證
10)Danksharding–重建
11)Danksharding–帶有私人隨機抽樣的惡意多數安全性
12)Danksharding–關鍵要點
13)Danksharding–區塊鏈可擴展性的限制
14)原始danksharding(EIP-4844)
15)多維EIP-1559
第II部分–歷史和狀態管理
1)通過總calldata限制降低calldatagas(EIP-4488)
2)限制執行客戶端中的歷史數據(EIP-4444)
3)恢復歷史數據
4)弱無狀態
5)VerkleTries
6)狀態到期
第III部分–都是MEV
1)當前的MEV供應鏈
2)MEV-Boost
3)委員會驅動的MEV平滑
4)單槽確定性
5)單一秘密領導人選舉
第IV部分–TheMerge:幕后
1)合并后的客戶端
2)合并后的共識
結論性想法
簡介
自從Vitalik說今天出生的人有50-75%的機會活到3000年并且他希望長生不老以來,我一直對TheMerge的時間表持懷疑態度。不過,權當這是玩笑吧,不管怎樣,我們還是要展望一下以太坊雄心勃勃的路線圖。
這不是一篇能快速閱讀完的文章。如果你想對以太坊雄心勃勃的路線圖有一個廣泛而細致的了解——給我一個小時的專注,我會為你節省幾個月的工作時間。
以太坊研究方向有很多需要長期跟蹤,但一切最終都融入了一個總體目標——在不犧牲去中心化驗證的情況下擴展計算。
希望您熟悉Vitalik著名的《終局游戲》一文。他在文章中承認需要一些中心化來實現擴大規模。這個“C”字母開頭的單詞在區塊鏈中是很嚇人的,但這卻是一個事實。我們只需要通過去中心化和去信任的驗證來維持這種權力。這里沒有可妥協的。
專業人士將為L1及更高級別構建模塊。以太坊通過簡單的去中心化驗證仍然非常安全,并且Rollup從L1繼承了它們的安全性。然后,以太坊提供結算和數據可用性,允許Rollup擴展。這里的所有研究最終都希望優化這兩個角色,同時使完全驗證鏈變得比以往更容易。
下面是一個術語表,用于縮略一些將出現~43531756765713534次的單詞:
DA–數據可用性
DAS–數據可用性抽樣
PBS–提議者-建造者分離
PDS–原始danksharding
DS–Danksharding
PoW——工作量證明
PoS–權益證明
第I部分:邁向Danksharding之路
希望你現在已經聽說以太坊已經轉向以Rollup為中心的路線圖。不再有執行分片——以太坊將改為針對需要大量數據的Rollup進行優化。這是通過數據分片或大區塊來實現的。
共識層不解釋分片數據。它有一項要做的工作——確保數據可用。
我假設你已經熟悉一些基本概念,如Rollup、欺詐和ZK證明,以及為什么DA很重要。如果您不熟悉或只是需要復習,Can最近發布的關于Celestia報告涵蓋了這些內容。
原始數據分片設計——獨立的分片提議者
這里描述的設計已被廢棄,但它是有價值的情景。為簡單起見,我將其稱為“分片1.0”。
64個分片區塊中的每一個都有獨立的提議者和委員會,從驗證者集中輪換。他們分別驗證他們的分片數據是否可用。最初這不是DAS——它依賴于每個分片的驗證器集中的大多數來完全下載數據。
這種設計引入了不必要的復雜性、更糟糕的用戶體驗和攻擊向量。在分片之間混洗驗證者是很棘手的。
除非您引入非常嚴格的同步假設,否則很難保證投票將在單個時隙內完成。信標區塊提議者需要收集所有單個委員會的投票,并且可能會出現延遲。
DS完全不同。驗證者執行DAS以確認所有數據都可用。一個專門的構建器創建一個帶有信標區塊和所有分片數據一起確認的大區塊。因此,PBS是DS保持去中心化所必需的。
數據可用性抽樣
Rollups發布了大量數據,但我們不想讓節點下載所有這些數據。這將意味著高資源需求,從而損害去中心化。
相反,DAS允許節點輕松安全地驗證所有內容是否可用,而無需下載所有內容。
簡單的解決方案——只需檢查該區塊中的一堆隨機組塊。如果他們都簽了,我就簽了。但是,如果您錯過了將所有ETH都交給Sifu的一筆交易怎么辦?資金不再安全。
5月以太坊NFT平臺交易額繼續維持下降趨勢:金色財經報道,5月份調整后的比特幣和以太坊鏈上總交易額下降5.3%至1960億美元,其中比特幣鏈上交易減少13.3%,以太坊鏈上交易額增加3.2%。調整后的穩定幣鏈上交易額下降4.2%至4646億美元;已發行供應量減少1.4%至1224億美元,其中USDT的市場份額增加至68.2%,USDC的市場份額降至22.2%。BTC礦工收入增加13.7%至9.166億美元,而ETH質押者收入減少34.5%至1.572億美元。今年5月,共有204,576枚ETH被銷毀,約合3.801億美元。自2023年1月以來,ETH一直處于通縮狀態。自2021年8月初實施EIP-1559以來,共銷毀336萬枚ETH,約合97.6億美元。5月以太坊NFT平臺交易額減少48.7%至6.52億美元。Blur平臺交易額已連續四個月超過OpenSea,主要歸功于Blur的代幣激勵。[2023/6/3 11:55:49]
智能解決方案——首先擦除數據。使用Reed-Solomon代碼擴展數據。這意味著數據被插值為一個多項式,然后我們在許多其他地方對其進行評估。這是一氣呵成的,所以讓我們分解一下。
對于數學理解有困難的人來講,我們快速來解釋一下。。
多項式是對任何有限數量的cxk形式的項求和的表達式。度數是最高的指數。例如,2x36x22x-4是三次多項式。您可以從位于該多項式上的任何d1坐標重建任何d次多項式。
現在舉一個具體的例子。下面我們有四個數據組塊。這些數據組塊可以映射到給定點的多項式f(X)的評估。例如,f(0)=d0。現在您找到了貫穿這些評估的最小次數多項式。由于這是四個組塊,我們可以找到三次多項式。然后,我們可以擴展此數據以添加四個沿同一多項式的評估。
請記住關鍵多項式屬性——我們可以從任意四個點重建它,而不僅僅是我們原來的四個數據組塊。
回到我們的DAS。現在我們只需要確保任何50%(4/8)的糾刪碼數據可用。由此,我們可以重建整個區塊。
因此,攻擊者必須隱藏超過50%的區塊才能成功欺騙DAS節點,使其認為數據在不可用時可用。
在許多成功的隨機樣本之后,<50%的可用概率非常小。如果我們成功地對糾刪碼數據進行了30次采樣,那么<50%可用的概率是2-30。
KZG承諾
好的,所以我們做了一堆隨機樣本,它們都是可用的。但我們還有另一個問題——數據擦除編碼是否正確?否則,可能區塊生產者在擴展區塊時只是添加了50%的垃圾,而我們對廢話進行了采樣。在這種情況下,我們實際上將無法重建數據。
通常我們只是通過使用Merkle根來提交大量數據。這對于證明集合中包含某些數據是有效的。
但是,我們還需要知道所有原始數據和擴展數據都位于同一個低次多項式上。Merkle根并不能證明這一點。所以如果你使用這個方案,你還需要欺詐證明,以防萬一做錯了。
開發人員正從兩個方向著手:
Celestia正在走防欺詐路線。有人需要注意,如果區塊被錯誤地擦除編碼,他們將提交欺詐證明以提醒所有人。這需要標準的誠實少數假設和同步假設。
以太坊和PolygonAvail正在走一條新路線——KZG承諾。這消除了關于欺詐證明的誠實少數和同步安全假設。
存在其他解決方案,但并未積極尋求。例如,您可以使用ZK證明。不幸的是,它們在計算上是不切實際的。然而,預計未來幾年它們會有所改善,因此以太坊可能會在未來轉向STARK,因為KZG承諾不具有量子抗性。
回到KZG承諾——這是一種多項式承諾方案。
承諾方案只是一種可證明承諾某些值的加密方式。最好的比喻是把一封信放在一個鎖著的盒子里,然后交給別人。這封信一旦進去就無法更改,但可以用鑰匙打開并證明。你提交的新就是承諾,鑰匙就是證明。
在我們的例子中,我們將所有原始數據和擴展數據映射到X,Y網格上,然后找到穿過它們的最小次數多項式。這個多項式就是證明者將承諾的:
以下是關鍵點:
我們有一個“多項式”f(X)
證明者對多項式做出“承諾”C(f)
這依賴于具有可信設置的橢圓曲線密碼學。有關其工作原理的更多詳細信息,請參閱Bartek的一個很棒的帖子
對于該多項式的任何“評估”y=f(z),證明者可以計算“證明”π(f,z)
給定承諾C(f)、證明π(f,z)、任何位置z以及多項式在z處的評估y,驗證者可以確認確實f(z)=y
解釋:證明者將這些片段提供給任何驗證者,然后驗證者可以確認某個點的評估正確地位于承諾的多項式上
這證明原始數據被正確擴展,因為所有評估都位于相同的多項式上
請注意,驗證者不需要多項式f(X)
重要屬性-這具有O(1)承諾大小、O(1)證明大小和O(1)驗證時間。即使對于證明者,承諾和證明生成也僅在O(d)上進行擴展,其中d是多項式的次數
解釋:即使n增加-承諾和證明保持不變的大小,并且驗證需要持續的努力
承諾C(f)和證明π(f,z)都只是配對友好曲線上的一個橢圓曲線元素。在這種情況下,它們每個只有48個字節
因此,證明者提交大量原始數據和擴展數據仍然只有48個字節,證明也只有48個字節
TLDR–這是高度可擴展的
然后,KZG根類似于Merkle根:
原始數據是在f(0)到f(3)位置處計算的多項式f(X),然后我們通過計算f(4)到f(7)處的多項式來擴展它。所有點f(0)到f(7)都保證在同一個多項式上。
底線:DAS允許我們檢查糾刪碼數據是否可用。KZG的承諾向我們證明了原始數據得到了適當的擴展并承諾了所有這些。
干得好,這就是今天的代數知識。
KZG承諾與欺詐證明
既然我們了解了KZG的工作原理,請退后一步比較這兩種方法。
KZG的缺點——它不是后量子安全的,它需要一個可信的設置。這些并不令人擔憂。STARK提供了一種后量子替代方案,而可信設置只需要一個誠實的參與者。
KZG的優勢-比欺詐證明設置的延遲更低,并且它確保了正確的擦除編碼,而不會引入欺詐證明中固有的同步和誠實的少數假設。
然而,考慮到以太坊仍然會重新引入這些假設來進行區塊重建,所以你實際上并沒有刪除它們。DA層總是需要為最初提供塊的場景進行規劃,但隨后節點需要相互通信以將其重新組合在一起。這種重建需要兩個假設:
當前灰度以太坊信托的負溢價達35.79%:金色財經報道,據Coinglass數據顯示,灰度比特幣信托負溢價達30.1%,以太坊信托的負溢價達35.79%,ETC信托的負溢價達51.31%,LTC信托的負溢價為37.92%,BCH信托的負溢價為19.87%。[2022/6/13 4:23:22]
您有足夠的節點對數據進行采樣,這樣它們就足以將它們重新組合在一起。這是一個相當弱且不可避免的誠實少數假設,因此不是一個大問題。
重新引入同步假設——節點需要能夠在一段時間內進行通信才能將其重新組合在一起。
以太坊驗證器在PDS中完全下載分片blob,并且使用DS,他們將只執行DAS。Celestia將要求驗證者下載整個區塊。
請注意,無論哪種情況,我們都需要同步假設來進行重建。如果該區塊僅部分可用,則完整節點必須與其他節點通信以將其重新組合在一起。
如果Celestia想要從要求驗證者下載全部數據轉變為只執行DAS,那么KZG的延遲優勢就會顯現出來。然后,他們還需要實施KZG承諾——等待欺詐證明將意味著顯著增加區塊間隔,并且驗證者投票支持錯誤編碼區塊的風險會非常高。
我推薦以下內容以更深入地探索KZG承諾的工作方式:
橢圓曲線密碼學入門
探索橢圓曲線配對–Vitalik
KZG多項式承諾–Dankrad
受信任的設置如何工作?–Vitalik
協議內提議者-構建者分離
今天的共識節點和合并后的扮演兩個角色。他們構建實際的區塊,然后將其提議給其他驗證它的共識節點。礦工通過在前一個區塊的基礎上進行“投票”,在合并之后,驗證者將直接對區塊的有效或無效進行投票。
PBS將它們分開——它明確地創建了一個新的協議內構建者角色。專業的構建者將把區塊放在一起并競標提議者來選擇他們的區塊。這與MEV的中心化力量作斗爭。
回想一下Vitalik的《終局之戰》一文——所有道路都通向中心化區塊生產,具有去信任和去中心化的驗證。PBS對此進行了編纂。我們需要一個誠實的構建者來為網絡提供服務以提高活躍度和抗審查能力,但驗證者集需要誠實的多數。PBS使提議者角色盡可能簡單地支持驗證者去中心化。
構建者收到優先費用小費以及他們可以提取的任何MEV。在一個有效的市場中,有競爭力的構建者將競標到他們可以從區塊中提取的全部價值。所有價值都滲透到去中心化的驗證器集——正是我們想要的。
確切的PBS實現仍在討論中,但two-slotPBS可能如下所示:
構建者使用他們的出價承諾區塊頭
信標區塊提議者選擇獲勝的區塊頭和出價。即使構建者未能生產出body,投標人也將無條件獲得中標
證明人委員會確認獲勝標頭
構建者公布獲勝的body
獨立的證明人委員會選舉獲勝的機構
提議者是使用標準RANDAO機制從驗證者集中選擇的。然后我們使用承諾-顯示方案,在委員會確認區塊頭之前,不會顯示完整的區塊body。
commit-reveal更有效,并且它還可以防止MEV竊取。如果構建者要提交他們的完整區塊,另一個構建者可以看到它,找出那個策略,合并它,并快速發布一個更好的區塊。此外,成熟的提議者可以檢測使用的MEV策略并復制它,而無需補償構建者。如果這種MEV竊取成為平衡,它將激勵合并構建者和提議者,因此我們使用commit-reveal來避免這種情況。
在提議者選出獲勝區塊頭后,委員會確認并固定在分叉選擇規則中。然后,獲勝的建造者發布他們獲勝的完整“構建者區塊”body。如果及時發布,下屆委員會將作證。如果他們未能及時發布,他們仍然向提議者支付全部出價。這種無條件的支付消除了提議者信任構建者的需要。
這種“雙時隙”設計的缺點是延遲。合并后的區塊將是固定的12秒,所以如果我們不想引入任何新的假設,這里我們需要24秒來獲得完整的區塊時間。每個時隙8秒似乎是一個安全的折衷方案,盡管研究正在進行中。
抗審查名單(crList)
不幸的是,PBS賦予了構建者更高的審查交易能力。也許構建者只是不喜歡你,所以他們忽略了你的交易。也許他們的工作非常出色,以至于所有其他構建者都放棄了,或者他們只是因為他們真的不喜歡你而對區塊出價過高。
crLists對這種能力進行了檢查。確切的實現又是一個開放的設計空間,但“混合PBS”似乎是最受歡迎的。提議者指定他們在內存池中看到的所有合格交易的列表,構建者將被強制包含它們:
提議者發布一個crList和crList摘要,其中包括所有符合條件的交易
構建者創建一個提議的區塊body,然后提交一個競標,其中包括crList摘要的哈希,證明他們已經看到它
提議者接受中標構建者的出價和區塊頭
構建者發布他們的區塊并包含他們已包含來自crList的所有交易或該區塊已滿的證明。否則分叉選擇規則不會接受該塊
證明者檢查已發布的body的有效性
這里仍有重要問題需要解決。例如,這里的主導經濟策略是讓提議者提交一個空列表。只要出價最高,即使是審查構建者也能贏得拍賣。有一些想法可以解決這個問題和其他問題,但只是強調這里的設計并不是一成不變的。
二維KZG方案
我們看到了KZG承諾如何讓我們承諾數據并證明它被正確擴展。但是,我簡化了以太坊的實際操作。它不會在單個KZG承諾中承諾所有數據——單個區塊將使用許多KZG承諾。
我們已經有一個專門的構建者,那么為什么不讓他們創造一個巨大的KZG承諾呢?問題是這需要一個強大的超級節點來重建。我們可以接受初始構建的超級節點要求,但我們需要避免這里的重建假設。我們需要資源較少的實體來處理重建,并將其拆分為許多KZG承諾使這變得可行。考慮到手頭的數據量,重建甚至可能相當普遍,或者是本設計中的基本情況假設。
為了使重建更容易,每個區塊將包含在m個KZG承諾中編碼的m個分片blob。天真地這樣做會導致大量的采樣——你會在每個分片blob上執行DAS以知道它都是可用的。
相反,以太坊將使用2DKZG方案。我們再次使用Reed-Solomon代碼將m承諾擴展到2m承諾:
我們通過擴展與0-255位于相同多項式上的額外KZG承諾使其成為2D方案。現在我們只需對上表進行DAS,以確保所有分片的數據可用性。
一名12歲的小學生在以太坊鏈上部署了一份智能合約:金色財經報道,RND創立者、12歲小學生黃正發布Solidity教程-智能合約創建和部署的視頻教程,黃正稱,一周前,在以太坊鏈上部署了一份智能合約。
這個課程是基于部署的這份智能合約的整個過程。課程將詳細介紹智能合約的創建、部署、測試、到發布及后續一系列內容,希望大家能從這個課程當中學會如何自己創建一份智能合約。[2022/2/6 9:34:11]
≥75%的數據可用的2D采樣要求意味著我們做的固定樣本數量要多一些。在我提到簡單一維方案中DAS的30個樣本之前,但這將需要75個樣本來確保重建可用區塊的相同概率幾率。
分片1.0只需要30個樣本,但如果您想檢查1920個樣本的完整DA,則需要對64個分片進行采樣。每個樣本為512B,因此這需要:
/16秒=60KB/s帶寬
實際上,驗證者只是在沒有單獨檢查所有分片的情況下被洗牌。
現在,使用2DKZG承諾方案的組合區塊使得檢查完整DA變得微不足道。它只需要單個統一區塊的75個樣本:
/16秒=2.5KB/s帶寬
Danksharding
PBS最初的設計目的是削弱MEV在驗證器集上的集中力。然而,Dankrad最近利用了這種設計,意識到它解鎖了一個更好的分片結構——DS。
DS利用專門的構建者來創建信標鏈執行區塊和分片的更緊密集成。我們現在有一個構建者一起創建整個區塊,一個提議者和一個委員會。如果沒有PBS,DS將是不可行的——常規驗證者無法處理充滿Rollup數據blob的區塊的巨大帶寬:
分片1.0包括64個獨立的委員會和提議者,因此每個分片都可能單獨不可用。這里更緊密的集成使我們能夠一次性確保DA。數據仍然在幕后“分片”,但從實際的角度來看,danksharding開始感覺更像是大區塊,這很棒。
Danksharding–誠實的多數驗證
驗證者證明數據可用如下:
這依賴于誠實的大多數驗證者——作為一個單獨的驗證者,我的列和行可用并不足以讓我在統計上確信整個區塊可用。這取決于誠實的大多數人說它是。去中心化驗證很重要。
請注意,這與我們之前討論的75個隨機樣本不同。私人隨機抽樣是資源匱乏的個人能夠輕松檢查可用性的方式。但是,驗證者將繼續使用行和列方法來檢查可用性和引導區塊重建。
Danksharding——重構
只要單個行或列的50%可用,那么采樣驗證器就可以輕松地對其進行完全重建。當他們重建行/列中丟失的任何區塊時,他們將這些區塊重新分配到正交線。這有助于其他驗證器根據需要從相交的行和列中重建任何丟失的區塊。
這里重建可用區塊的安全假設是:
足夠多的節點來執行樣本請求,以便它們共同擁有足夠的數據來重建區塊
廣播各自區塊的節點之間的同步假設
那么,多少節點就足夠了?粗略估計大約有64,000個個體實例。這也是一個非常悲觀的計算,它假設由同一驗證器運行的節點中沒有交叉。如果您對超過2行和列進行采樣,則由于交叉,您可以集體檢索它們的幾率會增加。這開始以二次方的方式擴展——如果驗證者運行10或100個驗證者,則64,000個可能會減少幾個數量級。
如果在線驗證器的數量開始變得異常低,可以設置DS以自動減少分片數據blob計數。因此,安全假設將降低到安全水平。
Danksharding–私人隨機抽樣的惡意多數安全
我們看到DS驗證依賴于誠實的多數來證明區塊。作為個人,我無法通過僅下載幾行和幾列來向自己證明一個區塊可用。但是,私人隨機抽樣可以在不信任任何人的情況下給我這種保證。如前所述,這是節點查驗這75個隨機樣本的地方。
DS最初不會包含私有隨機抽樣,因為這在網絡方面是一個非常難以解決的問題。
請注意,“私有”很重要,因為如果攻擊者對您進行了去匿名化,他們就能夠欺騙少量的采樣節點。他們可以只返回您請求的確切區塊并保留其余部分。因此,您不會僅從自己的抽樣中知道所有數據都是可用的。
Danksharding–關鍵要點
除了是一個甜美的名字,DS也非常令人興奮。它最終實現了以太坊統一結算和DA層的愿景。Beacon區塊和分片的這種緊密耦合本質上是假裝沒有被分片。
事實上,讓我們定義為什么它甚至被認為是“分片”。“分片”的唯一殘余就是驗證者不負責下載所有數據。而已。
所以如果你現在質疑這是否真的仍然是分片,你并沒有瘋。這種區別就是為什么PDS不被視為“分片”的原因。PDS要求每個驗證者完全下載所有分片blob,以證明它們的可用性。然后DS引入了抽樣,因此各個驗證者只下載其中的一部分。
幸運的是,最小分片意味著比分片1.0更簡單的設計。簡化來講,包括:
與分片1.0規范相比,DS規范中的代碼可能少了數百行
沒有分片委員會基礎設施,委員會只需要在主鏈上投票
沒有跟蹤單獨的分片blob確認,現在它們都在主鏈中得到確認,或者它們沒有
這樣做的一個很好的結果是數據的合并收費市場。由不同的提議者制作的具有不同區塊的分片1.0會分散這一點。
分片委員會的取消也加強了反賄賂。DS驗證人每個epoch對整個區塊進行一次投票,因此數據立即得到整個驗證人集的1/32的確認。分片1.0驗證者也在每個epoch投票一次,但每個分片都有自己的委員會被改組。因此,每個分片僅由驗證器集的1/2048確認。
如前所述,與2DKZG承諾方案的組合區塊也使DAS更加高效。分片1.0需要60KB/s的帶寬來檢查所有分片的完整DA。DS只需要2.5KB/s。
DS還存在另一個令人興奮的可能性——ZK-rollups和L1以太坊執行之間的同步調用。來自分片blob的事務可以立即確認并寫入L1,因為一切都在同一個信標鏈區塊中生成。由于單獨的分片確認,分片1.0將消除這種可能性。這允許一個令人興奮的設計空間,這對于共享流動性之類的東西可能非常有價值。
模塊化基礎層可以優雅地擴展——更多的去中心化會帶來更多的擴展。這與我們今天看到的根本不同。向DA層添加更多節點可以讓您安全地增加數據吞吐量。
區塊鏈的可擴展性仍然存在限制,但我們可以將數量級提高到比我們今天看到的任何東西都要高。安全且可擴展的基礎層允許執行在它們之上激增。隨著時間的推移,數據存儲和帶寬的改進也將允許更高的數據吞吐量。
兩位主要以太坊鯨魚購買近48萬枚LINK:WhaleStats數據顯示,排名第111和116位的兩位主要以太坊鯨魚在過去20小時內總共購買了479701枚LINK,相當于11311820美元。(U.Today)[2022/1/4 8:25:07]
超越此處設想的DA吞吐量肯定是有可能的,但很難說這個最大值最終會在哪里。沒有明確的紅線,而是一些假設會開始讓人感到不舒服的區域:
數據存儲——這與DA與數據可檢索性有關。共識層的作用不是無限期地保證數據的可檢索性。它的作用是讓它在足夠長的時間內可用,以便任何關心下載它的人都可以,滿足我們的安全假設。然后它會被轉儲到任何地方——這很舒服,因為歷史是N信任假設中的1,而且我們實際上并沒有在宏偉的計劃中談論那么多數據。隨著吞吐量增加幾個數量級,這可能會在幾年后進入令人不安的領域。
驗證者——DAS需要足夠多的節點來共同重建區塊。否則,攻擊者可能會等待,只響應他們收到的查詢。如果提供的這些查詢不足以重建區塊,那么攻擊者可以保留其余的,我們就不走運了。為了安全地增加吞吐量,我們需要添加更多的DAS節點或增加它們的數據帶寬需求。這不是這里討論的吞吐量的問題。但是,如果吞吐量比這種設計進一步增加幾個數量級,這可能會讓人感到不舒服。
請注意,構建者不是瓶頸。您需要為32MB的數據快速生成KZG證明,因此需要GPU或相當強大的CPU以及至少2.5GBit/s的帶寬。無論如何,這是一個專門的角色,對他們來說這是一個可以忽略不計的業務成本。
Proto-danksharding(EIP-4844)
DS很棒,但我們必須要有耐心。PDS旨在幫助我們渡過難關——它在加快的時間線上對DS實施必要的前向兼容步驟,以在此期間提供數量級的擴展。但是,它實際上還沒有實現數據分片。
今天的Rollups使用L1“calldata”進行存儲,它永遠存在于鏈上。然而,Rollup只需要一段合理的時間段內的DA,這樣任何有興趣的人都有足夠的時間下載它。
EIP-4844引入了新的支持blob的事務格式,Rollup將用于未來的數據存儲。Blob攜帶大量數據,它們比類似數量的calldata便宜得多。然后在一個月后從節點中刪除數據blob,這會降低存儲需求。這是足夠的時間來滿足我們的DA安全假設。
當前的以太坊區塊通常平均約為90KB。PDS為blob解鎖了更多的DA帶寬,因為它們會在一個月后被修剪。它們不會成為節點上的永久拖累。
一個blob是一個由4096個字段元素組成的向量,每個字段元素為32個字節。PDS允許每個區塊最多16個,而DS將增加到256個。
PDSDA帶寬=4096x32x16=每區塊2MiB,目標為1MiB
DSDA帶寬=4096x32x256=每區塊32MiB,目標為16MiB
每一步都有數量級的擴展。PDS仍然需要共識節點來完全下載數據,所以比較保守。DS在驗證器之間分配存儲和傳播數據的負載。
以下是EIP-4844在通往DS的道路上引入的一些好東西:
攜帶數據blob的事務格式
KZG對blob的承諾
DS所需的所有執行層邏輯
DS所需的所有執行/共識交叉驗證邏輯
BeaconBlock驗證和DASblob之間的層分離
DS所需的大部分BeaconBlock邏輯
blob的自調整獨立gas價格
然后DS會進一步添加:
PBS
數據采集系統
2DKZG方案
每個驗證者的托管證明或類似的協議內要求,以驗證每個區塊中分片數據的特定部分的可用性
請注意,這些數據blob是作為執行鏈上的一種新事務類型引入的,但它們不會給執行端帶來額外的要求。EVM僅查看附加到blob的承諾。使用EIP-4844進行的執行層更改也與DS向前兼容,并且在這方面不需要更多的更改。然后從PDS升級到DS只需要更改共識層。
數據blob由PDS中的共識客戶端完全下載。現在,在Beacon區塊體中引用了blob,但未完全編碼。不是將全部內容嵌入正文中,而是單獨傳播blob的內容,作為“sidecar”。每個區塊有一個blobsidecar,在PDS中完全下載,然后使用DS驗證器將在其上執行DAS。
我們之前討論了如何使用KZG多項式承諾來提交blob。然而,EIP-4844并沒有直接使用KZG,而是實現了我們實際使用的東西——它的版本化哈希。這是一個0x01字節,后跟KZG的SHA256哈希的最后31個字節。
我們這樣做是為了更容易實現EVM兼容性和前向兼容性:
EVM兼容性–KZG承諾是48字節,而EVM更自然地使用32字節值
前向兼容性——如果我們從KZG切換到其他東西,這些承諾可以繼續為32字節
PDS最終創建了一個定制的數據層——數據blob將擁有自己獨特的費用市場,具有單獨的浮動gas價格和限制。因此,即使某個NFT項目在L1上出售一堆猴子土地,您的Rollup數據成本也不會上升。這承認今天任何Rollup的主要成本是將他們的數據發布到L1。
gas費市場保持不變,數據blob被添加為新市場:
blob費用以gas收取,但它是基于其自己的EIP-1559機制的可變金額調整。每個區塊的長期平均blob數應等于目標。
您實際上有兩個并行運行的拍賣——一個用于計算,一個用于DA。這是有效資源定價的巨大飛躍。
這里有一些有趣的設計。例如,將當前的gas和blob定價機制從線性EIP-1559更改為一種新的指數EIP-1559機制可能是有意義的。當前的實現在實踐中并沒有平均到我們的目標區塊大小。今天,基本費用沒有完全穩定,導致觀察到的每個區塊使用的平均gas平均超過目標約3%。
第II部分:歷史&狀態管理
在這里快速回顧一些基礎知識:
歷史——鏈上發生的一切。您可以將其粘貼在硬盤上,因為它不需要快速訪問。從長遠來看,1ofN誠實假設。
狀態——所有當前賬戶余額、智能合約等的快照。完整節點都需要這個來驗證交易。它對于RAM來說太大了,而硬盤驅動器又太慢了——它放在你的SSD里。高吞吐量區塊鏈膨脹了它們的狀態,遠遠超出了我們普通人在筆記本電腦上所能保存的范圍。如果日常用戶不能持有狀態,他們就無法完全驗證,那么告別去中心化。
以太坊初創公司OpenLaw將成為DAO孵化器:金色財經報道,以太坊初創公司OpenLaw正在重塑品牌。該公司很快將更名為Tribute Labs,旨在成為DAO孵化器,將專注于幫助DAO在美國合法運營。[2021/9/22 16:56:37]
TLDR——這些東西變得非常大,所以如果你讓節點存儲它們,就很難運行一個節點。如果運行一個節點太難,我們普通人不會這樣做。這很糟糕,所以我們需要確保不會發生這種情況。
CalldataGas成本降低與總Calldata限制(EIP-4488)
PDS是通向DS的重要墊腳石,它檢查了許多最終要求。在合理的時間跨度內實施PDS可以提前DS上的時間線。
更容易實現創可貼的是EIP-4488。它不是那么優雅,但它仍然解決了費用緊急情況。不幸的是,它沒有在實現DS的過程中實施步驟,因此以后仍然需要進行所有不可避免的更改。如果它開始感覺PDS會比我們想要的慢一點,那么快速通過EIP-4488然后大約6個月之后實現PDS可能是有意義的。具體的時間表仍未確定。
EIP-4488有兩個主要組成部分:
將calldata成本從每字節16gas降低到每字節3gas
添加每個區塊1MB調用數據的限制以及每個事務額外300字節
需要添加限制以防止出現最壞的情況——一個充滿calldata的區塊將達到18MB,這遠遠超出了以太坊的處理能力。EIP-4488增加了以太坊的平均數據容量,但由于這個calldata限制,它的突發數據容量實際上會略有下降。
EIP-4488的持續負載遠高于PDS,因為這仍然是calldata與blob,一個月后可以修剪的數據。EIP-4488將顯著加速歷史增長,使其成為運行節點的瓶頸。即使EIP-4444與EIP-4488一起實施,這也只會在一年后刪除執行負載歷史。PDS較低的持續負載顯然是可取的。
在執行客戶端中綁定歷史數據(EIP-4444)
EIP-4444允許客戶端選擇在本地修剪超過一年的歷史數據。它要求客戶端停止在p2p層上提供這些修剪過的歷史數據。修剪歷史允許客戶減少用戶的磁盤存儲需求。
這已經很重要了,但如果EIP-4488被實施,這將基本上是強制性的。無論如何,希望這能在相對近期內完成。最終將需要某種形式的歷史到期,所以這是處理它的好時機。
鏈的完全同步需要歷史記錄,但驗證新區塊不需要它。因此,一旦客戶端同步到鏈的頂端,只有在通過JSON-RPC明確請求或對等方嘗試同步鏈時,才會檢索歷史數據。隨著EIP-4444的實施,我們需要為這些找到替代解決方案。
客戶端將無法像現在一樣使用?devp2p進行“完全同步”——他們將取而代之的是從弱主觀性檢查點“檢查點同步”,他們將其視為創世區塊。
請注意,弱主觀性不會是一個額外的假設——無論如何,它是向PoS轉變所固有的。由于遠程攻擊的可能性,這需要使用有效的弱主觀性檢查點進行同步。這里的假設是客戶端不會從無效或舊的弱主觀性檢查點同步。該檢查點必須在我們開始修剪歷史數據的時期內,否則p2p層將無法提供所需的數據。
隨著越來越多的客戶端采用輕量級同步策略,這也將減少網絡上的帶寬使用。
找回歷史數據
EIP-4444在一年后修剪歷史數據聽起來不錯,而PDS修剪blob的速度更快。我們絕對需要這些,因為我們不能要求節點存儲所有這些并保持去中心化:
EIP-4488–長期可能包括每個時隙約1MB每年增加約2.5TB存儲
PDS–目標為每個時隙約1MB,每年增加約2.5TB存儲
DS–目標為每個時隙約16MB,每年增加約40TB存儲
但是這些數據去哪兒了?我們不再需要了嗎?是的,但請注意,丟失歷史數據對協議沒有風險——僅對單個應用程序而言。那么,以太坊核心協議的工作不應該是永久維護所有達成共識的數據。
那么,誰來存儲呢?以下是一些潛在的貢獻者:
個人和機構志愿者
區塊瀏覽器、API提供者和其他數據服務
像TheGraph這樣的第三方索引協議可以創建激勵市場,客戶可以在其中向服務器支付歷史數據以及Merkle證明
PortalNetwork中的客戶端可以存儲鏈歷史的隨機部分,PortalNetwork會自動將數據請求定向到擁有它的節點
BitTorrent,例如。每天自動生成和分發一個7GB的文件,其中包含來自區塊的blob數據
特定于應用程序的協議可以要求其節點存儲與其應用程序相關的歷史記錄部分
長期數據存儲問題是一個相對簡單的問題,因為它是我們之前討論過的1ofN信任假設。我們距離成為區塊鏈可擴展性的最終限制還有很多年。
弱無狀態
好的,所以我們已經很好地處理了歷史記錄管理,但是如何處理狀態呢?狀態問題實際上是目前提高以太坊TPS的主要瓶頸。
全節點獲取前狀態根,執行區塊中的所有事務,并檢查后狀態根是否與它們在區塊中提供的內容相匹配。要知道這些交易是否有效,他們目前需要手頭的狀態——驗證是有狀態的。
進入無狀態時代——我們將不需要狀態來發揮作用。以太坊正在爭取“弱無狀態”,這意味著驗證區塊不需要狀態,但構建區塊需要狀態。驗證變成了一個純函數——給我一個完全隔離的區塊,我可以告訴你它是否有效。基本上是這樣的:
由于PBS,構建者仍然需要狀態是可以接受的——無論如何,它們將是更加中心化的高資源實體。專注于去中心化驗證者。弱無狀態給構建者帶來了更多的工作,而驗證者的工作要少得多。這是一個偉大的權衡。
您通過見證實現了這種神奇的無狀態執行。這些是構建者將開始包含在每個區塊中的正確狀態訪問的證明。驗證一個區塊實際上并不需要整個狀態——您只需要該區塊中的交易讀取或影響的狀態。構建者將開始在給定區塊中包含受交易影響的狀態片段,并且他們將證明他們通過見證正確訪問了該狀態。
讓我們舉個例子。Alice想向Bob發送1個ETH。要使用此交易驗證區塊,我需要知道:
交易前——Alice有1ETH
Alice的公鑰——所以我可以知道簽名是正確的
Alice的隨機數——所以我可以知道交易是按正確的順序發送的
執行交易后——Bob多了1ETH,Alice少了1ETH
在弱無狀態世界中,構建者將上述見證數據添加到區塊中并證明其準確性。驗證者接收區塊,執行它,并決定它是否有效。僅此而已!
以下是從驗證者的角度來看的含義:
用于持有狀態的巨大SSD需求消失了——這是當今擴展的關鍵瓶頸。
由于您現在還要下載見證數據和證明,因此帶寬要求會有所增加。這是Merkle-Patricia樹的瓶頸,但它是溫和的,而不是Verkle嘗試的瓶頸。
您仍然執行事務以完全驗證。無狀態承認這不是目前擴展以太坊的瓶頸。
弱無狀態還允許以太坊放松對其執行吞吐量的自我限制,狀態膨脹不再是一個緊迫的問題。將gas限制提高約3倍可能是合理的。
無論如何,大多數用戶執行都將在L2上進行,但更高的L1吞吐量即使對他們來說仍然是有益的。Rollups依靠以太坊進行DA和結算。隨著以太坊擴展其DA層,發布證明的攤銷成本可能會成為Rollup成本的更大份額。
VerkleTries
我們掩蓋了這些見證的實際工作方式。以太坊目前使用Merkle-Patricia樹來表示狀態,但所需的Merkle證明對于這些見證來說太大而無法實現。
以太坊將轉向Verkle嘗試進行狀態存儲。Verkle證明的效率要高得多,因此它們可以作為可行的見證來實現弱無狀態。
首先讓我們回顧一下Merkle樹的樣子。每筆交易都經過哈希處理——底部的這些哈希被稱為“葉子”。所有的哈希都稱為“節點”,它們是它們下面的兩個“子”節點的哈希。生成的最終哈希是“Merkle根”。
這是一個有用的數據結構,用于證明包含事務,而無需下載整個樹。例如,如果您想驗證交易H4是否包含在內,則只需要Merkle證明中的H12、H3和H5678。我們有來自區塊頭的H12345678。因此,輕客戶端可以向完整節點詢問這些哈希,然后根據樹中的路由將它們哈希在一起。如果結果是H12345678,那么我們已經成功證明H4在樹中。
但是,樹越深,到達底部的路徑就越長,因此您需要更多的項目來證明。因此,淺而寬的樹似乎有利于進行有效的證明。
問題是,如果你想通過在每個節點下添加更多子節點來使Merkle樹更寬,那將是非常低效的。您需要將所有兄弟姐妹哈希在一起才能爬上樹,因此您需要接收更多兄弟姐妹哈希以用于Merkle證明。這將使證明大小變得龐大。
這就是高效向量承諾的用武之地。請注意,Merkle樹中使用的哈希實際上是向量承諾——它們只是有效地只對兩個元素進行承諾。所以我們想要向量承諾,我們不需要接收所有的兄弟姐妹來驗證它。一旦我們有了它,我們就可以使樹更寬并減少它們的深度。這就是我們獲得有效證明大小的方式——減少需要提供的信息量。
Verkletrie類似于Merkle樹,但它使用有效的向量承諾而不是簡單的哈希來向其子節點承諾。所以基本思想是每個節點可以有很多孩子,但我不需要所有的孩子來驗證證明。無論寬度如何,它都是恒定尺寸的證明。
實際上,我們之前已經介紹了其中一種可能性的一個很好的例子——KZG承諾也可以用作向量承諾。事實上,這就是以太坊開發者最初計劃在這里使用的東西。此后,他們轉向Pedersen承諾履行類似的職責。這些將基于橢圓曲線,并且它們將分別提交256個值。
那么為什么不擁有盡可能寬的深度樹呢?這對于現在擁有超級緊湊證明的驗證者來說非常有用。但是有一個實際的權衡是證明者需要能夠計算這個證明,而且它越寬就越難。因此,這些Verkle嘗試將位于256個值寬的極端之間。
狀態到期
弱無狀態消除了驗證者的狀態膨脹約束,但狀態不會神奇地消失。交易成本是有限的,但它們通過增加狀態對網絡造成永久性稅收。狀態增長仍然是網絡的永久拖累。需要做一些事情來解決根本問題。
這就是狀態到期的地方。長時間處于非活動狀態的狀態甚至會從區塊構建者需要攜帶的東西中剔除。活躍用戶不會注意到任何事情,并且不再需要的無用狀態可以被丟棄。
如果您需要恢復過期狀態,您只需要顯示一個證明并重新激活它。這又回到了這里的1ofN存儲假設。只要有人仍然擁有完整的歷史記錄,你就可以從他們那里得到你需要的東西。
弱無狀態會削弱基礎層對狀態到期的即時需求,但從長遠來看,特別是隨著L1吞吐量的增加,這是一件好事。對于高吞吐量匯總來說,這將是一個更有用的工具。L2狀態將以更高數量級的速度增長,甚至會拖累高性能構建者。
第III部分——MEV
PBS是安全實施DS所必需的,但請回想一下,它最初實際上是為了對抗MEV的中心化力量而設計的。你會注意到今天以太坊研究的一個反復出現的趨勢——MEV現在是加密經濟學的前沿和中心。
設計具有MEV的區塊鏈對于保持安全性和去中心化至關重要。基本的協議級方法是:
盡可能減少有害的MEV
使其余部分民主化
其余的必須很容易被捕獲并在驗證者之間傳播。否則,由于無法與復雜的搜索者競爭,它將集中驗證器集。合并后MEV將在驗證者獎勵中所占份額更高這一事實加劇了這種情況。不容忽視。
當今的MEV供應鏈
今天的事件順序如下所示:
礦池在這里扮演了建設者的角色。MEV搜索者通過Flashbot將交易包中繼到礦池。礦池運營商聚合一個完整的區塊并將區塊頭傳遞給各個礦工。礦工通過PoW在分叉選擇規則中賦予其權重來證明這一點。
Flashbots的出現是為了防止整個堆棧的垂直整合——這將為審查制度和其他令人討厭的外部性打開大門。當Flashbots出現時,礦池已經開始與交易公司達成獨家交易以提取MEV。相反,Flashbots為他們提供了一種簡單的方法來匯總MEV出價并避免垂直整合。
以太坊合并后,礦池將消失。我們希望為在家中能夠合理運行的驗證者節點打開大門。這需要找人擔任專門的構建角色。您的家庭驗證者節點在捕獲MEV方面可能不如擁有量化工資的對沖基金那么好。如果不加以控制,如果普通人無法競爭,這將集中驗證者集。如果結構合理,該協議可以將MEV收入重定向到日常驗證者的質押收益。
MEV-Boost
不幸的是,協議內的PBS根本無法在合并時準備好。Flashbots再次提供了一個墊腳石解決方案-MEV-Boost。
合并后的驗證者將默認將公共內存池交易直接接收到其執行客戶端中。他們可以將這些打包,交給共識客戶端,然后廣播到網絡。。
但正如我們所討論的,您的驗證者不知道如何提取MEV,因此Flashbots提供了另一種選擇。MEV-boost將插入您的共識客戶端,允許您外包專門的區塊構建。重要的是,您仍然可以選擇使用自己的執行客戶端作為后備。
MEV搜索者將繼續發揮他們今天的作用。他們將運行特定的策略并競標他們的捆綁交易包。然后,構建者將他們看到的所有捆綁包以及任何私人訂單流聚合到最佳完整區塊中。構建者僅通過運行到MEV-Boost的中繼將區塊頭傳遞給驗證者。Flashbots打算運行中繼器和構建者,并計劃隨著時間的推移去中心化,但將其他構建者列入白名單可能會很慢。
MEV-Boost要求驗證者信任中繼者——共識客戶端收到區塊頭,對其進行簽名,然后才顯示區塊body。中繼者的目的是向提議者證明body是有效且存在的,這樣驗證者就不必直接信任構建者。
當協議內PBS準備就緒時,它會在此期間編入MEV-Boost提供的內容。PBS提供相同的權力分離,允許更容易的構建者去中心化,并消除了提議者信任任何人的需要。
委員會驅動的MEV平滑
PBS還為另一個很酷的想法打開了大門——委員會驅動的MEV平滑。
我們看到提取MEV的能力是驗證者集的中心化力量,但分布也是如此。從一個區塊到另一個區塊的MEV獎勵的高度可變性促使匯集許多驗證者來平滑你的回報。
默認設置是向實際的區塊提議者提供構建者的全額付款。MEV平滑將改為將支付分配給許多驗證者。驗證者委員會將檢查提議的區塊并證明這是否確實是出價最高的區塊。如果一切順利,則區塊繼續進行,獎勵將在委員會和提議者之間分配。
這也解決了另一個問題——帶外賄賂。例如,可以激勵提議者提交次優區塊并直接接受帶外賄賂以向委托人隱瞞他們的付款。此證明可以檢查提議者。
協議內PBS是實現MEV平滑的先決條件。您需要了解構建者市場和提交的明確投標。這里有幾個開放的研究問題,但這是一個令人興奮的提議,對于確保去中心化的驗證者再次至關重要。
單slot交易最終性
快速最終性很棒。等待約15分鐘對于UX或跨鏈通信來說不是最佳選擇。更重要的是,這會造成一個MEV重組問題。
合并后的以太坊已經提供了比今天更強大的確認——成千上萬的驗證者證明每個區塊與礦工競爭并可能在相同區塊高度進行挖礦而無需投票。這將使重組極不可能。然而,這仍然不是真正的交易最終性。如果最后一個區塊有一些豐厚的MEV,你可能只是誘使驗證者嘗試重組鏈并為自己竊取它。
單slot確定性消除了這種威脅。恢復一個最終確定的區塊至少需要三分之一的驗證者,并且他們的質押代幣會立即被削減。
我不會對這里的潛在機制過于關注。單slot最終性在以太坊的路線圖中已經發展的很遙遠了,它是一個非常開放的設計空間。
在今天的共識協議中,以太坊只需要1/32的驗證者來證明每個slot。將這種投票擴展到在單個slot中使用BLS簽名聚合的完整驗證器集需要更多的工作。這會將數十萬張選票壓縮為一次驗證:
Vitalik在這里分解了一些有趣的解決方案。
單一秘密領袖選舉
SSLE試圖修補合并后我們將面臨的另一個MEV攻擊向量。
信標鏈驗證者列表和即將到來的領導者選擇列表是公開的,并且很容易對它們進行去匿名化并映射它們的IP地址。您可能可以在這里看到問題。
更復雜的驗證者可以使用技巧來更好地隱藏自己,但小型驗證者特別容易受到doxxed和隨后的DDOSd的影響。這可以很容易地用于MEV。
假設你是第n區塊的提議者,我是第n1區塊的提議者。如果我知道你的IP地址,我可以廉價地對你進行DDOS攻擊,這樣你就會超時并且無法生成你的區塊。我現在可以捕獲我們slot的MEV并加倍我的獎勵。EIP-1559的彈性區塊大小加劇了這種情況,因此我可以將本來應該是兩個區塊的交易塞進我現在兩倍長的單個區塊中。
家庭式驗證者節點可能會放棄驗證,因為他們被持續攻擊。SSLE使得除了提議者之外沒有人知道何時輪到他們阻止這種攻擊。這不會在合并時生效,但希望它可以在不久之后實施。
第IV部分——合并
好吧,要清楚我之前是在開玩笑。我實際上認為以太坊合并發生得相對較快。
我們都在談論這個話題,所以我覺得有義務至少給它一個簡短的介紹。
合并后的客戶端
今天,你運行一個可以處理所有事情的單體客戶端。具體來說,全節點同時執行以下操作:
執行——執行區塊中的每筆交易以確保有效性。獲取前狀態根,執行所有操作,并檢查生成的后狀態根是否正確
共識——驗證你是否在完成工作最多的最重鏈上
它們是不可分割的,因為全節點不僅遵循最重的鏈,而且遵循最重的有效鏈。這就是為什么它們是完整節點而不是輕節點。即使發生51%攻擊,全節點也不會接受無效交易。
信標鏈目前只運行共識來給PoS一個測試運行。不包含執行。最終將決定最終的總難度,此時當前的以太坊執行區塊將合并到信標鏈塊中,形成一條鏈:
但是,全節點將在后臺運行兩個獨立的客戶端,它們可以互操作:
執行客戶端——當前的Eth1.0客戶端繼續處理執行。他們處理區塊,維護內存池,管理和同步狀態。PoW部分被撕掉了。
共識客戶端——當前信標鏈客戶端繼續處理PoS共識。他們跟蹤鏈的頭部,gossip并證明區塊,并獲得驗證者獎勵。
客戶端接收信標鏈區塊,執行客戶端運行交易,如果一切順利,共識客戶端將遵循該鏈。您將能夠混合和匹配您選擇的執行和共識客戶端,所有這些都將是可互操作的。將引入一個新的引擎API供客戶端相互通信:
或者:
合并后的共識
今天的中本聰共識很簡單。礦工創建新區塊,并將它們添加到觀察到的最重的有效鏈中。
合并后的以太坊轉向GASPER——結合CasperFFG和LMDGHOST以達成共識。這里的TLDR-這是一種有利于共識的活躍性,而不是有利于安全性。
區別在于,有利于安全的共識算法在未能獲得必要數量的選票時停止。有利于鏈的活躍性無論如何都會繼續建立一個樂觀的分類帳,但如果沒有足夠的選票,它們就無法達到最終確定性。今天的比特幣和以太坊永遠不會最終確定——你只是假設在足夠數量的區塊之后不會發生重組。
然而,以太坊也將通過定期檢查點獲得足夠的票數來實現最終性。每個32ETH實例都是一個單獨的驗證者,并且已經有超過380,000個信標鏈驗證者。Epochs由32個slot組成,所有驗證者都分開并在給定epoch內證明一個slot。分叉選擇規則LMDGhost然后根據這些證明確定鏈的當前頭部。每個slot添加一個新區塊,因此epoch為6.4分鐘。通常在兩個epoch之后通過必要的投票來實現最終性。
結論
所有道路都通向中心化區塊生產、去中心化去信任區塊驗證和抗審查的終局。以太坊的路線圖瞄準了這個愿景。
以太坊的目標是成為最終統一的DA和結算層——在底層大規模去中心化和安全,在頂層計算可擴展。這將密碼學假設濃縮為一個健壯的層。包含執行的統一模塊化基礎層還捕獲了L1設計中的最高價值——實現貨幣溢價和經濟安全,正如我最近介紹的。
我希望你能更清楚地了解以太坊研究是如何相互交織的。我們有這么多動人的文章作品,非常前沿,而且有一個非常大的畫面環繞在你的腦海。
從根本上說,這一切都回到了那個單一的愿景。以太坊為實現大規模可擴展性提供了一條引人注目的道路,同時珍視了我們在這個領域非常關心的那些價值觀。
特別感謝DankradFeist提供的評論和見解。
原文來源
親愛的大幣網(Dcoin)用戶:ADA恢復上線大幣網(Dcoin),具體時間安排如下,ADA/USDT交易對於5月11日15:00臨時維護暫停交易.
1900/1/1 0:00:00親愛的BitMart用戶:為滿足廣大用戶的需求,BitMart將支持CROGE-CRONOS的充值和提現功能。屆時用戶可以充值和提現CROGE-CRONOS及CROGE-BEP20.
1900/1/1 0:00:00NFT市場每周都會經歷起起伏伏。本周,goblins依舊是熱議的話題,而經常被批評的Solana宕機事件再次爆發,“SolanaSummer”的節奏有所放緩.
1900/1/1 0:00:00原文作者:隔夜的粥 今年一月份,以太坊聯合創始人vitalik發表了一篇題為《Soulbound》的文章,里面提到了靈魂綁定這一概念的出處——《魔獸世界》.
1900/1/1 0:00:00DearKuCoinUsers,KuCoinisextremelyproudtoannounceyetanothergreatprojectcomingtoourtradingplatform.
1900/1/1 0:00:00Consensus2022?將于2022年6月9日至12日期間在美國德克薩斯州奧斯汀舉行,由加密媒體CoinDesk主辦.
1900/1/1 0:00:00