來源:vitalik.ca
作者:Vitalik Buterin
特別感謝 Georgios Konstantopoulos、Karl Floersch 以及 Starkware 團隊的反饋和校對。
在 L2 擴容探討中經常會出現的話題是「layer3(L3)」這個概念。如果我們可以構建一個錨定 L1 安全性并在其之上增加可擴展性的 L2 協議,那么我們也一定可以構建一個錨定于 L2 安全性并在其之上增加更多可擴展性的 L3 協議,以此實現更多擴容?
簡要地說,這種觀點是這樣的:如果你擁有一個能夠讓你進行二次方擴容的方案,那你可以將這個方案構建在它自己之上,然后達到指數級的擴容嗎?
我在自己 2015 年的可擴展性論文、Plasma 論文中的多層擴容想法等地方都講到了類似的觀點。不幸的是,這種關于 L3 的簡單構思并不能像上述觀點那樣輕易實現。
這種方案的設計中總是會有一些無法直接堆疊的東西,只能在可擴展性上帶來一次提升 —— 因為數據可用性的限制,緊急提款依賴于 L1 寬帶等多種問題。
如 Starkware 提議的框架等較新的關于 L3 觀點變得更復雜:這些 L3 方案不只是在自己的網絡之上堆棧疊相同的方案,而是為 L2 和 L3 分配不同的用途。這種方法的一些形式可能會是好主意 —— 如果它能夠以正確的方式實現。本文將會詳細介紹在三層架構下哪些可能有意義,而哪些可能無意義。
為什么無法通過將 rollup 堆疊在 rollup 之上一直擴容
rollup 是結合各種技術解決區塊鏈運行中兩大主要擴展瓶頸的擴容技術:計算和數據。計算可以通過欺詐證明或是 SNARK 解決,兩種方式依賴于很少的行動者就能對每個區塊進行處理和驗證,只需要其他參與者運行一小部分的計算來檢查證明過程是否正確完成了。
這些方案尤其是 SNARK 幾乎可以無限地擴展,你真的就可以通過保持構建「在一個 SNARK 證明之上構建多個 SNARK 證明」,為單個證明擴展更多算力。
VitalikButerin等人發布Ethereum“賬戶抽象”提案ERC4337:9月29日,Ethereum創始人Vitalik Buterin聯合KristofGazso、yoav.eth、DrorTirosh、NamraPatel、TomaszK.Stanczak等人發布賬戶抽象提案ERC4337,可在不改變以太坊共識層協議的情況下實現驗證邏輯,該提案的開發者內測版本將于近期上線。
注:“賬戶抽象”是以太坊社區中討論的改進提案之一,以實現交易不需要從私鑰控制的EOA賬戶發起,而是可以直接從智能合約發起,具體的用例包括智能合約錢包、Tornado.Cash這類隱私保護工具等。[2021/9/29 17:15:22]
數據則不同。rollup 使用許多壓縮技巧來減少一筆交易在鏈上存儲所需的數據量:一筆簡單的貨幣轉賬從大約 100 字節減至大約 16 字節,兼容 EVM 的鏈上的一筆 ERC-20 代幣轉賬從大約 180 字節減至 23 字節左右,而一筆保護隱私的 ZK-SNARK 交易可以從 600 字節左右壓縮至 80 字節左右。
基本所有情況下的數據都能壓縮至原來的 1/8。但是,rollup 還是需要在某一中介上讓數據具有鏈上可用性,保證用戶能夠進行訪問和驗證,因此,用戶可以自主地計算 rollup 的狀態,并在現有證明生成者下線的情況下作為證明生成者加入證明過程。
數據只能壓縮一次,無法再次壓縮 —— 如果數據可以再次壓縮,那么通常有一種方式將第二個壓縮器的邏輯放入第一個的邏輯中,只要壓縮一次就能讓第二個壓縮器或跟第一個壓縮器相同的效果。所以說,事實上「在 rollup 之上構建 rollup」并不能在可擴展性方面提供巨大的收益 —— 不過,這種模式可以用于其他的用途,正如下面我們將看到的一樣。
所以「合理的」L3 版本是什么樣的?
好吧,讓我們一起看看 StarkWare 在關于 L3 的文章中倡導的是什么。StarkWare 團隊由非常聰明且實際上理智的加密學家所組成,所以如果他們倡導 L3,那么他們的觀點會比「如果 rollup 的數據壓縮至 1/8,那么很明顯,構建于 rollup 之上的 rollup 會將數據壓縮為原來的 1/64」的觀點更為復雜。
VitalikButerin提議使用Flashbots系統實現“賬戶抽象”:3月11日消息,以太坊聯合創始人 Vitalik Buterin 在研究機構 Flashbots 的 GitHub 倉庫中提議利用 Flashbots 作為“賬戶抽象”的一種實現方式。“賬戶抽象”是以太坊社區中討論的改進提案之一,以實現交易不需要從私鑰控制的 EOA 賬戶發起,而是可以直接從智能合約發起,具體的用例包括智能合約錢包、Tornado.Cash 這類隱私保護工具等。Vitalik Buterin 認為 Flashbots 可以解決這個問題,通過搭建一個插件將其變成智能合約錢包的中繼器以實現。他表示該方案不需要對以太坊底層協議進行很多改動。
Flashbots是由五位區塊鏈行業人士發起成立的開放研究機構,旨在針對以太坊及各智能合約公鏈所面對的 MEV 問題進行研究,并實施解決方案。[2021/3/11 18:35:51]
這是 StarkWare 文章中的圖表:
以下是一些引用:
第一張示例圖中描述了這樣一種生態系統的例子,其 L3 包括:
使用 Validium 數據可用性方案的 StarkNet,比如,為定價上具有極度敏感性的應用程序提供多種用途。
應用專用型 StarkNet 系統可以定制更好的應用程序性能,比如,通過采用指定的存儲結構或數據可用性壓縮方式。
使用 Validium 或 Rollup 數據可用性解決方案的 StarkEx 系統(比如那些服務于 dYdX、Sorare、Immutable 和 DeversiFi 的系統),會很快地為 StarkNet 帶來經過長期考驗的可擴展性效果。
隱私 StarkNet 的例子(在這個例子中也作為 L4)可以在不將交易打包至公共 StarkNet 的情況下進行隱私保護交易。
Gravitation-X創始人Jakies:數字支付可有效解決跨境支付難題:Gravitation-X創始人Jakies在剛剛的金色財經直播間中表示:目前,傳統的跨境支付方式有較長的清算時間,手續費較高,有時跨境支付欺詐會帶來跨境資金風險。通過Gravitation-X技術創建點對點支付方式,促進跨境業務發展。會大幅度提高效率。[2020/5/2]
我們可以將這篇文章壓縮為「L3s」的三個愿景:
L2 用于擴容,L3 用于定制功能,如隱私。這個愿景的 L3 無意于提供「可擴展性平方」;不如說,會有一層堆棧幫助應用程序進行擴展,然后還有一些獨立的堆棧層用于滿足不同用例定制功能的需求。
L2 用于通用型擴容,L3 用于定制型擴容。定制型擴容可能會有不同的形式:專用型應用可以使用 EVM 以外其他虛擬機來進行計算, rollup 的數據壓縮也會圍繞定制型應用程序的數據結構進行優化(包括將「數據」從「證明」中分離出來,并使用每個區塊中的單個 SNARK 完全替換掉這個區塊中所有的交易證明)。
L2 用于去信任擴容(如 rollup),L3 用于弱信任擴容(如 Validium)。Validiums 指使用 SNARK 驗證計算結果的系統,但是它將數據可用性放在了受信任的第三方或委員會處。在我看來,Validium 被大大低估了:尤其是,運行 Validium 證明生成器并定期提交哈希上鏈的中心化服務器也許真的可以很好地服務于許多「企業區塊鏈」應用程序。Validium 的安全性指數比 rollup 低,但是相較之下便宜很多。
在我看來,這三種愿景本質上是合理的。「專用型 / 定制型數據壓縮服務需要有自己的平臺」的想法可能是所有主張中最不能令人信服的 —— 設計一個通用型基礎層壓縮方案 L2 很容易,因為用戶可以使用應用專用型的子壓縮器進行擴展 —— 而除此之外的用例都是合理的。
但這還是留下了很大的疑問:三層結構是實現這些目標的正確方式嗎?將 Validium、隱私系統和定制型環境錨定 L2 而不僅僅錨定 L1 的意義在哪?這個疑問的答案很復雜。
Vitalik Buterin與泰國證監會進行討論:Omise創始人發推文稱,以太坊網絡創始人Vitalik Buterin(V神)與泰國證監會進行了“卓有成效”的討論。此外據CCN,V神與泰國證監會的討論涉及自己的平臺和OmiseGo代幣。[2018/2/23]
哪一個更好?
存款和提款在 L2 的子樹(sub-tree)中會變得更便宜、更容易嗎?
這種三層模型優于兩層模型的一個論證可能是:三層模型允許整個子生態系統存在于單個 rollup 中,這讓生態系統內的跨域操作可以非常便宜地進行,不需要經由昂貴的 L1。
但事實證明,即使是向同一個 L1 提交數據的兩個 L2(甚至 L3)之間,存款和提款也可以很便宜!關鍵是要意識到,代幣和其他資產不一定非得在底部鏈中發行。換句話說,你可以在 Arbitrum 上持有一種 ERC20 代幣,然后在 Optimism 上創建它的封裝合約,并在兩者之間來回轉移資產而無需創建任何 L1 交易!
讓我們來看看這樣一個系統如何進行運作。現在有兩種智能合約:Arbitrum 上的基礎合約和 Optimism 上的代幣封裝合約。要從 Arbitrum 轉移資產到 Optimism,你需要將代幣發送到基礎合約,這會生成一個收據。一旦 Arbitrum 敲定了這筆交易,你就可以獲取該收據的 Merkle 證明,它植根于 L1 狀態,并將其發送到 Optimism 上的代幣封裝合約中。封裝合約會對它進行驗證并向你發放封裝代幣。要將代幣往回轉移的話,則可以反向執行相同的操作。
盡管證明 Arbitrum 存款所需的 Merkle 路徑會檢查 L1 的狀態,但 Optimism 只需要讀取 L1 狀態根以處理存款 —— 不需要創建 L1 交易。請注意,由于 rollup 數據是最稀缺的資源,所以此類方案的可行實現將是使用 SNARK 或 KZG 證明以節省空間,而不是直接使用 Merkle 證明。
Vitalik Buterin再次為ICO發聲:本周,以太坊聯合創始人之一Vitalik Buterin針對目前的ICO熱再度發聲,明確表示反對ICO項目中惡意炒作和虛假宣傳導致的哄抬價格的行為。[2017/11/22]
對比根植于 L1 的代幣,這種方案有一個關鍵的弱點,至少在 optimistic rollup 上有這樣的問題:存款也需要等待欺詐證明的窗口期到來。如果代幣是在 L1 上的,那么從 Arbitrum 或 Optimism 上往 L1 的提款則需要一周的延遲時間,而存款則是即時的。
然而,這種方案中的存款和提款都需要一周時間。也就是說,尚不清楚 optimistic rollup 上三層架構是否會更好:因為要確保欺詐證明博弈會在一個自己運行欺詐證明機制的系統內安全地進行,這存在很多技術上的復雜性。
幸運的是,這些問題都不會在 ZK rollup 上出現。出于安全方面的原因,ZK rollup 不會要求一周時長的等待窗口,但他們確實還會有較短窗口期的要求(第一代技術可能需要 12 個小時的等待期)。
原因有二,首先,特別是更復雜的通用型 ZK-EVM rollup 需要較長的時間來囊括區塊證明過程中的不可并行計算時間;其次,這其中還有經濟考量:需要不那么頻繁地提交證明以最大程度減少證明交易相關的固定開銷。包括專用型硬件在內的下一代 ZK-EVM 技術將會解決上述的第一個問題,而架構更好的 batch 驗證技術可以解決第二個問題。這其實是我們接下來會討論的優化和批量提交證明的問題。
rollup 和 validium 的確認期 vs. 固定開銷權衡。L3 們可以幫忙解決這個問題,但還有哪些方案可以幫忙解決?
rollup 每筆交易的開銷很便宜:只有 16 – 60 字節的數據,這取決于所使用的應用程序。但是 rollup 也必須在每次提交一個 batch 的交易至鏈上時支出一筆高昂的固定開銷:optimistic rollup 的每 batch 要支付 21000 L1 gas,而 ZK rollup 則要支付 400,000 gas 以上(如果你只想使用 STARK 這種量子安全的技術,可能會需要支付上百萬 gas)。
當然,rollup 可以選擇等著,直到有了價值 1 千萬 gas 的 L2 交易再打包提交 batch ,但這會讓 rollup 的 batch 間隔變得很長,迫使用戶在獲得高安全性確認之前等待更長的時間。因此,它們會有權衡:長時間的 batch 間隔和最優開銷,或者說較短的 batch 間隔和大大增加的開銷。
為了給出一些具體的數據,讓我們一起探討這樣一個 ZK rollup:它每 batch 開銷 600,000 gas,能處理完全優化過的 ERC-20 轉賬(23 字節),每筆交易會花費 368 gas。假設這種 rollup 在采用的早期和中期階段的平均每秒交易(TPS)為 5 筆。我們可以計算它的每筆交易的 gas vs. batch 間隔:
如果我們進入一個有著許多定制型 validium 和應用專用型環境的系統,那么它們中的大多數都不會處理超過 5 TPS。所以,在確認時間和開銷之間的權衡開始變得至關重要。而實際上,「L3」范式確實可以解決權衡上的問題!就算是以簡單的方式實現,一個 ZK rollup 套著另一個 ZK rollup 的方案也大約會有僅 8000 L1 gas 左右的固定開銷(證明占 500 字節)。這就將上面的表格改為:
開銷的問題基本上都解決了。那么,L3 是不是有益的?可能吧。但值得注意的是,還有一種可以解決這個問題的方法,這個方法受到了 ERC 4337 聚合驗證的啟發。
其對策如下。現在,如果每一個 ZK rollup 或 validium 收到了證明 S new=STF(S old,D) 的證明,即新的狀態肯定是正確處理了交易數據或舊狀態根上狀態變換的結果,那它們就會接收狀態根。
在這個新的方案中,ZK rollup 會從 batch 驗證器合約處接收消息,這個消息用于告知該驗證器已驗證了一個包含聲明的 batch 證明,其中的每個聲明都是 S new=STF(S old,D) 的形式。該 batch 證明可以通過遞歸 SNARK 方案或是 Halo 聚合進行構造。
這是一個開放協議:任何 ZK-rollup 都可以加入,任何 batch 的證明生成者都可以從任何兼容的 ZK-rollup 中聚合證明,并從聚合器處獲得交易費的補償。batch 處理器合約會驗證一次證明,接著將包含該 rollup $(S_{old},S_{new},D)$ 三元組(triple)的消息傳遞至每一個 rollup;三元組來自 batch 處理器合約的事實會是交易有效性的證據。
如果優化得不錯,那么這個方案中每個 rollup 的開銷則將近 8000 gas:5000 用于寫入新添加的更新狀態,1280 用于舊狀態根和新狀態根,還有剩下的 1720 用于有效利用各種數據。所以說,這種方案也能節省開銷。
StarkWare 實際上已經有了類似的方案,叫做 SHARP,盡管它還不是一個無需許可的開放協議。
對于這類方法的反應可能會是:但這不就是另一種 L3 方案嗎?比起 base layer 總結:實際上什么是「層」?
在其自身網絡之上的堆疊相同擴容方案的三層擴容架構通常無法很好地運作。構建于 rollup 之上的 rollup,這兩層 rollup 當然不會使用相同的技術。
但是,可以使用第二層和第三層具有不同用途的三層架構。構建于 rollup 之上的 Validium 確實是有意義的,即使無法確定它們是否會是長期的最佳運作方式。
然而,一旦開始深入了解哪種架構有意義,我們就會陷入哲學問題:什么是「層」,什么不是?base layer 以太坊區塊鏈的安全性
所以,optimistic rollup 和 ZK rollup 是 L2,但是 validium、證明聚合方案、ERC-4337、鏈上隱私系統和 Solidity 則屬于其他方案。可能把這些方案中的一部分稱為 L3 是說得通的,但也許不能全都稱作 L3;任何情況下,在多 rollup 生態系統的架構確定下來之前就為其下定義可能為時過早了,而大部分討論也只是在理論上。
也就是說,語言上的爭論遠不如「哪個結構實際上最有意義」這種技術問題來得重要。顯然,服務于隱私等非擴容需求的某種「層」可以發揮重要作用,并且顯然需要以某種方式填補重要的證明聚合功能,最好由開放協議來填充這個位置。
但與此同時,我們有充分的技術理由,讓連接著面向用戶的環境和 L1 之間的中間層盡可能變得簡便;在許多情況下,將「粘合層」作為 EVM rollup 可能不是正確的運作方法。隨著 L2 擴容生態系統的成熟,我猜本文中描述的更復雜(和更簡單)的結構將開始發揮更大的作用。
ETH中文網
媒體專欄
閱讀更多
TalentDAO
金色早8點
元宇宙之心
Bress
Odaily星球日報
hellobtc
參考消息網
區塊律動BlockBeats
PANews
文章作者:Bill Hughes & ConsenSys 的高級法律顧問兼全球監管事務總監文章編譯:Block unicorn如果我們把加密貨幣看作是兩個生態系統而不是一個.
1900/1/1 0:00:00DeFi數據 1、DeFi代幣總市值:378.46億美元 DeFi總市值及前十代幣 數據來源:coingecko2、過去24小時去中心化交易所的交易量39.
1900/1/1 0:00:00作者:VenturePunk 來源:substack 和許多加密推特用戶一樣,我上周花了太多時間觀看FTX新聞。我一直在關注揭露的信息,對有關公司文化的披露翻白眼.
1900/1/1 0:00:00撰文: 宋嘉吉、任鶴義 來源:吉時通信 摘要:上一篇報告從底層語言特點,對比了 Move 和 Solidity(以太坊)的優勢和特點.
1900/1/1 0:00:00圖片來源:由無界版圖AI工具生成 該來的還是來了。 在裁員的消息已經醞釀了一整個周末之后,馬克·扎克伯格終于美國時間在周三 11 月 9 日早上,正式宣布了 Meta 裁員的消息:這是 Meta.
1900/1/1 0:00:00撰文:Sectio Divina編譯:aididiaojp.eth,Foresight News「這個項目現在已經有 1 億美元市值了.
1900/1/1 0:00:00