關鍵要點
以太坊是唯一建立可擴展的統一結算和數據可用層的主要協議;
Rollups在利用以太坊安全性的同時擴展計算;
所有道路都通向中心化的區塊生產、去中心化&無須信任的區塊驗證和抗審查的終局;
諸如區塊提議者-構建者分離(PBS)和弱無狀態性(weakstatelessness)等創新開啟了這種權力(構建和驗證)的分離,以在不犧牲安全性或去中心化的情況下實現可擴展性;
MEV現在處于核心重要位置,以太坊計劃了許多設計來減輕MEV的危害,防止MEV的中心化化傾向;
Danksharding結合了多個前沿研究途徑,從而為以太坊以Rollup為中心的路線圖提供可擴展的基礎層;
我預計danksharding將在我們有生之年實現。
引言
自從以太坊聯合創始人VitalikButerin表示今天出生的人有50%-75%的幾率能活到3000年,他希望能長生不老,我就一直對合并的時間持懷疑態度。但無論如何,讓我們看看展望一下以太坊雄心勃勃的路線圖吧。
這不是一篇速成文章。如果你想對以太坊雄心勃勃的路線圖有一個廣泛而細致的理解——請給我一個小時的時間,我將為你節省幾個月的工作。
以太坊的研究有很多值得關注的地方,但所有的一切最終都編織成一個總體目標——在不犧牲去中心化驗證的情況下擴展計算。
通過簡單的去中心化驗證,以太坊維持者非常高的安全性,而Rollups繼承了以太坊L1的安全性。以太坊還提供結算和數據可用性,允許Rollups實現擴容。這里的所有研究最終都是為了優化這兩個角色,同時使得驗證這條鏈變得比以往任何時候都更容易。
以下是一些縮略語,這些術語會在本文中出現N次:
DA–數據可用性(DataAvailability)
DAS–數據可用性抽樣(DataAvailabilitySampling)
PBS–提議者-構建者分離(Proposer-builderSeparation)
PDS–Proto-danksharding
DS–Danksharding
PoW–工作量證明(ProofofWork)
PoS–權益證明(ProofofStake)
第I部分:通往Danksharding之路
希望你現在已經知曉了以太坊已經轉向了以Rollup為中心的路線圖。以太坊將不會再有執行分片(executionshards),而是將針對需要大量數據的Rollups進行優化。這是通過數據分片(datasharding)來實現的。
以太坊共識層不會解釋分片數據,它的任務是確保數據是可用的。
在文本中,我將假設你熟悉一些基本概念,比如Rollups、欺詐證明和ZK證明,以及DA(數據可用性)的重要性。
1)最初的數據分片設計:單獨的分片區塊提議者
這個小節描述的設計已經廢棄了,但它對于我們了解背景信息是有價值的。為了簡單起見,我將這種設計稱為“分片1.0”。
以太坊64個分片的每個分片區塊都有單獨的區塊提議者和委員會,他們通過隨機的方式從驗證者集中選出來被分配至各個分片鏈中。他們分別驗證自己所在的分片的數據的可用性。起初這不會是DAS(數據可用性抽樣),而是依賴于每個分片的誠實大多數驗證者來完全下載該數據。
這種設計帶來了不必要的復雜性、更糟糕的用戶體驗和攻擊向量。在分片之間洗牌(打亂)驗證者是很棘手的。
如果不引入非常緊密的同步假設,就很難保證投票將在單個slot內完成。信標區塊的提議者需要收集所有獨立委員會的投票,而這可能會有延遲。
Danksharding(簡稱DS)則完全不同。驗證者執行DAS(數據可用性抽樣)以確認所有數據都是可用的(不會再有單獨的分片委員會)。專門的區塊構建者(builder)會負責創建一個大區塊,該區塊會對信標區塊和所有的分片數據一起進行確認。因此,Proto-danksharding(簡稱PDS)對于DS保持去中心化是很有必要的(因為構建這樣的大區塊是資源密集型的)。
2)數據可用性抽樣(DAS)
Rollups會發布大量的數據,但是我們不希望給節點帶來下載所有這些數據的負擔,因為這將意味著需要很高的資源,從而損害網絡節點的去中心化。
相反,DAS允許節點(甚至輕客戶端)能夠在無須下載所有這些數據的情況下,輕松、安全地驗證這些數據的可用性。
簡單的解決方案:只是檢查每個區塊的一些隨機數據塊。如果檢查合格,節點就對該區塊進行簽名。但如果節點沒有檢查到那筆有關你將ETH發送給Sifu的交易,那么資金就不再安全了。
聰明的解決方案:首先對數據進行糾刪碼。使用Reed-Solomon代碼擴展該數據。這意味著數據被插值為一個多項式,然后我們在許多額外的地方對該多項式進行求值。這很難懂,所以讓我們來分析一下。
對那些忘記數學課的人來說,這是一堂快速的課。(我保證這不會是非常可怕的數學——我不得不看一些KhanAcademy的視頻來寫這些部分,但我現在都弄懂了)。
多項式(Polynomial)是對任何有限數量的單項式進行求和的表達式。多項式的“次數”(degree)是指多項式中次數最高的單項式的次數。例如,2ab+b-1是一個由2ab、b和-1這三個單項式組成的多項式,我們把這三個單項式叫做該多項式的“項”,因此這個多項式就是一個“三項式”;且由于2ab這個單項式的次數最高(次數為2),故這個三項式是“二次三項式”。你可以從位于該多項式上的任何d+1坐標重建任何d次多項式。
現在舉一個具體的例子。下面我們有四個數據組塊。這些數據組塊可以映射到給定點的多項式f(X)的求值。例如,f(0)=d0。現在你找到了貫穿這些求值的最小次數多項式。由于這是四個組塊,我們可以找到三次多項式。然后,我們可以擴展此數據以添加四個沿同一多項式的求值。
記住多項式的關鍵屬性:我們可以從任意四個點重構它,而不僅僅是最初的四個數據塊。
回到我們的DAS。現在我們只需要確保任意50%(4/8)糾刪碼數據是可用的。由此,我們可以重構整個區塊。
因此,攻擊者必須隱藏區塊的>50%數據,才能成功地欺騙DAS節點,以使節點認為數據是可用的(但實際上是不可用的)。
Nexo聯合創始人:以太坊的合并不會幫助以太坊超越比特幣:金色財經報道,根據加密貨幣借貸平臺Nexo聯合創始人Antoni Trenchev的說法,以太坊的合并是協議歷史上發生的“最重要的事情”。但是,他認為這不會幫助以太坊超越比特幣成為最主要的數字資產。
Trenchev 表示,他“非常看好”這些資產,并長期將它們放在他的投資組合中。他承認幾個月前增加了他的 ETH 敞口,預計代幣的價格會在轉向 PoS 后飆升。
與一些人預計 Ether 的估值會在事件發生后立即飆升不同,Nexo 的高管認為這需要一些時間。人們應該首先意識到該開發的用例,然后價格飆升可能會隨之而來。[2022/9/15 6:59:06]
在許多成功的隨機抽樣之后,<50%的數據是可用的概率非常小。如果我們成功地對糾刪碼數據采樣30次,那么<50%可用的概率是2-30。
3)KZG承諾
好的,所以我們做了一堆隨機樣本,它們都是可用的。但我們還有另一個問題——數據擦除編碼是否正確?否則,可能區塊生產者在擴展區塊時只是添加了50%的垃圾,而我們對廢話進行了采樣。在這種情況下,我們實際上將無法重建數據。
通常我們只是通過使用Merkle根來提交大量數據。這對于證明集合中包含某些數據是有效的。
但是,我們還需要知道所有原始數據和擴展數據都位于同一個低次多項式上。Merkle根并不能證明這一點。所以如果你使用這個方案,你還需要欺詐證明,以防萬一做錯了。
好的,所以我們做了一堆隨機樣本,它們都是可用的。但我們還有另一個問題——數據擦除編碼是否正確?否則,可能區塊生產者在擴展區塊時只是添加了50%的垃圾,而我們對廢話進行了采樣。在這種情況下,我們實際上將無法重建數據。
通常我們只是通過使用Merkle根來提交大量數據。這對于證明集合中包含某些數據是有效的。
但是,我們還需要知道所有原始數據和擴展數據都位于同一個低次多項式上。Merkle根并不能證明這一點。所以如果你使用這個方案,你還需要欺詐證明,以防萬一做錯了。
回到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的承諾向我們證明了原始數據得到了適當的擴展并承諾了所有這些。
干得好,這就是今天的代數知識。
4)KZG承諾與欺詐證明
既然我們了解了KZG的工作原理,請退后一步比較這兩種方法。
KZG的缺點——它不是后量子安全的,它需要一個可信的設置。這些并不令人擔憂。STARK提供了一種后量子替代方案,而可信設置只需要一個誠實的參與者。
KZG的優勢-比欺詐證明設置的延遲更低,并且它確保了正確的擦除編碼,而不會引入欺詐證明中固有的同步和誠實的少數假設。
然而,考慮到以太坊仍然會重新引入這些假設來進行區塊重建,所以你實際上并沒有刪除它們。DA層總是需要為最初提供塊的場景進行規劃,但隨后節點需要相互通信以將其重新組合在一起。這種重建需要兩個假設:
您有足夠的節點對數據進行采樣,這樣它們就足以將它們重新組合在一起。這是一個相當弱且不可避免的誠實少數假設,因此不是一個大問題。
重新引入同步假設——節點需要能夠在一段時間內進行通信才能將其重新組合在一起。
以太坊驗證器在PDS中完全下載分片blob,并且使用DS,他們將只執行DAS。Celestia將要求驗證者下載整個區塊。
請注意,無論哪種情況,我們都需要同步假設來進行重建。如果該區塊僅部分可用,則完整節點必須與其他節點通信以將其重新組合在一起。
如果Celestia想要從要求驗證者下載全部數據轉變為只執行DAS,那么KZG的延遲優勢就會顯現出來。然后,他們還需要實施KZG承諾——等待欺詐證明將意味著顯著增加區塊間隔,并且驗證者投票支持錯誤編碼區塊的風險會非常高。
我推薦以下內容以更深入地探索KZG承諾的工作方式:
橢圓曲線密碼學入門?
探索橢圓曲線配對?–Vitalik
蜘蛛礦池的市場總監李慧:以太坊挖礦是非常好的投資標的:由開源礦池和火幣主辦,金色算力云、鏈上ChainUP、Filecoin Beijing聯合主辦的“分布式存儲中國行暨開源礦池IPFS私享會”2020年11月25日在深圳舉行。蜘蛛礦池的市場總監李慧在會上表示,當下以太坊挖礦是非常好的投資標的,以太坊是全球第二大主流貨幣,鏈上生態逐步建立,去中心化應用蓬勃發展,賦予了它更多的實際價值。持幣地址數持續增長,越來越多人認可以太坊的價值。以太坊挖礦與比特幣挖礦相比,擁有更短的回本周期、更多對沖空間的關機比價、更高的殘值,加上defi和eth2.0的利好加持,突顯出了非常明顯的優勢。對于礦工而言,做挖礦投資過程中要重視金融工具的選用,選取合適的金融工具,不僅可以使利潤更大化,還可以讓投資者擁有更強的風險對沖能力。
蜘蛛礦池可以為挖礦投資者提供配資、借貸、套保等配套金融服務以及一站式無憂挖礦服務,從礦機選購,礦場托管、運維,到礦池接入,為投資者提供優質資源和挖礦保障。[2020/11/25 22:05:54]
KZG多項式承諾?–Dankrad
受信任的設置如何工作??–Vitalik
5)協議內提議者-構建者分離
今天的共識節點和合并后的扮演兩個角色。他們構建實際的區塊,然后將其提議給其他驗證它的共識節點。礦工通過在前一個區塊的基礎上進行「投票」,在合并之后,驗證者將直接對區塊的有效或無效進行投票。
PBS將它們分開——它明確地創建了一個新的協議內構建者角色。專業的構建者將把區塊放在一起并競標提議者來選擇他們的區塊。這與MEV的中心化力量作斗爭。
回想一下Vitalik的《終局之戰》一文——所有道路都通向中心化區塊生產,具有去信任和去中心化的驗證。PBS對此進行了編纂。我們需要一個誠實的構建者來為網絡提供服務以提高活躍度和抗審查能力,但驗證者集需要誠實的多數。PBS使提議者角色盡可能簡單地支持驗證者去中心化。
構建者收到優先費用小費以及他們可以提取的任何MEV。在一個有效的市場中,有競爭力的構建者將競標到他們可以從區塊中提取的全部價值。所有價值都滲透到去中心化的驗證器集——正是我們想要的。
確切的PBS實現仍在討論中,但two-slotPBS可能如下所示:
構建者使用他們的出價承諾區塊頭
信標區塊提議者選擇獲勝的區塊頭和出價。即使構建者未能生產出body,投標人也將無條件獲得中標
證明人委員會確認獲勝標頭
構建者公布獲勝的body
獨立的證明人委員會選舉獲勝的機構
提議者是使用標準RANDAO機制從驗證者集中選擇的。然后我們使用承諾-顯示方案,在委員會確認區塊頭之前,不會顯示完整的區塊body。
commit-reveal更有效,并且它還可以防止MEV竊取。如果構建者要提交他們的完整區塊,另一個構建者可以看到它,找出那個策略,合并它,并快速發布一個更好的區塊。此外,成熟的提議者可以檢測使用的MEV策略并復制它,而無需補償構建者。如果這種MEV竊取成為平衡,它將激勵合并構建者和提議者,因此我們使用commit-reveal來避免這種情況。
在提議者選出獲勝區塊頭后,委員會確認并固定在分叉選擇規則中。然后,獲勝的建造者發布他們獲勝的完整「構建者區塊」body。如果及時發布,下屆委員會將作證。如果他們未能及時發布,他們仍然向提議者支付全部出價。這種無條件的支付消除了提議者信任構建者的需要。
這種「雙時隙」設計的缺點是延遲。合并后的區塊將是固定的12秒,所以如果我們不想引入任何新的假設,這里我們需要24秒來獲得完整的區塊時間。每個時隙8秒似乎是一個安全的折衷方案,盡管研究正在進行中。
6)抗審查名單(crList)
不幸的是,PBS賦予了構建者更高的審查交易能力。也許構建者只是不喜歡你,所以他們忽略了你的交易。也許他們的工作非常出色,以至于所有其他構建者都放棄了,或者他們只是因為他們真的不喜歡你而對區塊出價過高。
crLists對這種能力進行了檢查。確切的實現又是一個開放的設計空間,但「混合PBS」似乎是最受歡迎的。提議者指定他們在內存池中看到的所有合格交易的列表,構建者將被強制包含它們:
提議者發布一個crList和crList摘要,其中包括所有符合條件的交易
構建者創建一個提議的區塊body,然后提交一個競標,其中包括crList摘要的哈希,證明他們已經看到它
提議者接受中標構建者的出價和區塊頭
構建者發布他們的區塊并包含他們已包含來自crList的所有交易或該區塊已滿的證明。否則分叉選擇規則不會接受該塊
證明者檢查已發布的body的有效性
這里仍有重要問題需要解決。例如,這里的主導經濟策略是讓提議者提交一個空列表。只要出價最高,即使是審查構建者也能贏得拍賣。有一些想法可以解決這個問題和其他問題,但只是強調這里的設計并不是一成不變的。
7)二維KZG方案
我們看到了KZG承諾如何讓我們承諾數據并證明它被正確擴展。但是,我簡化了以太坊的實際操作。它不會在單個KZG承諾中承諾所有數據——單個區塊將使用許多KZG承諾。
我們已經有一個專門的構建者,那么為什么不讓他們創造一個巨大的KZG承諾呢?問題是這需要一個強大的超級節點來重建。我們可以接受初始構建的超級節點要求,但我們需要避免這里的重建假設。我們需要資源較少的實體來處理重建,并將其拆分為許多KZG承諾使這變得可行。考慮到手頭的數據量,重建甚至可能相當普遍,或者是本設計中的基本情況假設。
為了使重建更容易,每個區塊將包含在m個KZG承諾中編碼的m個分片blob。天真地這樣做會導致大量的采樣——你會在每個分片blob上執行DAS以知道它都是可用的。
相反,以太坊將使用2DKZG方案。我們再次使用Reed-Solomon代碼將m承諾擴展到2m承諾:
我們通過擴展與0-255位于相同多項式上的額外KZG承諾使其成為2D方案。現在我們只需對上表進行DAS,以確保所有分片的數據可用性。
≥75%的數據可用的2D采樣要求意味著我們做的固定樣本數量要多一些。在我提到簡單一維方案中DAS的30個樣本之前,但這將需要75個樣本來確保重建可用區塊的相同概率幾率。
報告:以太坊網絡近五年總交易額接近1萬億美元:據The Block報告分析顯示,自2015年7月30日以來,以太坊網絡的總交易額為9,860億美元,接近1萬億美元,大約從2018年初開始以太坊網絡活躍度顯著攀升,隨后在當年年底增長趨勢逐漸緩和,呈現平穩增長。此外以太坊網絡上唯一地址數也在不斷增加,從2015年7月30日的9206個地址增長到2020年7月30日的52.3萬個地址。[2020/8/3]
分片1.0只需要30個樣本,但如果您想檢查1920個樣本的完整DA,則需要對64個分片進行采樣。每個樣本為512B,因此這需要:
/16秒=60KB/s帶寬
實際上,驗證者只是在沒有單獨檢查所有分片的情況下被洗牌。
現在,使用2DKZG承諾方案的組合區塊使得檢查完整DA變得微不足道。它只需要單個統一區塊的75個樣本:
/16秒=2.5KB/s帶寬
8)Danksharding
PBS最初的設計目的是削弱MEV在驗證器集上的集中力。然而,Dankrad最近利用了這種設計,意識到它解鎖了一個更好的分片結構——DS。
DS利用專門的構建者來創建信標鏈執行區塊和分片的更緊密集成。我們現在有一個構建者一起創建整個區塊,一個提議者和一個委員會。如果沒有PBS,DS將是不可行的——常規驗證者無法處理充滿Rollup數據blob的區塊的巨大帶寬:
分片1.0包括64個獨立的委員會和提議者,因此每個分片都可能單獨不可用。這里更緊密的集成使我們能夠一次性確保DA。數據仍然在幕后「分片」,但從實際的角度來看,danksharding開始感覺更像是大區塊,這很棒。
9)Danksharding–誠實的多數驗證
驗證者證明數據可用如下:
這依賴于誠實的大多數驗證者——作為一個單獨的驗證者,我的列和行可用并不足以讓我在統計上確信整個區塊可用。這取決于誠實的大多數人說它是。去中心化驗證很重要。
請注意,這與我們之前討論的75個隨機樣本不同。私人隨機抽樣是資源匱乏的個人能夠輕松檢查可用性的方式。但是,驗證者將繼續使用行和列方法來檢查可用性和引導區塊重建。
10)Danksharding--重構
只要單個行或列的50%可用,那么采樣驗證器就可以輕松地對其進行完全重建。當他們重建行/列中丟失的任何區塊時,他們將這些區塊重新分配到正交線。這有助于其他驗證器根據需要從相交的行和列中重建任何丟失的區塊。
這里重建可用區塊的安全假設是:
足夠多的節點來執行樣本請求,以便它們共同擁有足夠的數據來重建區塊
廣播各自區塊的節點之間的同步假設
那么,多少節點就足夠了?粗略估計大約有64,000個個體實例。這也是一個非常悲觀的計算,它假設由同一驗證器運行的節點中沒有交叉。
如果您對超過2行和列進行采樣,則由于交叉,您可以集體檢索它們的幾率會增加。這開始以二次方的方式擴展——如果驗證者運行10或100個驗證者,則64,000個可能會減少幾個數量級。
如果在線驗證器的數量開始變得異常低,可以設置DS以自動減少分片數據blob計數。因此,安全假設將降低到安全水平。
11)Danksharding–私人隨機抽樣的惡意多數安全
我們看到DS驗證依賴于誠實的多數來證明區塊。作為個人,我無法通過僅下載幾行和幾列來向自己證明一個區塊可用。但是,私人隨機抽樣可以在不信任任何人的情況下給我這種保證。如前所述,這是節點查驗這75個隨機樣本的地方。
DS最初不會包含私有隨機抽樣,因為這在網絡方面是一個非常難以解決的問題。
請注意,「私有」很重要,因為如果攻擊者對您進行了去匿名化,他們就能夠欺騙少量的采樣節點。他們可以只返回您請求的確切區塊并保留其余部分。因此,您不會僅從自己的抽樣中知道所有數據都是可用的。
12)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層添加更多節點可以讓您安全地增加數據吞吐量。
區塊鏈的可擴展性仍然存在限制,但我們可以將數量級提高到比我們今天看到的任何東西都要高。安全且可擴展的基礎層允許執行在它們之上激增。隨著時間的推移,數據存儲和帶寬的改進也將允許更高的數據吞吐量。
3iq公司的以太坊基金正申請在加拿大證券交易所上市:加拿大投資基金管理公司3iQ Corp稱,已為其以太坊基金申請在加拿大首次公開募股(IPO),目前已獲得加拿大監管機構初步批準。
據悉,該基金是由3iQ管理的封閉式投資基金,擬通過發行A類份額(10.75美元)和F類份額(10.53美元)籌集最低1075萬美元,最高1.075億美元的資金。與該公司早些時候推出的比特幣基金(BitcoinFund)一樣,以太坊基金也計劃在多倫多證券交易所(TSX)上市交易。(Bitcoin.com)[2020/7/27]
超越此處設想的DA吞吐量肯定是有可能的,但很難說這個最大值最終會在哪里。沒有明確的紅線,而是一些假設會開始讓人感到不舒服的區域:
數據存儲——這與DA與數據可檢索性有關。共識層的作用不是無限期地保證數據的可檢索性。它的作用是讓它在足夠長的時間內可用,以便任何關心下載它的人都可以,滿足我們的安全假設。然后它會被轉儲到任何地方——這很舒服,因為歷史是N信任假設中的1,而且我們實際上并沒有在宏偉的計劃中談論那么多數據。隨著吞吐量增加幾個數量級,這可能會在幾年后進入令人不安的領域。
驗證者——DAS需要足夠多的節點來共同重建區塊。否則,攻擊者可能會等待,只響應他們收到的查詢。如果提供的這些查詢不足以重建區塊,那么攻擊者可以保留其余的,我們就不走運了。為了安全地增加吞吐量,我們需要添加更多的DAS節點或增加它們的數據帶寬需求。這不是這里討論的吞吐量的問題。但是,如果吞吐量比這種設計進一步增加幾個數量級,這可能會讓人感到不舒服。
請注意,構建者不是瓶頸。您需要為32MB的數據快速生成KZG證明,因此需要GPU或相當強大的CPU以及至少2.5GBit/s的帶寬。無論如何,這是一個專門的角色,對他們來說這是一個可以忽略不計的業務成本。
13)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誠實假設。
聲音 | V神:對以太坊治理的質疑沒有延誤以太坊2.0的開發:以太坊創始人 Vitalik Buterin 在 Reddit 上表示,最近關于以太坊治理的噪音很大,讓人不舒服,但是這并沒有耽誤以太坊 2.0 的開發進度,Prysmatic、Lighthouse 和 ETH 2.0 研究團隊都朝著既定時間表進展,狀態通道、Plasma 和 ZK Rollup 的開發也在穩步朝前。Vitalik Buterin 寫道:當你押注在以太坊生態時,你其實是在押注這些不出聲沉默的軍隊。[2019/4/14]
狀態——所有當前賬戶余額、智能合約等的快照。完整節點都需要這個來驗證交易。它對于RAM來說太大了,而硬盤驅動器又太慢了——它放在你的SSD里。高吞吐量區塊鏈膨脹了它們的狀態,遠遠超出了我們普通人在筆記本電腦上所能保存的范圍。如果日常用戶不能持有狀態,他們就無法完全驗證,那么告別去中心化。
TLDR——這些東西變得非常大,所以如果你讓節點存儲它們,就很難運行一個節點。如果運行一個節點太難,我們普通人不會這樣做。這很糟糕,所以我們需要確保不會發生這種情況。
1)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較低的持續負載顯然是可取的。
2)在執行客戶端中綁定歷史數據(EIP-4444)
EIP-4444允許客戶端選擇在本地修剪超過一年的歷史數據。它要求客戶端停止在p2p層上提供這些修剪過的歷史數據。修剪歷史允許客戶減少用戶的磁盤存儲需求。
這已經很重要了,但如果EIP-4488被實施,這將基本上是強制性的。無論如何,希望這能在相對近期內完成。最終將需要某種形式的歷史到期,所以這是處理它的好時機。
鏈的完全同步需要歷史記錄,但驗證新區塊不需要它。因此,一旦客戶端同步到鏈的頂端,只有在通過JSON-RPC明確請求或對等方嘗試同步鏈時,才會檢索歷史數據。隨著EIP-4444的實施,我們需要為這些找到替代解決方案。
客戶端將無法像現在一樣使用devp2p進行「完全同步」——他們將取而代之的是從弱主觀性檢查點「檢查點同步」,他們將其視為創世區塊。
請注意,弱主觀性不會是一個額外的假設——無論如何,它是向PoS轉變所固有的。由于遠程攻擊的可能性,這需要使用有效的弱主觀性檢查點進行同步。這里的假設是客戶端不會從無效或舊的弱主觀性檢查點同步。該檢查點必須在我們開始修剪歷史數據的時期內,否則p2p層將無法提供所需的數據。
隨著越來越多的客戶端采用輕量級同步策略,這也將減少網絡上的帶寬使用。
3)找回歷史數據
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信任假設。我們距離成為區塊鏈可擴展性的最終限制還有很多年。
4)弱無狀態
好的,所以我們已經很好地處理了歷史記錄管理,但是如何處理狀態呢?狀態問題實際上是目前提高以太坊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成本的更大份額。
5)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個值寬的極端之間。
6)狀態到期
弱無狀態消除了驗證者的狀態膨脹約束,但狀態不會神奇地消失。交易成本是有限的,但它們通過增加狀態對網絡造成永久性稅收。狀態增長仍然是網絡的永久拖累。需要做一些事情來解決根本問題。
這就是狀態到期的地方。長時間處于非活動狀態的狀態甚至會從區塊構建者需要攜帶的東西中剔除。活躍用戶不會注意到任何事情,并且不再需要的無用狀態可以被丟棄。
如果您需要恢復過期狀態,您只需要顯示一個證明并重新激活它。這又回到了這里的1ofN存儲假設。只要有人仍然擁有完整的歷史記錄,你就可以從他們那里得到你需要的東西。
弱無狀態會削弱基礎層對狀態到期的即時需求,但從長遠來看,特別是隨著L1吞吐量的增加,這是一件好事。對于高吞吐量匯總來說,這將是一個更有用的工具。L2狀態將以更高數量級的速度增長,甚至會拖累高性能構建者。
第III部分--MEV
PBS是安全實施DS所必需的,但請回想一下,它最初實際上是為了對抗MEV的中心化力量而設計的。你會注意到今天以太坊研究的一個反復出現的趨勢——MEV現在是加密經濟學的前沿和中心。
設計具有MEV的區塊鏈對于保持安全性和去中心化至關重要。基本的協議級方法是:
盡可能減少有害的MEV
使其余部分民主化
其余的必須很容易被捕獲并在驗證者之間傳播。否則,由于無法與復雜的搜索者競爭,它將集中驗證器集。合并后MEV將在驗證者獎勵中所占份額更高這一事實加劇了這種情況。不容忽視。
1)當今的MEV供應鏈
今天的事件順序如下所示:
礦池在這里扮演了建設者的角色。MEV搜索者通過Flashbot將交易包中繼到礦池。礦池運營商聚合一個完整的區塊并將區塊頭傳遞給各個礦工。礦工通過PoW在分叉選擇規則中賦予其權重來證明這一點。
Flashbots的出現是為了防止整個堆棧的垂直整合——這將為審查制度和其他令人討厭的外部性打開大門。當Flashbots出現時,礦池已經開始與交易公司達成獨家交易以提取MEV。相反,Flashbots為他們提供了一種簡單的方法來匯總MEV出價并避免垂直整合。
以太坊合并后,礦池將消失。我們希望為在家中能夠合理運行的驗證者節點打開大門。這需要找人擔任專門的構建角色。您的家庭驗證者節點在捕獲MEV方面可能不如擁有量化工資的對沖基金那么好。如果不加以控制,如果普通人無法競爭,這將集中驗證者集。如果結構合理,該協議可以將MEV收入重定向到日常驗證者的質押收益。
2)MEV-Boost
不幸的是,協議內的PBS根本無法在合并時準備好。Flashbots再次提供了一個墊腳石解決方案-MEV-Boost。
合并后的驗證者將默認將公共內存池交易直接接收到其執行客戶端中。他們可以將這些打包,交給共識客戶端,然后廣播到網絡。。
但正如我們所討論的,您的驗證者不知道如何提取MEV,因此Flashbots提供了另一種選擇。MEV-boost將插入您的共識客戶端,允許您外包專門的區塊構建。重要的是,您仍然可以選擇使用自己的執行客戶端作為后備。
MEV搜索者將繼續發揮他們今天的作用。他們將運行特定的策略并競標他們的捆綁交易包。然后,構建者將他們看到的所有捆綁包以及任何私人訂單流聚合到最佳完整區塊中。構建者僅通過運行到MEV-Boost的中繼將區塊頭傳遞給驗證者。Flashbots打算運行中繼器和構建者,并計劃隨著時間的推移去中心化,但將其他構建者列入白名單可能會很慢。
MEV-Boost要求驗證者信任中繼者——共識客戶端收到區塊頭,對其進行簽名,然后才顯示區塊body。中繼者的目的是向提議者證明body是有效且存在的,這樣驗證者就不必直接信任構建者。
當協議內PBS準備就緒時,它會在此期間編入MEV-Boost提供的內容。PBS提供相同的權力分離,允許更容易的構建者去中心化,并消除了提議者信任任何人的需要。
3)委員會驅動的MEV平滑
PBS還為另一個很酷的想法打開了大門——?委員會驅動的MEV平滑?。
我們看到提取MEV的能力是驗證者集的中心化力量,但分布也是如此。從一個區塊到另一個區塊的MEV獎勵的高度可變性促使匯集許多驗證者來平滑你的回報。
默認設置是向實際的區塊提議者提供構建者的全額付款。MEV平滑將改為將支付分配給許多驗證者。驗證者委員會將檢查提議的區塊并證明這是否確實是出價最高的區塊。如果一切順利,則區塊繼續進行,獎勵將在委員會和提議者之間分配。
這也解決了另一個問題——帶外賄賂。例如,可以激勵提議者提交次優區塊并直接接受帶外賄賂以向委托人隱瞞他們的付款。此證明可以檢查提議者。
協議內PBS是實現MEV平滑的先決條件。您需要了解構建者市場和提交的明確投標。這里有幾個開放的研究問題,但這是一個令人興奮的提議,對于確保去中心化的驗證者再次至關重要。
4)單slot交易最終性
快速最終性很棒。等待約15分鐘對于UX或跨鏈通信來說不是最佳選擇。更重要的是,這會造成一個MEV重組問題。
合并后的以太坊已經提供了比今天更強大的確認——成千上萬的驗證者證明每個區塊與礦工競爭并可能在相同區塊高度進行挖礦而無需投票。這將使重組極不可能。然而,這仍然不是真正的交易最終性。如果最后一個區塊有一些豐厚的MEV,你可能只是誘使驗證者嘗試重組鏈并為自己竊取它。
單slot確定性消除了這種威脅。恢復一個最終確定的區塊至少需要三分之一的驗證者,并且他們的質押代幣會立即被削減。
我不會對這里的潛在機制過于關注。單slot最終性在以太坊的路線圖中已經發展的很遙遠了,它是一個非常開放的設計空間。
在今天的共識協議中,以太坊只需要1/32的驗證者來證明每個slot。將這種投票擴展到在單個slot中使用BLS簽名聚合的完整驗證器集需要更多的工作。這會將數十萬張選票壓縮為一次驗證:
Vitalik在這里?分解了一些有趣的解決方案。
5)單一秘密領袖選舉
SSLE試圖修補合并后我們將面臨的另一個MEV攻擊向量。
信標鏈驗證者列表和即將到來的領導者選擇列表是公開的,并且很容易對它們進行去匿名化并映射它們的IP地址。您可能可以在這里看到問題。
更復雜的驗證者可以使用技巧來更好地隱藏自己,但小型驗證者特別容易受到doxxed和隨后的DDOSd的影響。這可以很容易地用于MEV。
假設你是第n區塊的提議者,我是第n+1區塊的提議者。如果我知道你的IP地址,我可以廉價地對你進行DDOS攻擊,這樣你就會超時并且無法生成你的區塊。我現在可以捕獲我們slot的MEV并加倍我的獎勵。EIP-1559的彈性區塊大小加劇了這種情況,因此我可以將本來應該是兩個區塊的交易塞進我現在兩倍長的單個區塊中。
家庭式驗證者節點可能會放棄驗證,因為他們被持續攻擊。SSLE使得除了提議者之外沒有人知道何時輪到他們阻止這種攻擊。這不會在合并時生效,但希望它可以在不久之后實施。
PartIV–合并
好吧,要清楚我之前是在開玩笑。我實際上認為以太坊合并發生得相對較快。
我們都在談論這個話題,所以我覺得有義務至少給它一個簡短的介紹。
1)合并后的客戶端
今天,你運行一個可以處理所有事情的單體客戶端。具體來說,全節點同時執行以下操作:
執行——執行區塊中的每筆交易以確保有效性。獲取前狀態根,執行所有操作,并檢查生成的后狀態根是否正確
共識——驗證你是否在完成工作最多的最重鏈上
它們是不可分割的,因為全節點不僅遵循最重的鏈,而且遵循最重的有效鏈。這就是為什么它們是完整節點而不是輕節點。即使發生51%攻擊,全節點也不會接受無效交易。
信標鏈目前只運行共識來給PoS一個測試運行。不包含執行。最終將決定最終的總難度,此時當前的以太坊執行區塊將合并到信標鏈塊中,形成一條鏈:
但是,全節點將在后臺運行兩個獨立的客戶端,它們可以互操作:
執行客戶端——當前的Eth1.0客戶端繼續處理執行。他們處理區塊,維護內存池,管理和同步狀態。PoW部分被撕掉了。
共識客戶端——當前信標鏈客戶端繼續處理PoS共識。他們跟蹤鏈的頭部,gossip并證明區塊,并獲得驗證者獎勵。
客戶端接收信標鏈區塊,執行客戶端運行交易,如果一切順利,共識客戶端將遵循該鏈。您將能夠混合和匹配您選擇的執行和共識客戶端,所有這些都將是可互操作的。將引入一個新的引擎API供客戶端相互通信:
或者:
2)合并后的共識
今天的中本聰共識很簡單。礦工創建新區塊,并將它們添加到觀察到的最重的有效鏈中。
合并后的以太坊轉向GASPER——結合CasperFFG和LMDGHOST以達成共識。這里的TLDR-這是一種有利于共識的活躍性,而不是有利于安全性。
區別在于,有利于安全的共識算法在未能獲得必要數量的選票時停止。有利于鏈的活躍性無論如何都會繼續建立一個樂觀的分類帳,但如果沒有足夠的選票,它們就無法達到最終確定性。今天的比特幣和以太坊永遠不會最終確定——你只是假設在足夠數量的區塊之后不會發生重組。
然而,以太坊也將通過定期檢查點獲得足夠的票數來實現最終性。每個32ETH實例都是一個單獨的驗證者,并且已經有超過380,000個信標鏈驗證者。Epochs由32個slot組成,所有驗證者都分開并在給定epoch內證明一個slot。分叉選擇規則LMDGhost然后根據這些證明確定鏈的當前頭部。每個slot添加一個新區塊,因此epoch為6.4分鐘。通常在兩個epoch之后通過必要的投票來實現最終性。
結論
所有道路都通向中心化區塊生產、去中心化去信任區塊驗證和抗審查的終局。以太坊的路線圖瞄準了這個愿景。
以太坊的目標是成為最終統一的DA和結算層——在底層大規模去中心化和安全,在頂層計算可擴展。這將密碼學假設濃縮為一個健壯的層。包含執行的統一模塊化基礎層還捕獲了L1設計中的最高價值——實現貨幣溢價和經濟安全,正如我最近介紹的。
我希望你能更清楚地了解以太坊研究是如何相互交織的。我們有這么多動人的文章作品,非常前沿,而且有一個非常大的畫面環繞在你的腦海。
從根本上說,這一切都回到了那個單一的愿景。以太坊為實現大規模可擴展性提供了一條引人注目的道路,同時珍視了我們在這個領域非常關心的那些價值觀。
考慮在加密市場推出Token?抑或將未來的Token授予員工和投資者?我們對最新的通證經濟學基準和趨勢進行了一些分析,以幫助您規劃您的關鍵Token決策.
1900/1/1 0:00:00前言:本文為Nir與KrishnaNandakumar共同撰寫,VernonJohnson、DavidPhelps、CarlosDiaz-Pedron、TomerBen-David和JadEsb.
1900/1/1 0:00:00一個好故事能讓你心有所感。這故事如果還歸你所有,那這些情緒就更加強烈了。無論故事新舊,NFT都能夠成為講述它們的極佳方式。過去幾個月中,有些項目一直在探索這個跨界領域.
1900/1/1 0:00:002022年6月13日,以太坊創始人Vitalik發表博客“哪些非金融應用可以使用區塊鏈”表示,自己一直強烈支持將區塊鏈用于非金融應用的趨勢.
1900/1/1 0:00:006月9日,Gitcoin官方宣布,現已開啟第14輪捐贈活動,共有超300萬美元匹配資金。 具體分配如下: GR14-主獎金池:100萬美元;氣候解決方案:50萬美元;支持web3DEI項目:15.
1900/1/1 0:00:00原文:Staking,peggingandotherstuff我提前為大量的錯誤道歉。在開始之前,我想做出適當的說明.
1900/1/1 0:00:00