買以太坊 買以太坊
Ctrl+D 買以太坊
ads
首頁 > BNB > Info

ROLL:入門指南:zkEVM、EVM 兼容性和 Rollup 最全解讀_ARK

Author:

Time:1900/1/1 0:00:00

ZK Rollups 長期以來一直被認為是以太坊擴容的終極目標。然而,盡管它們對以太坊擴展路線圖很重要,但幾個關鍵點仍然存在廣泛的不確定性:

ZK Rollup 到底是什么?

特定于應用程序的 Rollup 和通用 Rollup 之間有什么區別?

什么是 zk-EVM Rollup?像 EVM 等效和 EVM 兼容這樣的術語實際上是什么意思,它們如何應用于 Rollup?

ZK Rollup 生態系統的現狀如何,這對生態項目意味著什么?

如果您是一名希望了解以太坊擴展的下一階段的開發人員,本文將(希望)有所幫助。

ZK Rollups 可以通過一個簡單的觀察來實現:像 STARK 或 SNARK 這樣的證明系統允許使用亞線性處理來驗證線性數量的語句(例如,1000 條語句 → 10 次驗證者檢查,10,000 條語句 → 11 次驗證者檢查)。我們可以使用此屬性來創建可大規模擴展的區塊鏈交易處理,如下所示:

用戶將他們的資產鎖定在 L1 上的 ZK Rollup 智能合約中

用戶將涉及這些資產的交易提交給 L2 排序器,后者將它們收集到有序批次中,并為每個批次生成有效性證明(例如 STARK/SNARK)和聚合狀態更新

這個狀態更新和證明被提交到我們的 L1 ZK Rollup 智能合約并被驗證,并用于更新我們的 L1 狀態

用戶可以使用這種 L1 狀態(取決于不同的數據可用性機制)來檢索他們的資產,從而實現完全的自我托管和“以太坊安全”

簡化的 ZK Rollup 架構

驗證證明的 gas 成本與被證明的交易數量呈次線性關系,與直接使用 L1 相比,可以實現更大的規模。為了更詳細地了解這個過程,我推薦 Vitalik 的《不完全 Rollup 指南》或 Delphi 新發布的《完整 Rollup 指南》。

到目前為止,所有生產級 ZK Rollup 都是我們所說的“特定于應用程序的 Rollup”。在特定于應用程序的 Rollup 中,Rollup 支持由 Rollup 運營方定義的固定數量的“狀態轉換”(例如交易)。這對于超優化常見用例非常有用,例如:

Loopring—支付和 Swap

Immutable—NFT 鑄幣和交易、游戲

dydx—永續交易

特定于應用程序的 Rollup 非常適合擴展特定的、易于理解的問題。如果您作為項目的需求可以通過特定于應用程序的 Rollup 來滿足,那么您可能會為您的用例獲得更好的性能、更好的用戶體驗和更好的定價,因為它們缺乏泛化性是一個巨大的優勢。例如,在 Immutable,我們能夠通過補貼免費的 NFT 鑄造和通過 NFT 交易收費的轉賬來消除 gas 費用——這種權衡只有在 rollup 狀態轉換的可預測性質下才有可能。

但是,許多項目希望能夠創建自己的自定義邏輯和智能合約,獨立于 rollup 運營方,這在特定于應用程序的 rollup 中是不可能的。此外,許多 DeFi 項目需要“可組合性”,或與其他項目進行原子交互的能力(例如,許多 DeFi 項目使用 Uniswap 作為價格預言機)。只有當您的 rollup 不僅支持自定義代碼,而且支持任何用戶可以部署的本機智能合約時,組合性才是可能的。為了實現這一點,我們需要修改 ZK Rollup 的架構以概括我們的每個組件。

Offchain Labs發布Arbitrum Orbit開發工具和快速入門指南:6月22日消息,Arbitrum開發團隊Offchain Labs發布Arbitrum Orbit開發工具,旨在幫助開發人員在L3區塊鏈Arbitrum Orbit上更輕松地進行開發,并管理自己的Arbitrum Rollup和Any Trust鏈。此外,Offchain Labs還提供了快速入門指南和Orbit DevNet鏈上工具,后續將發布測試網和主網指南。[2023/6/22 21:53:51]

這種增加的靈活性有幾個妥協:性能大大降低,rollup 參數的可定制性降低以及費用更高。然而,最大的妥協是根本沒有通用 ZK Rollups 的實現,當然也沒有能夠生產級的實現。但這種情況開始改變:

StarkNet 目前已經在主網上運行(盡管處于有限的 Alpha 階段)

3 個獨立的項目(zkSync、Polygon Hermez/zkEVM 和 Scroll)都在 ETH CC 2022 上宣布它們將成為第一個進入主網的“zkEVM”

這些最新的公告值得深入研究,因為這些團隊不僅宣布了通用 Rollup,他們還宣布了“zkEVM”。隨之而來的是推特上許多圍繞“EVM 兼容性”、“EVM 等效性”、“真正的 zkEVM”以及哪種方法更好的爭論。對于應用開發人員來說,這些對話通常是噪音——因此本博客的目的是分解這些術語、設計決策和理念,并解釋它們對開發人員的實際影響。

讓我們從頭開始:什么是 EVM?

以太坊虛擬機(EVM)是執行以太坊交易的運行時環境,最初在以太坊黃皮書中定義,后來被一系列以太坊改進提案(EIP)修改。它由以下部分組成:

用于執行程序的標準“機器”,每個交易具有易失性“內存”,交易可以寫入的持久“存儲”和操作“堆棧”

在這臺機器中執行狀態轉換的約 140 個定價“操作碼”

我們的虛擬機的一些示例操作碼:

堆棧操作 - PUSH1(向堆棧添加一些內容)

算術運算 - ADD(加數字),SUBTRACT

狀態操作——SSTORE(存儲數據),SLOAD(加載數據)

交易操作——CALLDATA、BLOCKNUMBER(返回有關當前執行事務的信息)

一個 EVM 程序只是一系列這些操作碼和參數。當這些程序被表示為一個連續的代碼塊時,我們將結果稱為“字節碼”(通常表示為一個長的十六進制字符串)。

通過將大量這些操作碼組合成一個執行序列,我們可以創建任意程序。以太坊使用自定義虛擬機,而不是調整現有的 VM,因為它有獨特的需求:

每個操作都必須有“成本”以防止濫用(因為所有節點都運行所有交易)

每個操作都必須是確定性的(因為所有節點必須在交易執行后就狀態達成一致)

我們需要特定于區塊鏈的概念(例如智能合約、交易)

一些復雜的操作必須是原語(例如密碼學)

交易必須是在沙盒里的,沒有 I/O 或外部狀態訪問

Gamefi玩家社交平臺LAPLAP將對非洲地區青少年推出Web3入門免費課程:1月15日,Gamefi玩家社交平臺LAPLAP的部分社區成員接受尼日利亞媒體DiutoCoinNews訪談,表示Gamefi的核心是去中心化的玩家關系,是他們在游戲過程中凝聚起來的堅固網絡。為此LAPLAP將與全球教育機構合作對東南亞和非洲地區的青少年推出合適的Web3入門免費課程,從構建Gamefi流量和Web3社區開始,通過Pb2E和SubDAOs推動新一代游戲文化的形成,助力游戲的再次變革。據了解,LAPLAP新產品將于2022年Q1上線。[2022/1/17 8:54:24]

EVM 是第一個圖靈完備的區塊鏈 VM,于 2015 年發布。它有一些設計限制,但其巨大的先發優勢和隨后的廣泛采用為以太坊創造了巨大的差異化——它是迄今為止最久經考驗的區塊鏈虛擬機。它是整個領域的智能合約基礎設施。

由于以太坊的主導地位,很多后來的區塊鏈都直接采用了這種運行時環境。例如,Polygon 和 BNBChain 是以太坊的直接分叉,因此使用 EVM。值得注意的是,EVM 并非一成不變,并且在 EIP1559 等升級中經常被修改。由于其他區塊鏈需要時間進行更新,或者在多個地方與以太坊有所不同,它們通常運行著稍微過時的 EVM 版本,并且難以跟上變化的步伐——這一事實可能會讓以太坊的核心開發人員感到沮喪。

然而,人們所說的“EVM 鏈”通常不僅僅只是鏡像這個運行時環境。有幾個主要規范始于以太坊并已成為事實上的全球標準:

Solidity(一種編譯成 EVM 字節碼的高級語言)

以太坊的 JSON-RPC 客戶端 API(與以太坊節點交互的規范)

ERC20/ERC721(以太坊代幣標準)

ethers.JS(一個與以太坊接口的網絡庫)

以太坊的密碼學(例如 keccak256 作為哈希函數,對 secp256 k1 的 ECDSA 簽名)

從技術上講,您的鏈可以具有一個 EVM 運行時但不支持上述部分或全部標準。然而,遵守這些標準使得在你的新鏈上使用以太坊工具變得更加容易。一個很好的例子是 Polygon,它除了使用上述所有工具外,還能夠運行 Etherscan (Polygonscan) 的分叉版本,使用 Hardhat 等以太坊開發工具,并支持 Metamask 等錢包。Nansen 和 Dune 等工具最初都針對以太坊,因此添加對新 EVM 區塊鏈的支持。新錢包,新 NFT 市場——如果以太坊界面和你的鏈界面之間的唯一區別是鏈 ID,那么你可能是第一個也是最容易添加的。話雖如此,這些工具是為以太坊構建的——一旦你開始修改你的區塊鏈(例如更大的區塊,更快的區塊時間),你就有破壞它們的風險。沒有完美的兼容性。

盡管如此,針對以太坊規范的工具和應用程序的數量為新的區塊鏈僅反映以太坊標準創造了巨大的動力。任何不支持上述規范的區塊鏈在開發人員工具方面都會自動落后,并且隨著 EVM 生態系統的發展,有進一步落后的風險。

我的信念是,“EVM 兼容”一詞實際上不足以描述這里描述的網絡效應——我們實際描述的是“以太坊兼容性”,并且遠遠超出了智能合約執行環境,延伸到了整個以太坊生態系統和工具集。

為了解決這個問題,像 Solana 這樣的非 EVM 區塊鏈必須創建完全平行的生態系統,這會降低它們的速度,并且更難吸引現有的開發人員。然而,不需要遵守這些標準確實使非 EVM 區塊鏈能夠對以太坊工具集進行更根本的更改,從而更積極地與以太坊區分開來。創建 EVM 區塊鏈非常簡單——但為什么有人會使用你的區塊鏈而不是數百個其他“快速 EVM 區塊鏈”之一。如果你能克服需要建立一個成功的平行鏈和生態系統的困難,Solana 已經證明:a)你可以吸引出色的原生應用程序(例如 MagicEden、Phantom)和 b)如果商業激勵足夠,源自 EVM 的項目仍將支持您(例如 Opensea 添加 Solana 支持)。

動態 | Crypto投資集團發布比特幣現金入門介紹:密碼投資公司Grayscale剛剛發布了《比特幣現金介紹》,為那些可能還不熟悉BCH,或者只是想復習一下2017年8月1日從Bitcoin Core上分出來的比特幣的基礎知識。新發布的文件《比特幣現金介紹》(An Introduction to Bitcoin Cash)是一份14頁的比特幣現金代幣概述,內容包括比特幣的歷史、定義特征、BCH和BTC的區別、BTC的優勢和潛在劣勢等。報告導言指出:比特幣現金是比特幣最成功的硬叉之一,和它的前身一樣,比特幣現金是一種去中心化的點對點(P2P)數字貨幣和支付網絡,由開源的區塊鏈協議支持。Grayscale Investments是密碼領域的知名公司,創建并管理著數十億的加密貨幣投資信托基金。(news.bitcoin)[2019/10/7]

公共通用 rollup 都有一個共同目標:讓開發人員和用戶盡快生成網絡效應。這需要結合創造最高性能的 rollup 技術、擁有最好的 BD 團隊以及進行最早或最有效的營銷。但是,所有 rollup 團隊(出于上述原因)都非常關注:

將現有的以太坊合約(和開發人員)遷移到他們的 rollup 中

受到現有 EVM 工具(例如庫、錢包、市場等)的支持

實現這兩個目標的最簡單方法是創建一個“zkEVM”:一個通用 rollup,將 EVM 作為其智能合約引擎運行,并保持與以太坊生態系統通用接口的兼容性,如上所述。

然而,這并不像分叉 Geth 那樣容易,就像我們從頭開始創建新的 L1 區塊鏈時那樣容易。我們的目標是運行 EVM 字節碼——但 ZK 證明要求將它們證明的所有計算語句轉換為一種非常特定的格式——一種“代數電路”,然后可以將其編譯成 STARK 或 SNARK。為了快速了解“電路(circuit)”,這里有一個例子(使用更直觀的布爾電路作為算術電路的特例)。在基于這個簡單電路的 zkSNARK 系統中,我們的證明者希望讓驗證者相信他們知道輸入(?1 = 1,?2 = 1,?3= 0),這些輸入會產生真實的輸出。這是一個非常簡單的電路,具有有限數量的邏輯門——我相信你可以想象需要多少門來編碼一個證明復雜智能合約交互的電路,尤其是那些涉及密碼學的!

為了理解這個編譯過程的每一步,我推薦你閱讀 Vitalik 的《從入門到精通 SNARKs》,以及 Eli Ben-Sasson 對不同證明系統的討論。然而,對于我們的目的來說,這種更深入的理解并不是必需的——請記住,為了支持 EVM 計算,我們必須將所有 EVM 程序轉換為這些電路,以便以后可以證明它們。

從廣義上講,有幾種方法可以做到這一點:

通過將其轉換為可驗證的電路來直接證明 EVM 執行痕跡

創建一個自定義 VM,將 EVM 操作碼映射到該 VM 的操作碼,然后證明該自定義環境中跟蹤的正確性

創建自定義 VM,將 Solidity 轉換為自定義 VM 的字節碼(直接或通過自定義高級語言),并在自定義環境中進行驗證

讓我們從最直觀的開始:證明 EVM 執行痕跡本身,這是 Scroll 團隊(與以太坊基金會的隱私擴展團隊一起)目前正在研究的一種方法。為了完成這項工作,我們需要:

為一些密碼積累器設計一個電路(允許我們驗證我們正在準確地讀取存儲并加載正確的字節碼)

金色講堂第二期正式開講 EOS引力區創始人廖洋陽將對EOS入門及價值展望進行探討:5月10日晚八點,《金色講堂》第二期正式開講,全球最大EOS社群-EOS引力區創始人廖洋陽前來授課演講。針對當前火爆的EOS廖洋陽將對EOS入門及價值展望進行探討。本次課程將針對EOS是什么、EOS代幣有什么用、EOS的未來等方面,由淺至深對EOS進行全面解讀,讓學員全方面了解的EOS的來龍去脈。[2018/5/10]

設計一個電路來鏈接字節碼和真實的執行痕跡

為每個操作碼設計一個電路(允許我們證明每個操作碼的讀取、寫入和計算的正確性)

直接在電路中實現每個 EVM 操作碼具有挑戰性,但由于這種方法準確地反映了 EVM,因此它在可維護性和工具支持方面具有顯著優勢。下圖顯示了 Scroll 和以太坊之間唯一的理論區別是實際的運行環境。然而,值得注意的是,Scroll 目前并不通過這種機制支持所有 EVM 操作碼,盡管他們打算隨著時間的推移達到對等。

Optimism 團隊對此進行了精彩的討論,盡管是在 Optimistic Rollup 的背景下進行的。Optimism 最初創建了一個自定義的 Optimistic Virtual Machine (OVM) 作為其 Rollup 的執行環境。OVM 是“與以太坊兼容的”,這意味著它可以運行修改后的 Solidity 代碼,但幾個低級不匹配的領域意味著以太坊工具和復雜的代碼經常需要重寫。因此,Optimism 切換到“EVM 等效”,直接使用確切的 EVM 規范,并正在開發第一個等效于 EVM 的欺詐證明系統。然而,Optimistic Rollup 不需要擔心電路或證明者的效率——Optimism 的正確選擇可能不是我們 Rollup 的正確選擇。

不幸的是,EVM 的核心基礎設施并不適合 ZK Rollups。Rollup 性能的核心衡量標準是我們需要將特定計算編碼到電路中的“約束”的數量。在許多情況下,鏡像 EVM 會直接引入大量開銷。例如,EVM 使用 256 位整數,而 zk 證明在素數域上最自然地工作。引入范圍檢查以對抗不匹配的字段算術為每個 EVM 步驟增加了約 100 個約束。以太坊的存儲布局嚴重依賴 keccak256,其電路形式比 STARK 友好的哈希函數(例如 Poseidon、Pedersen)大 1000 倍——但替換 keccak 將對現有的以太坊基礎設施造成巨大的兼容性問題。此外,與 SNARK/STARK 友好的橢圓曲線相比,標準以太坊橢圓曲線上的簽名在證明和驗證方面非常昂貴。簡而言之,直接證明 EVM 會帶來巨大的計算開銷。雖然這里有一些最近的進展(例如多項式承諾、遞歸證明、硬件加速),但證明 EVM 痕跡總是比在定制設計的 VM 中證明效率低得多,至少在 EVM 本身做出改變以變得更高效之前對 SNARK 友好(可能需要幾年時間)。

這種認識促使團隊采用上述“與 EVM 兼容”的方法:創建具有優化性能的自定義 VM,然后將 EVM 字節碼直接轉換為 VM 的字節碼。

一個專注于這種方法的團隊是 Polygon Hermez(最近更名為 Polygon zkEVM)。Polygon 的方法是構建一個 zkEVM 是“操作碼級別的等效性”,這聽起來最初類似于 Scroll 采用的方法。然而,與 Scroll 不同的是,Polygon 的替代 runtime(“zkExecutor”)運行定制的“zkASM”操作碼而不是 EVM 操作碼來優化 EVM 解釋(即減少約束的數量與直接證明 EVM)。Hermez 團隊將此描述為“基于操作碼的方法”,因為核心挑戰是在他們的自定義 VM 中重新創建每個 EVM 操作碼(您可以在此處查看代碼),以便他們可以快速從 EVM 字節碼轉換為可驗證的格式。

火幣發布關于取消HADAX投資者準入門檻的公告:HADAX是火幣Pro推出的全新子品牌火幣自主數字資產交易所(Huobi Autonomous Digital Asset eXchange,簡稱HADAX)。成立之初,HADAX旨在服務于專業數字資產投資者及早期的創新型數字資產。由于早期的創新型數字資產投資風險較高,HADAX為了保護進入數字資產領域時間短投資經驗少的用戶而設置一定的投資者準入門檻,僅針對具有一定投資經驗的用戶開放。現在,經過5輪投票,三次變更規則,引入超級投票節點對項目進行初審,HADAX投票上幣社區化的規則日臻完善,通過去中心化機制也可以甄選出優質的項目。另一方面,隨著數字資產行業的發展,數字資產交易用戶的專業度和風險承受能力有了很大的提高。因此,HADAX決定即刻起取消HADAX的投資者準入門檻,火幣Pro的所有用戶均可以在HADAX交易。[2018/4/26]

這些中間步驟增加了用于維護和潛在錯誤的表面積,但對于啟用性能證明是必要的。最終,重要的是要清楚,您的程序不是在反映電路中 EVM 的 zkEVM 中運行,而是在替代的“zkExecutor”運行時中運行,這與 EVM 本身相似但不同。令人困惑的是,該團隊將其作為“zkEVM”和“EVM 等效”進行營銷——然而,由于這個自定義的 zkASM 解釋器,根據上面的 Optimism 定義,這個 Rollup 實際上是“EVM 兼容”。

因此,盡管大多數 Solidity 代碼可能能夠按原樣運行,但可能與在該系統上運行的現有 L1 應用程序和工具存在一些不兼容。Polygon 已聲明“與 100% 的現有以太坊工具”兼容,并致力于 JSON-RPC 合規性,他們在文檔中引用并在此處提供了實現。在實踐中,這種說法可能是有抱負的,并且依賴于以太坊本身的東西變得對 SNARK 更加友好。

Polygon 的方法產生了比 Scroll 更高性能的 Rollup(肯定是在短期內),但具有:

大量自定義代碼,因為我們需要創建 zkASM

開發人員可能需要修改其 L1 代碼或工具框架

隨著時間的推移,與以太坊的偏離可能會增加

上述解決方案在“使 EVM 為 ZK Rollups 工作”方面投入了大量的開發時間,將兼容性優先于長期性能和可擴展性。還有另一種選擇:創建一個全新的、專門構建的 VM,然后添加對以太坊工具的支持作為頂部的附加層。

這是 StarkWare 對 StarkNet 采用的方法,這是目前最先進的通用 rollup。StarkNet 使用自己的低級語言 (Cairo) 運行自定義智能合約 VM (Cairo VM),兩者都是為智能合約 rollup 而構建的。這意味著 StarkNet 沒有開箱即用以太坊兼容性——正如我們之前看到的,即使是操作碼級別的 VM 級別的兼容性也是對 Rollup 性能的潛在限制。

然而,Nethermind 團隊(與 StarkWare 合作)創建了 Warp 轉譯器,它能夠將任意 Solidity 代碼轉換為 Cairo VM 字節碼。Warp 的目標是使常見的 Solidity 合約可移植到 StarkNet——實現許多以太坊開發人員在“EVM 兼容性”方面的主要目標。然而,在實踐中,Warp 不支持一些 Solidity 功能,包括低級調用(可以在此處找到完整列表)。

這種構建智能合約 Rollup 的方法是保持“Solidity 兼容性”:你不是在 EVM 內執行程序,也不是保持與任何其他以太坊接口的兼容性,但 Solidity 開發人員將能夠編寫可用于你的 Rollup 的代碼。因此,您可以保持與以太坊類似的開發人員體驗,而不必損害 Rollup 的基本層。

然而,這種方法還有一些額外的妥協。首先是構建自己的 VM 具有挑戰性——以太坊團隊已經花了超過五年的時間來解決 EVM 的問題,并且仍然經常進行升級和修復。更自定義的 Rollup 將帶來更好的性能,但您將失去所有其他鏈和 Rollup 對 EVM 所做的集體改進的好處。

接下來,通過轉譯器支持 Solidity 可能會導致可組合性的損失——如果開發人員同時在 CAIRO 和 Solidity 中編寫合約,那么支持兩者之間接口的工具很可能會很脆弱。到目前為止,絕大多數 StarkNet 項目都直接使用了 CAIRO,它們可能不容易與未來的 Solidity 項目組合。最后,可能也是最重要的一點,StarkNet 團隊目前的目標不是與其他以太坊組件兼容——他們正在推出自己的客戶端 API、JavaScript 庫和錢包系統,這將迫使與以太坊兼容的工具手動添加對 StarkNet 的支持。這是極具挑戰性的,但并非不可能——如上所述,Solana 已經足夠成功,其自定義標準得到了一些以太坊工具的尊重,但將依賴 StarkWare 團隊吸引不介意重建的開發人員的能力。

然而,如果他們能夠成功地做到這一點,StarkWare 團隊將尋求復制 EVM 的先發優勢,并使用第一個針對 ZK Rollups 優化的智能合約 VM。

另一個采用這種策略的團隊是 zkSync。zkSync 創建了自己的 VM (SyncVM),它基于寄存器并定義了自己的代數中間表示 (AIR)。然后他們構建了一個專門的編譯器來將 Yul(一種中間語言,可以編譯為不同 EVM 版本的字節碼,認為是較低級別的 Solidity)編譯成 LLVM-IR,然后他們將其編譯成自定義 VM 的指令。這類似于 StarkWare 采用的方法,但理論上提供了圍繞基礎語言的更大靈活性(盡管目前僅支持 Solidity 0.8.x)。zkSync 團隊最初創建了他們自己的類 CAIRO 語言 (Zinc),但他們將大部分精力集中在 Solidity 編譯器上,以便為 L1 開發人員提供更簡單的遷移。一般來說,他們的策略是重用以太坊工具集而不是 StarkNet——我希望他們的客戶端 API 等也更加“與以太坊兼容”。

zkSync 利用這個自定義 VM 來提供非 EVM 兼容的功能,例如賬戶抽象,這一直是核心以太坊協議的目標。這是自定義 VM 提供的好處的一個很好的例子——你不必等待以太坊構建新功能!

將所有內容放在一起,您可以清楚地看到每個團隊遵循的不同策略:

Vitalik Buterin 關于 zkEVM 的博客強調了 Rollup 團隊目前面臨的基本困境:EVM 不是為“可驗證”程序構建的。事實上,正如我們通過上面的分析所表明的那樣,你尋求與以太坊的兼容性越強,你的“可驗證格式”程序的性能就會越差。Vitalik 根據與現有 EVM 基礎架構的兼容性程度,確定了通用 Rollup 的幾個大類:

我對他的論文的唯一擴展是指出,即使在每個“類型”中也存在很大程度的可變性——我們正在處理一個范圍,而不是完全細分的類別。從開發人員體驗的角度來看,對應用程序層進行單一、小的更改的 Type 3 rollup 比 Type 3 rollup 更常見,后者對應用程序層進行了大規模更改,但在技術上沒有引入新的 VM 并成為 Type 4。

鑒于理解上述內容所需的細節,難怪我們圍繞以太坊兼容性發明了一堆令人困惑的語言。事實上,沒有 zk-rollup 在所有情況下都完美地反映了 EVM 的行為——這只是程度問題,每個團隊做出的詳細選擇最終將最重要的是可維護性和性能,而不是僅兼容性。我的觀點是以下定義是最清晰和最一致的:

至關重要的是要理解,上述方法都不是天生優越的——它是一種分類,而不是等級。它們都做出了不同的妥協:更容易構建、維護和升級,更高效,更容易與現有工具兼容。最終,領先的 Rollup 也將取決于更好的分銷和營銷,而不是純粹的技術能力。話雖如此,做出正確的基本技術決策無疑具有重大優勢。Scroll 對 EVM 規范的熱心承諾是否能讓他們輕松響應任何 EVM 升級?另一個團隊更務實的方法會幫助他們更快地進入市場嗎?StarkWare 的定制 VM + 轉譯器方法是否會為長期擴展提供更堅實的基礎?另一支玩家最終會從這個領域的先行者無疑會犯的錯誤中吸取教訓并擊敗他們嗎?歸根結底,以太坊開發當前時刻的美妙之處在于,我們有不同的團隊以截然不同的方法朝著一個共同的目標前進。

但在我們得意忘形之前,對當前智能合約 Rollup 的準備情況保持清醒也是適當的。每個團隊都有強烈的動機將自己推銷為“即將接管世界”——但最早要到 2022 年底,以太坊上才會有“生產級”智能合約匯總,其中許多團隊將直到 2023 年才準備好。根據 StarkNet 的發展歷程,我們應該預計從 rollup 到達測試網開始至少需要一年的迭代,然后 rollup 才能準備好支持主網上一致的生產級數量。

由于這種不成熟的狀態,對于需要在不影響以太坊安全性的情況下進行擴展的開發人員來說,特定于應用程序的 Rollup 仍然是最強大的選擇。事實上,即使通用 Rollup 可用并得到更廣泛的集成,我預計在可預見的未來,應用特定 Rollup 的性能、定制和可靠性對于某些用例(例如交易所、NFT 鑄造/交易)仍將保持優勢。

盡管本文的主要關注點,但這并不是關于以太坊生態系統兼容性與性能的全部內容!還有許多其他因素會影響您是否應該在特定的通用 Rollup 上進行構建。我將建議幾個主要的附加標準:

費用:這些 Rollup 是否會以原生代幣、ETH 或兩者的某種復雜組合收取費用?費用結構對用戶和開發人員的體驗有巨大的影響,因為 Rollup 通常需要擁有費用代幣來支付計算費用。

證明和排序:所有 Rollup 都需要一個實體,該實體負責對交易進行排序和生成證明。今天大多數特定于應用程序的 Rollup 都是“單排序器”,它以彈性為代價產生更高的吞吐量。大多數通用 Rollup 最初是作為單個排序器 Rollup 開始的,但他們通常計劃隨著時間的推移分散這個排序器。

自托管:ZK Rollup 的核心承諾是能夠在保持以太坊安全的同時解鎖擴展。然而,許多通用 Rollup 目前沒有明確的機制來在發生惡意或不可用的排序器時恢復用戶資產。

數據可用性:如介紹中所述,自托管保證取決于故障情況下狀態數據的可用性。然而,完整的數據可用性為用戶帶來了額外的成本,從而導致了一系列數據可用性模式。這已經在特定于應用程序的 Rollup 世界(例如 Validiums、Volitions)中廣泛使用,但是每個通用 Rollup 都需要單獨添加此功能。

智能合約 Rollup 是以太坊擴展路線圖中令人難以置信的部分。這些 Rollup 在與現有以太坊工具集的關系中做出的不同妥協是對以太坊開發者生態系統多樣性的驚人證明。

然而,目前關于 EVM 兼容性的討論通常沒有抓住重點。從開發人員的角度來看,所有這些 Rollup 都將支持 Solidity 代碼。真正的以太坊兼容性是一個更大的挑戰,但實際上需要權衡取舍,開發人員在進行 Rollup 之前應該意識到這一點。目前,大多數 Rollup 項目都是大規模的“超前銷售”——銷售其能力的 3 年以上愿景,而不是今天(甚至 12 個月內)可能實現的目標,這可能會使情況變得非常混亂。

為了透明起見,我希望每個主要的 Rollup 團隊都能對以下問題提供更清晰的答案:

L1 和 L2 在 runtime 的確切差異是什么?L2 將修改哪些操作碼?與 L1 相比,其他任何 VM 特征(例如費用結構)是否會有所不同?

您的自定義 VM 的正式規范在哪里,它在哪里比其他選項性能更高/性能更低?

此 rollup 將對其他以太坊接口(例如客戶端 API、庫)進行多少更改,這是否將破壞以太坊工具?

此 rollup 何時在測試網上上線?在主網上?能夠支持 1000+ 定制合約 tps 的持續生產吞吐量嗎?

您預計何時支持對用戶資產的完全自我托管,在通用 rollup 的背景下會是什么樣子?

一旦這些 rollup 在測試網上發布,這些問題應該更容易回答。在那之前,我很樂意看到團隊繼續發布更多關于他們的解決方案將做出的確切權衡的技術細節,以及這將如何影響智能合約和工具開發人員等。

隨著合并即將到來,經過實戰考驗的特定應用程序 rollup 在生產中,以及通用 rollup 在明年進入主網,以太坊擴展的未來就是現在。

Tags:ROLROLL以太坊ARKROL幣AITROLLS以太坊幣最新價格行情分析Sparkle

BNB
BTC:反彈勢頭再遭當頭棒喝 等待階段ETC或有驚喜_MACH幣

主流幣種周末期間出現明顯回落,熱力圖覆蓋到的所有幣種在近兩個交易日內全線下跌,該時段內即使是跌幅最小的ETC也出現了超4%的階段跌幅,而階段領跌的BSV等幣種在周末兩天時間里跌逾13%.

1900/1/1 0:00:00
COM:互鏈脈搏聯合獵聘發布《2020年中國區塊鏈人才發展研究報告》_NFTMart Token

3月19日下午,由清華大學互聯網產業研究院指導,互鏈脈搏、獵聘聯合出品的《2020年中國區塊鏈人才發展研究報告》正式發布.

1900/1/1 0:00:00
AUD:盡管有“四大”銀行 Chrono Tech還是推出了澳元穩定幣_香港穩定幣叫什么

澳大利亞區塊鏈公司Chrono Tech在本月初推出與澳元(AUD)掛鉤的穩定幣的過程中,一直難以找到銀行合作伙伴.

1900/1/1 0:00:00
比特幣:比特幣Liquid 側鏈持有的 BTC 數量上超過公共閃電網絡渠道_比特幣

閃電網絡可能是改善比特幣網絡的項目中宣傳力度最大的一個。這個利用比特幣智能合約構建的第二層協議能夠實現更快、更便宜的支付,因為交易不必再記錄在緩慢且昂貴的比特幣主網上.

1900/1/1 0:00:00
區塊鏈:金色專訪 | Cobo 神魚:錢包行業尚未形成競爭格局_加密貨幣

成立于牛市,成長于熊市,兩年有余,Cobo已經成長為排名第三的加密貨幣錢包。近日,金色財經采訪了其創始人神魚,說一說錢包行業中的痛點.

1900/1/1 0:00:00
RIT:什么是輕客戶端?為什么你需要了解它_unisat軟件能不能買nft

輕客戶端是區塊鏈生態系統中的關鍵要素。它們幫助用戶以安全和去中心化的方式訪問并與區塊鏈交互,而無需同步整個區塊鏈。在本文中,我將用簡單的語言解釋什么是輕客戶端,什么不是,以及它從何而來.

1900/1/1 0:00:00
ads