一、以太坊的升級路線圖M2SVPS
TheMerge
在TheMerge階段,POW共識機制將過度為POS,信標鏈將合并在一起。為了便于理解,我們將以太坊結構簡化為下圖:
我們在這里先定義什么是分片:簡單理解就是水平分割數據庫以分散負載的過程
在轉為POS后:區塊提議者和區塊驗證者分離,POS工作流程如下:
在Rollup上提交交易
驗證者將交易添加到分片區塊中
信標鏈選擇驗證者以提出新的塊
其余的驗證者組成隨機的委員會并驗證分片上的提議
提出區塊和證明提議都需要在一個slot內完成,一般是12s。每32個slot組成一個epoch周期,每個epoch將打亂驗證者排序并重新選舉委員會。
合并后,以太坊將為共識層實現提議者-構建者分離。Vitalik認為,所有區塊鏈的終局都將是擁有中心化的區塊生產和去中心化的區塊驗證。由于分片后的以太坊區塊數據非常密集,出于對數據可用性的高要求,區塊生產的中心化是必要的。同時,必須有一種能夠維護一個去中心化的驗證者集的方案,它可以驗證區塊并執行數據可用性采樣。
礦工和區塊驗證分離。礦工進行區塊的構建,然后將區塊提交給驗證者。向驗證者出價投標選擇自己的區塊,然后驗證者投票來決定區塊是否有效。
分片是一種分區方式,可以在P2P網絡中分散計算任務和存儲工作負載,經過這種處理方式,每個節點不用負責處理整個網絡的交易負載,只需要維護與其分區相關的信息就可以了。每個分片都有自己的驗證者網絡或者節點網絡。
分片的安全性問題:例如整個網絡有10條分片鏈,破壞整個網絡需要51%的算力,那么破壞單個分片只需要5.1%的算力。因此后續的改進就包含了一個SSF算法,這個算法能夠有效防止51%的算力攻擊。根據?vitalik?總結,轉向SSF是一個多年的路線圖,即使目前做了大量工作,它也將是以太坊較晚推行的重大變化之一,并且遠在以太坊的PoS證明機制、分片和Verkle樹完全推出之后。
信標鏈,負責生成隨機數,將節點分配給分片,捕捉單個分片的快照和其他各種功能,負責完成分片間的通信,協調網絡的同步。
信標鏈的執行步驟如下:
區塊生產者對區塊頭和出價一起進行承諾。
信標鏈上的區塊者選擇獲勝的區塊頭和投標,無論區塊打包者是否最終生成區塊體,都將無條件獲得中標費。
Committee投票確認獲得的區塊頭。
區塊打包者披露區塊體。
TheSurge
該路線的主要目標是推動以Rollup為中心的擴容。Surge指的是添加了以太坊分片,這是一種擴容解決方案,?以太坊基金會聲稱:該解決方案將進一步啟用低gas費的二層區塊鏈,降低rollup或捆綁交易的成本,并使用戶更容易操作保護以太坊網絡的節點。
該圖仍然可以通過以下簡圖來理解:
以zkrollup運行原理為例:在zkrollup中分為排序器和聚合器,排序器負責將用戶交易排序,并且將其打包成批次,發送給聚合器。聚合器執行交易,從前狀態根,生成后狀態根,然后生成證明,聚合器最后將前狀態根、后狀態根、交易數據,證明發送到L1上的合約,合約負責校驗證明是否有效,交易數據存儲在calldata內。Zkrollup數據可用性可以讓任何人能夠根據鏈上存儲的交易數據,還原出賬戶的全局狀態。
以太坊L2網絡總鎖倉量為58.4億美元:金色財經報道,L2BEAT數據顯示,截至12月5日,以太坊Layer2上總鎖倉量為58.4億美元。其中鎖倉量最高的為擴容方案Arbitrum,約23.6億美元,占比40.36%;其次是dYdX,鎖倉量為9.87億美元,占比16.88%;第三為BobaNetwork,鎖倉量為9.20億美元,占比15.74%。[2021/12/5 12:52:16]
但是使用calldata的費用非常昂貴,因此整個?EIP-4844協議提出了將交易區塊的大小改為1~2MB,為未來的rollup與數據分片打下堅實基礎。目前以太坊的區塊大小大約是60KB~100KB,以EIP-4844為例,大概可以提升10~34x的區塊大小極限。該區塊格式被稱為blob。
TheScourge
該階段Scourge是路線圖的補充,主要用于解決MEV的問題。那什么是MEV?
MEV全名MinerExtractableValue/MaximalExtractableValue,這一概念最先應用在工作量證明的背景下,最初被稱為“礦工可提取價值”。這是因為在工作量證明中,礦工掌握了交易的包含、排除和順序等角色能力。然而,在通過合并過渡為權益證明后,驗證者將負責這些角色,而挖礦將不再適用。為了繼續使用相同的首字母縮寫詞以便確保延續性,同時保持相同基本含義,現在使用“最大可提取價值”作為更具包容性的替代詞。
套利空間包括:
通過壓縮存儲空間,來獲得gas費用的價差;
裁判員搶跑:廣泛的搜索mempool上的交易,機器在本地執行計算,看看是否會有利可圖,如果有則用自己的地址發起相同交易,并且使用更高的gas費;
尋找清算目標:機器人競相以最快的速度解析區塊鏈數據,從而確定哪些借款人可以被清算,然后成為第一個提交清算交易并自行收取清算費的人。
夾心交易:搜索人會監視內存池內DEX的大額交易。例如,有人想要在Uniswap上使用DAI購買10,000UNI。這類大額交易會對UNI/DAI對產生重大的影響,可能會顯著提高UNI相對于DAI的價格。搜索人可以計算該大額交易對UNI/DAI對的大致價格影響,并在大額交易之前立即執行最優買單,低價買入UNI,然后在大額交易之后立即執行賣單,以大額訂單造成的更高價格賣出。
MEV的缺陷:
某些形式的MEV,如夾心交易,會導致用戶的體驗明顯變差。被夾在中間的用戶面臨更高的滑點和更差的交易執行。在網絡層,一般的搶跑者和他們經常參與的礦工費拍賣,導致網絡擁堵和試圖運行正常交易的其他人的高礦工費。除了區塊內發生的,MEV也可能會在區塊間產生有害的影響。如果一個區塊中可用的MEV大大超過了標準區塊的獎勵,礦工可能會被激勵去重新開采區塊并為自己捕獲MEV,進而導致區塊鏈的重新組織和共識的不穩定。
大部分MEV是由稱為“搜索者”的獨立網絡參與者提取的。搜索者在區塊鏈數據上運行復雜的算法來檢測盈利的MEV機會,并且有機器人自動將這些盈利交易提交到網絡。以太坊上的MEV問題涉及使用機器人來利用網絡交易,導致擁塞和高額費用。
TheVerge
Verge將實現“?Verkle樹”和“無狀態客戶端”。這些技術升級將允許用戶成為網絡驗證者,而無需在他們的機器上存儲大量數據。這也是圍繞rollup擴容的步驟之一,前文提到過zkrollup的簡易工作原理,聚合器提交了證明,layer1上的驗證合約只需要驗證blob內的KZG承諾和生成的證明即可。這里簡單介紹一下KZG承諾,就是確保所有的交易都被包含了進來。因為rollup可以提交部分交易,生成證明,如果使用KZG,那么所有的交易都會被確保包含進來生成證明。
TheVerge就是確保驗證非常簡單,只需要下載N個字節數據,執行基本的計算就可以驗證rollup提交的證明。
值得一提的是,ZKrollup有許多種方案,stark、snark或者bulletproof等。各個方案對于證明和驗證的方式都不盡相同,因此出現了權衡。SNARKs目前比STARKs技術更易上手,技術也更完善,因此許多項目剛開始都是使用SNARKs,但是隨著STARKs技術上的迭代后,最終會逐漸轉向抗量子攻擊的STARKs。雖然以太坊為了與rollup適配,EIP-4844主要改進之一是交易格式blob,擴大了區塊容量,但目前所有的零知識證明的主要瓶頸仍然在于自身證明算法,一方面通過改進算法來解決證明問題,另一方面通過堆疊硬件來提高證明效率,也因此衍生了ZK挖礦賽道。有興趣的可以轉到這篇文章。
當前以太坊未確認交易數為153862筆:Etherscan.io數據顯示,以太坊未確認交易數153862筆。當前挖礦難度5338.39 TH,目前平均Gas費為100 Gwei。[2021/2/28 17:59:36]
ThePurge
ThePurge將減少在硬盤驅動器上存儲ETH所需的空間量,試圖簡化以太坊協議并且不需要節點存儲歷史。這樣可以極大的提升網絡的帶寬。
EIP-4444:
客戶端必須停止在P2P層上提供超過一年的歷史標頭、正文和recipient。客戶端可以在本地修剪這些歷史數據。保存以太坊的歷史是根本,相信有各種帶外方式來實現這一點。歷史數據可以通過torrent磁力鏈接或IPFS等網絡打包和共享。此外,PortalNetwork或TheGraph等系統可用于獲取歷史數據。客戶端應允許導入和導出歷史數據。客戶端可以提供獲取/驗證數據并自動導入它們的腳本。
TheSplurge
該路線主要是一些零碎的優化修復,如賬戶抽象、EVM優化以及隨機數方案VDF等。
這里提到的賬戶抽象一直都是ZK系Layer2想要首先實現的目標。那什么是賬戶抽象?在實現賬戶抽象之后,一個智能合約賬戶也可以主動發起交易,而無需依賴“元交易”的機制。
在以太坊內,賬戶分為合約賬戶和外部賬戶。目前的以太坊的事務類型只有一種,必須由外部地址發起,合約地址無法主動發起事務。因此,任何合約自身狀態的改變,必須依賴于一個外部地址發起的事務,無論是一個多重簽名賬戶,還是混幣器,或是任何智能合約的配置變更,都需要由至少一個外部賬戶觸發。
無論使用以太坊上的什么應用,用戶都必須持有以太坊。其次,用戶需要處理復雜的費用邏輯,gasprice,gaslimit,事務阻塞,這些概念對用戶來說過于復雜。許多區塊鏈錢包或應用試圖通過產品優化提高用戶體驗,但效果甚微。
以賬戶為中心的方案的目標是為用戶創建一個基于智能合約管理的賬戶。實現賬戶抽象后的好處是:
現在的合約可以持有ETH,直接提交包含所有簽名的事務,用戶不一定需要為交易支付gas費用,完全取決于項目。
由于實現了自定義密碼學,因此未來不會強制要求使用ESCDA橢圓曲線來進行簽名,未來一臺手機的指紋識別、面部識別、生物識別等技術均可以作為簽名方式。
從而顯著改善了用戶與以太坊的交互體驗。
二、以太坊的模塊化
整個以太坊目前已經出現了模塊化的趨勢,執行層就是由Layer2負責。他們負責執行L2上用戶的交易,并且提交證明。Layer2一般使用的是OP技術/ZK技術,ZK技術在理論上TPS是遠高于OP的,目前大量生態在OP系,但是未來,隨著ZK技術的完善,會有越來越多應用遷移到ZK系。該部分是對路線圖的詳細描述與補充為什么和怎么樣。
目前以太坊只是將執行層剝離開來,實際上,其它層級仍然混作一談。在celestia的愿景中,執行層只進行兩件事:對單筆交易而言,執行交易并發生狀態更改;對同批次的交易而言,計算該批次的狀態根。當前以太坊執行層的一部分工作分給了Rollup,即我們熟知的StarkNet、zkSync、Arbitrum和Optimism。
現在無論是optimism、polygon、starknet、zksync等都往模塊化的道路上探索。
Optimism提出了bedrock/opstack,polygon也在研發polygonavail作為數據可用性層,supernets則用以簡化鏈的創建與共享驗證者集。
結算層:可以理解為主鏈上的Rollup合約驗證上文提到的前狀態根、后狀態根、證明的有效性或欺詐證明的過程。
共識層:無論采用PoW、PoS或其他共識算法,總之共識層是為了在分布式系統中對某件事達成一致,即對狀態轉換的有效性達成共識。在模塊化的語境下,結算層和共識層的含義有些相近,故也有一些研究者把結算層和共識層統一起來。
近3.6億美元BTC在10月轉移至以太坊:金色財經報道,近3.6億美元的BTC在10月轉移至以太坊。截至10月底,被代幣化的BTC總供應量達到15萬枚(價值20.5億美元),比9月份增長了21%。[2020/11/11 12:15:33]
數據可用性層:確保將交易數據完整上傳到數據可用性層,驗證節點能夠通過該層的數據復現所有狀態變更。
這里需要辨析的是數據可用性和數據存儲的區別:
數據可用性與數據存儲是明顯不同的,前者關注的是最新區塊發布的數據是否可用,而后者則是涉及安全地存儲數據并保證在需要時可以訪問它。
1、結算層上的各種Rollup
從結算層看,目前認為rollup的焦點在ZK系。如果通過ZK系的rollup來改進ZK證明系統的大小、gas消耗、成本,再結合遞歸和并行處理的話就能夠極大的拓展其TPS。那么我們就先從ZKrollup開始。
隨著以太坊擴容之路的發展,零知識證明技術被Vitalik認為是有望成為擴容之戰的終局的方案。
ZKP的本質是讓某人證明他們知道或所擁有某些東西。例如,我可以證明我擁有開門的鑰匙,而無須將鑰匙拿出來。證明知道某個賬戶的密碼,而無需輸入密碼并冒著被暴露的風險,這項技術對個人隱私、加密、企業甚至核裁軍都有影響。通過姚氏百萬富翁問題修改版本來加深理解:這個問題討論了兩個百萬富翁愛麗絲和鮑勃,他們想在不透露實際財富的情況下知道他們中的哪一個更富有。
假設公寓每月的租金為1000美元,若要符合出租人選的標準,則至少要支付一個月租金的40倍。那么我們需要證明我們的年收入要有4萬美元以上才行。但房主不想我們找到漏洞,因此選擇不公布具體的租金,他的目的是測試我們是否符合標準,而答案僅僅是符合或者不符合,而不對具體金額負責。
現在有十個盒子,以1萬美元為增量,標記為10~100k美元。每個都有一個鑰匙和一個插槽。房主帶著盒子走進房間毀掉9把鑰匙,拿走標有40k美元盒子的鑰匙。
租客年薪達到7.5萬美元,銀行代理人監督開具資產證明的文件,不寫明具體資金,這個文件的本質是銀行的資產聲明可驗證索賠文件。隨后我們將該文件投入10k~70k的箱子中。那么房主使用40k的鑰匙打開箱子,看到里面的可驗證索賠文件時,則判定該租客符合標準。
這里面涉及到的點包括,聲明人出具資產達標證明,驗證者通過鑰匙驗證租客是否具有資格。再次強調,驗證結果只有兩個選擇——具有資格和不具有資格,并不會也不能對租客具體資產數額作出要求。
我們仍然可以用下圖作為理解,交易在layer2上執行,在分片提交交易。layer2一般采用rollup的形式,也就是在layer2上將多筆交易打包成一個批次來處理事務,然后再提交給layer1的rollup智能合約。這里包含新舊狀態根,layer1上的合約會驗證兩個狀態根是否匹配,如果匹配那么主鏈上的舊狀態根就會更換為新狀態根。那如何驗證批次處理后得到的狀態根是正確的呢,這里就衍生出了optimisticrollup和zkrollup。分別使用欺詐證明和zk技術進行交易的確認以及狀態根的驗證。
這里的layer2就相當于上文例子中的聲明人,其打包操作就是這份聲明操作,并不會對具體數額作出聲明,而是確認是否達到標準。打包后提交給layer1的就是這份可索賠的聲明文件。驗證新舊狀態根就是房主通過鑰匙驗證自己期望的租客經濟實力是否達標。狀態根驗證問題就是銀行提交的聲明,該如何進行聲明才能使問題可信。
基于optimistic也就是欺詐證明的rollup來說,主鏈的Rollup合約記錄了該Rollup內部狀態根變更的完整記錄,以及每個批次處理的哈希值。如果有人發現某個批次處理對應的新狀態根是錯誤的,他們可以在主鏈上發布一個證明,證明該批次處理生成的新狀態根是錯誤的。合約校驗該證明,如果校驗通過則對該批次處理之后的所有批次處理交易全部回滾。
這里的驗證方式相當于聲明人提交了可驗證資產聲明文件,然后將資產文件全部公開到鏈上,并且數據也要公開到鏈上,其他挑戰者根據原始數據進行計算看可驗證的資產文件是否存在錯誤或偽造的情況,如果有問題,則提出挑戰,挑戰成功則向銀行索賠。這里最重要的問題就是需要預留時間給挑戰者收集數據并且驗證該份文件的真實性。
以太坊鏈上錨定BTC的代幣總量達到18859個:Btconethereum.com數據顯示,以太坊鏈上錨定BTC的代幣總量升至18859個,約合1.86億美元。其中,WBTC總量為15073個,renBTC總量為1352個,sBTC總量為919個。[2020/7/27]
對于使用零知識證明技術的Rollup來說,其每個批次處理中包含一個稱為ZK-SNARK的密碼學證明。銀行通過密碼學證明技術來生成資產聲明文件。這樣就不需要預留時間給挑戰者,從而也就沒有挑戰者這一角色存在了。
2、現在ZK系Rollup不及預期的原因
目前polygon系的hermez已經發布,zksyncdev主網、starknet主網也已經上線。但是他們的交易速度似乎與我們理論上還相差過大,特別是starknet的用戶能明顯感知到,其主網速度慢的令人驚訝。究其原因還是在于零知識證明技術生成證明難度仍然很大,成本開銷仍然很高,還有需要對以太坊的兼容性和zkevm性能上的權衡。Polygon團隊也承認:“PolygonzkEVM的測試網版本也具有有限的吞吐能力,這意味著它遠不是作為優化擴展機器的最終形式。”
3、數據可用性層
以太坊的抽象執行步驟如下所示:
在以太坊的去中心化過程中,我們也可以在TheMerge路線圖上看到——去中心化驗證者。其中最主要的就是實現客戶端的多樣性以及降低機器的入門門檻,增加驗證者的人數。因此有些機器不達標的驗證者想要參與網絡,就可以使用輕客戶端,輕節點的運行原理是通過臨近的全節點索要區塊頭,輕節點只需要下載和驗證區塊頭即可。如果輕節點不參與進來,那么所有的交易都需要全節點去執行驗證,因此全節點需要下載和驗證區塊中的每筆交易,同時隨著交易量的增多,全節點承壓也越來越大,因此節點網絡逐漸傾向于高性能、中心化。
但是這里的問題是,惡意的全節點可以給予缺失/無效的區塊頭,但是輕節點沒辦法證偽,對此問題有兩種辦法,剛開始是使用欺詐證明,需要一個可信的全節點來監控區塊的有效性,在發現無效區塊后構造一個欺詐證明,在一段時間內未收到欺詐證明則判定為有效區塊頭。但是這里明顯需要一個可信的全節點,即需要可信設置或者誠實假設。但是區塊生產者能夠隱藏部分交易,欺詐證明就明顯失效,因為誠實的節點,也依賴于區塊生產者的數據,若數據本身就被隱藏,那么可信節點就認為提交的數據是全部數據,那么自然也不會生成欺詐證明。
MustarfaAI-Bassam和Vitalik在合著的論文中提出了新的解決方案——糾刪碼。采用糾刪碼來解決數據可用性的問題,比如celestia,polygonavail均采用的是reed-solomon糾刪碼。但是如何確保傳輸的數據是完整的數據呢,結合KZG承諾/欺詐證明即可。
在KZG承諾/欺詐證明中,能夠確保區塊生產者發布完整的數據,不會隱藏交易,然后將數據通過糾刪碼進行編碼,再通過數據可用性采樣,這樣就可以讓輕節點正確地驗證數據。
Rollup內聚合器提交的數據都是以calldata形式存儲在鏈上的,這是因為calldata數據相對于其它存儲區域更便宜。
Calldatacostingas=Transactionsize×16gasperbyte
每筆交易主要的開銷在calldata成本,因為在鏈上存儲費用極其昂貴,該部分占到rollup成本的80%~95%之多。
由于這個問題,我們才提出了EIP-4844的新交易格式blob,擴大區塊容量,降低提交到鏈上所需的gas費。
4、數據可用性層的鏈上與鏈下
那么如何解決鏈上數據昂貴的問題呢?有以下幾種方法:
首先是壓縮上傳到L1的calldata數據大小,這方面已經有了許多的優化。
其次是降低在鏈上存放數據的成本,通過以太坊的proto-danksharding和danksharding來為rollup提供“大區塊”,更大的數據可用性空間,采用糾刪碼和KZG承諾來解決輕節點的問題。如EIP-4844。
第三個是,把數據可用性放在鏈下,這部分的通用方案包括,celestia/polygonavail等。
聲音 | Jake Chervinsky:以太坊社區比較友好:美國政府執法辯護和證券訴訟律師Jake Chervinsky今日發推稱:“有趣的是,當我昨天發推文說我喜歡比特幣和以太坊時,基本上每個加密貨幣社區都批評我,只有以太坊社區比較友好。盡管我說了我對BTC的未來絕對肯定并且對ETH不確定。”[2019/7/11]
通過數據可用性存放的位置,我們將其分為下圖所示:
Validium的方案:將數據可用性放在鏈下,那么這些交易數據就由中心化的運營商來維護,用戶就需要可信設置,但成本會很低,但同時安全性幾乎沒有。之后starkex和arbitrumnova都提出成立DAC來負責交易數據的存儲。DAC成員都是知名且在法律管轄區內的個人或組織,信任假設是他們不會串通和作惡。
Zkporter提出guardians來質押維護數據可用性,如果發生了數據可用性故障,那么質押的資金將被罰沒。Volition則是用戶自己選擇鏈上/鏈下數據可用性,根據需求,在安全與成本之間選擇。
這時候,celestia和polygonavail就出現了。如果validium有鏈下數據可用性的需求,又害怕去中心化程度低,從而引發類似跨鏈橋的私鑰攻擊,那么去中心化的通用DA方案則可以解決這個問題。Celestia和polygonavail通過成為一條單獨的鏈,來為validium提供鏈下DA的解決方案。但是通過單獨的鏈,雖然提升的安全性,但相應會提高成本。
Rollup的拓展實際上有兩部分,一部分是聚合器的執行速度,另一方面則需要數據可用層的配合,目前聚合器是中心化的服務器來運行,假設交易執行的速度能達到無限大的程度,那么主要拓展困境在于其受到底層數據可用性解決方案的數據吞吐量的影響。如果rollup要最大化其交易吞吐量,則如何最大化數據可用性解決方案的數據空間吞吐量是至關重要的。
再回到開頭,使用KZG承諾或者欺詐證明來確保數據的完整性,通過糾刪碼來拓展交易數據幫助輕節點進行數據可用性采樣,進一步確保輕節點能夠正確驗證數據。
也許你也想問,到底KZG承諾是如何運行來確保其數據的完整性的呢?或許可以稍微解答一下:
KZG承諾:證明多項式在特定位置的值與指定的數值一致。
KZG承諾無非就是多項式承諾中的一種,能夠在不給定具體消息的情況下驗證消息。大概流程如下:
將數據通過糾刪碼化為多項式,將其拓展。使用KZG承諾確保我們的拓展是有效的,且原數據是有效的。然后利用拓展可以reconstruct數據,最后進行數據可用性采樣。
提交者生成承諾,將其與消息綁定。
將綁定后的消息傳送給驗證者,這里的communication方案就關系到證明規模的大小。
驗證者,帶入有限域的多個值驗證是否仍然等于a,基本原理就是驗證次數越多那么正確的概率就越高。
Celestia要求驗證者下載整個區塊,現在的danksharding則利用數據可用性采樣技術。
由于區塊存在部分可用的情況,因此任何時候我們都需要在重構區塊的時候保證同步。在區塊確實部分可用時,節點之間通信,將區塊拼湊出來。
KZG承諾和數據欺詐證明的比較:
可以看到KZG承諾能確保拓展和數據是正確的,而欺詐證明引入第三方進行觀察。最明顯的區別是,欺詐證明需要一個時間間隔來給觀察者進行反應,然后再報告欺詐,這時候需要滿足節點直接的同步,從而整個網絡能夠及時收到欺詐證明。KZG則明顯的比欺詐證明更快,其使用數學方法來確保數據的正確,而不需要一個等待時間。
它能夠證明數據以及其拓展是正確的。但是由于一維KZG承諾需要耗費更大的資源,因此以太坊選擇二維KZG承諾。
比如100行×100列,那就是100,00個份額。但每采樣一次,都不是萬分之一的保證。那么擴展四倍意味著在整個份額中至少要有1/4的份額不可用,你才可能抽到一個不可用的份額,才表示真正不可用,因為恢復不出來。只有在1/4不可用的情況下才恢復不出來,才是真正有效的發現錯誤,所以抽一次的概率大概是1/4。抽十多次,十五次,可以達到99%的可靠性保證。現在在15–20次的范圍之內做選擇。
5、EIP-4844
在proto-danksharding實現中,所有驗證者和用戶仍然必須直接驗證完整數據的可用性。
Proto-danksharding引入的主要特征是新的交易類型,我們稱之為攜帶blob的交易。攜帶blob的事務類似于常規事務,不同之處在于它還攜帶一個稱為?blob?的額外數據。Blob非常大,并且比類似數量的調用數據便宜得多。但是,這些blob無法從EVM訪問。并且?blob由共識層而不是執行層存儲。這里其實就是數據分片概念逐漸成型的開始。
因為驗證者和客戶端仍然需要下載完整的blob內容,所以proto-danksharding中的數據帶寬目標為每個插槽1MB,而不是完整的16MB。然而,由于這些數據沒有與現有以太坊交易的gas使用量競爭,因此仍然有很大的可擴展性收益。
盡管實現全分片是一項復雜的任務,并且在proto-danksharding之后仍然是一項復雜的任務,但這種復雜性包含在共識層中。一旦proto-danksharding推出,執行層客戶端團隊、rollup開發人員和用戶不需要做進一步的工作來完成向全分片的過渡。Proto-danksharding還將blob數據與calldata分離,使客戶端更容易在更短的時間內存儲blob數據。
值得注意的是,所有工作都是由共識層更改,不需要執行客戶端團隊、用戶或Rollup開發人員的任何額外工作。
EIP-4488和proto-danksharding都導致每個插槽的長期最大使用量約為1MB。這相當于每年大約2.5TB,遠高于以太坊今天所需的增長率。
在EIP-4488的情況下,解決此問題需要歷史記錄到期提案?EIP-4444?,其中不再要求客戶端存儲超過某個時間段的歷史記錄。
6、數據分片
在這里,將盡可能多的以小白的視角講清楚以太坊擴容過程中大家都在討論的問題。所以我們回到分片,再次強調一下對于分片的片面概念:簡單理解就是水平分割數據庫以分散負載的過程。
在這里,我們的數據分片有一個很重要的問題就是,在PBS中,在分片中,每個節點群只處理該分片內的交易,交易在分片間會相對獨立,那么AB兩用戶處于不同分片上,相互轉賬該如何處理呢?那這里就需要很好的跨片通信的能力。
過去的方式是數據可用性層分片,每個分片都有獨立的提議者和委員會。在驗證者集中,每個驗證者輪流驗證分片的數據,他們將數據全部下載下來進行驗證。
缺點是:
需要嚴密的同步技術來保證驗證者之間能夠在一個slot內同步。
驗證者需要收集所有的committee的投票,這里也會出現延遲。
而且驗證者完全下載數據對其壓力也很大。
第二種方法是放棄完全的數據驗證,而是采用數據可用性采樣的方法。這里又分為兩種隨機采樣方式,1)區塊隨機采樣,對部分數據分片采樣,如果驗證通過后,驗證者進行簽名。但是這里的問題是,可能會出現遺漏交易的情況。2)通過糾刪碼將數據重新解釋為多項式,再利用特定條件下多項式能夠恢復數據的特點,來確保數據的完整可用性。
“分片"關鍵就是驗證者不負責下載所有數據,而這就是為什么Proto-danksharding不被認為是"分片的"的原因。Proto-danksharding要求每個驗證者完整地下載所有分片blob來驗證它們的可用性;Danksharding則隨后將引入采樣,單個驗證者只需下載分片blob的片段。
三、以太坊的未來之Layer3
被視為以太坊拓展未來的ZK系Layer2如zksync、starknet都紛紛提出了Layer3的概念。簡單理解就是Layer2的Layer2。
以太坊上高昂的交易成本正在推動它成為L2的結算層。相信在不久的將來,由于交易成本顯著降低、對DeFi工具的支持不斷增加以及L2提供的流動性增加,最終用戶將在L2上進行大部分活動,而以太坊逐漸成為結算層。
L2通過降低每筆交易的gas成本和提高交易率來提高可擴展性。同時,L2s保留了去中心化、通用邏輯和可組合性的好處。但是,某些應用程序需要特定的定制,這可能更好地由一個新的獨立層提供服務:L3!
L3與L2相關,就像L2與L1相關一樣。只要L2能夠支持驗證者智能合約,L3就可以使用有效性證明來實現。當L2也使用提交給L1的有效性證明時,就像StarkNet所做的那樣,這將成為一個非常優雅的遞歸結構,其中L2證明的壓縮優勢乘以L3證明的壓縮優勢。理論上說,如果每一層都實現了例如1000倍的成本降低,那么L3可以比L1降低1,000,000倍——同時仍然保持L1的安全性。這也是starknet引以為豪的遞歸證明的真實用例。
這里需要用到《數據可用性層的鏈上與鏈下》部分知識。整個Layer3包括了:
Rollup,validium。兩種分別對應不同的應用需求。對價格、數據敏感的web2企業可以使用validium,將數據放在鏈下,這樣極大的降低了鏈上gas費用,并且可以不公開用戶數據實現隱私性,讓企業完成自己對數據的掌控力,使用自定義的數據格式,以前企業的數據商業模式仍然能夠跑通。
L2用于擴展,L3用于定制功能,例如隱私。
在這個愿景中,沒有嘗試提供“二次方級可擴展性”;相反,這個堆棧中有一層可以幫助應用程序擴展,然后根據不同用例的定制功能需求分離各層。
L2用于通用擴展,L3用于自定義擴展。
自定義擴展可能有不同的形式:使用除EVM之外的其他東西進行計算的專用應用程序,其數據壓縮針對特定應用程序的數據格式進行優化的rollup等。
L2用于無信任擴展,L3用于弱信任擴展。
Validium是使用SNARK來驗證計算的系統,但將數據可用性留給受信任的第三方或委員會。在我看來,Validium被嚴重低估了:特別是,許多“企業區塊鏈”應用程序實際上可能最好由運行validium證明者并定期將哈希提交到鏈的中心化服務器來提供最佳服務。Validium的安全等級低于rollup,但可以便宜得多。
對于dApp的開發者來說,在基礎設施上可以有以下幾種選擇:
自己開發一個Rollup
優勢是你可以繼承以太坊的生態,還有它的安全性,但是對于一個dApp團隊來說,Rollup的開發費用顯然過高。
選擇Cosmos、Polkadot或者是Avalanche
開發的費用會更低,但是你將失去以太坊的生態,以及安全性。
自己開發一個Layer1區塊鏈
帶來的開發費用和難度很高,但是卻能擁有最高的控制權。
我們對比一下三種情況:
難度/費用:Alt-layer1>Rollup>Cosmos
安全性:Rollup>Cosmos>Alt-layer1
生態/用戶:Rollup>Cosmos>Alt-layer1
控制權:Alt-layer1>Cosmos>Rollup
作為一個dApp的開發者,如果想繼承以太坊上的安全性和流量,那就不能重新開發一條鏈,那只能選擇rollup。但是自己開發一個layer2rollup又非常貴,那么合適的解決方案就變成了利用layer3SDK開發一個自己的應用專用的Rollup,即Layer3。
四、Layer2的未來發展
由于以太坊是基于賬戶模型設計的,所有的用戶均處在一整個狀態樹內,因此無法進行并行,因此以太坊本身的桎梏就讓其需要剝離執行操作,將rollup的多筆交易合成為一筆交易,作為結算層的存在。現在所有的問題就集中在layer2的吞吐量的提升上。不僅僅是用Layer3可以提高交易的吞吐量,還有在Layer2上實行并行處理,也可以極大提高整個網絡的吞吐量。
并行化問題starknet也在積極探索,雖然目前證明算法仍然是桎梏,但是預計未來將不會成為阻力。潛在的瓶頸包括:
排序器tx處理:一些排序器的工作似乎天生就是串行的。
帶寬:多個排序器之間的互連將受到限制。
L2狀態大小
在starknet社區中,成員也提出了?aptos的并行處理方式非常不錯。就Starknet而言,目前也在推進排序器內部tx并行排序的能力。
五、總結
以太坊正在將執行層剝離,所有的行為都朝著其“全球”結算層愿景的方向前進。目前整個以太坊雖然進度緩慢,也就是由于其整體過于龐大,每次更新都牽扯了許多利益與權衡。但不可否認的是,以太坊正在經歷重大變革,以太坊大量的鏈上活動、經濟機制改進以及以太坊2.0可擴展性,其引領的創新ICO、Defi、NFT等很多東西值得以太坊社區興奮與期待。相信伴隨著越來越多國家部署以太坊的節點,比如阿根廷首都政府計劃在2023年部署以太坊驗證節點,在不久的將來,以太坊真的能夠實現其宏偉愿景。
原文作者:Hakeen,W3.Hitchhiker
原文編輯:Evelyn,W3.Hitchhiker
來源:星球日報
Tags:以太坊ROLROLLLAYER以太坊硬幣TROLLERTROLL價格Monster Slayer Finance
作者:ChenglinPuaWeb3在近期得到了許多人的關注,眾多企業紛紛布局。除了企業之外,城市之間也展開競爭。例如香港近期就對外宣布將會競爭成為全球虛擬數字資產的中心.
1900/1/1 0:00:00從PC互聯網時代、移動互聯網時代和產業互聯網時代。在互聯網大潮發展過程中,騰訊先后提出了“在線生活戰略”、“連接一切戰略”和“C端到B端轉型戰略”,每次戰略的調整總會伴隨組織和業務架構的調整,以.
1900/1/1 0:00:00撰文:油醋 2021年3月的一場宣講中,亞馬遜中國區總裁張文翊喊出AWS中國業務「三駕馬車」戰略:中國本土客戶、外企的中國業務以及中國出海業務三者齊頭并進,是AWS在中國的發展根本.
1900/1/1 0:00:00原文:《CryptoInsurance:ABlueOcean》bySox,Web3.comVentures 翻譯:李科 目前,加密保險行業只提供鏈上資產安全風險的承保.
1900/1/1 0:00:00頭條 ▌?Binance:根據盡職調查結果決定放棄收購FTX11月10日消息,Binance官方發文表示,根據公司盡職調查的結果,以及有關不當處理客戶資金和所謂美國機構調查的最新新聞報道.
1900/1/1 0:00:00DeFi數據 1、DeFi代幣總市值:375.17億美元 DeFi總市值及前十代幣數據來源:coingecko2、過去24小時去中心化交易所的交易量23.
1900/1/1 0:00:00