Validity Rollups:以太坊擴容的最佳方案及其爭議

robot
摘要生成中

Validity Rollups: 以太坊擴容的最佳選擇

Validity Rollups(也稱爲zk-rollups)被認爲是以安全和去中心化方式提升以太坊處理能力的最有前景的解決方案。這種擴容方案的核心在於使用有效性證明進行可驗證計算。其工作原理如下:

運營商將交易處理轉移到鏈下環境(稱爲第2層),而不是在以太坊主網上處理每筆交易。在處理大量交易後,第2層操作員將結果返回以應用於以太坊狀態,同時提供驗證鏈下執行完整性的有效性證明。這個證明保證了批次中所有交易的有效性,並由鏈上驗證者合約自動驗證。這使得以太坊能夠將結果應用到自身狀態。

值得注意的是,Validity Rollups通常被誤稱爲零知識匯總,但這並不準確。大多數Validity Rollup既不使用ZKP,也不用於確保隱私。因此,"Validity Rollup"這個術語更爲準確。

爲什麼說Validity Rollups是以太坊最有希望的擴容方式?

鏈下虛擬機

在深入討論之前,我們需要先了解虛擬機(VM)的概念。簡而言之,VM是一個可以運行程序的環境,就像在Mac上運行Windows操作系統一樣。它在執行某些輸入的計算後在不同狀態之間轉換。以太坊虛擬機(EVM)就是運行以太坊智能合約的VM。

零知識虛擬機(zkVM)是一種程序執行環境,它能夠生成易於驗證的有效性證明,以證明程序已正確執行。"zkEVM"這個術語通常指的是利用以太坊虛擬機(EVM)並能夠證明EVM執行的匯總。這個術語可能會產生誤導,因爲EVM本身並不生成這些證明;相反,證明是由一個單獨的證明機制生成的,該機制以EVM執行的結果爲起點。此外,這些證明主要關注有效性而非隱私,因此它們並不完全是零知識證明。

盡管所有Validity Rollups都旨在利用有效性證明來擴展以太坊,但它們在選擇執行鏈下交易的VM方面存在差異。許多Validity Rollups選擇復制EVM的設計(因此被稱爲"zkEVM rollups"),試圖在L2 rollup上復制以太坊的體驗。而Starknet則使用了一種新的VM——Cairo VM(CVM),專門設計用於優化有效性證明效率。

這兩種方法各有優缺點:zkEVM以性能換取以太坊兼容性,而Cairo VM則將性能置於兼容性之上,優先考慮擴展能力。

zkEVM的做法

zkEVM旨在將以太坊體驗完整地引入Layer-2區塊鏈。它的目標是在匯總中復制以太坊開發人員環境。通過zkEVM,開發人員在編寫智能合約或將其移植到更具可擴展性的解決方案時,無需更改代碼或放棄現有的EVM工具和智能合約。

然而,這種方法的一個主要缺點是它限制了有效性證明的擴展潛力。由於zkEVM致力於與以太坊兼容,因此速度較慢且資源消耗更大。與CVM不同,EVM在設計時並未考慮證明效率。這限制了可以提高效率和可擴展性的優化措施,最終影響系統的整體性能。

EVM的可證明性挑戰

zkEVM方法面臨的核心挑戰源於EVM的原始設計——它並非爲在有效性證明環境中運行而設計。因此,復制其功能的努力無法充分發揮有效性證明的潛力,導致效率不佳。這種低效率最終會拖累系統的整體性能。EVM與有效性證明的兼容性受到以下因素的阻礙:

  1. EVM採用基於堆棧的模型,而有效性證明更適合基於寄存器的模型。EVM的堆棧特性使得證明其執行的正確性以及爲其本機工具鏈提供直接支持變得更加困難。

  2. 以太坊存儲布局嚴重依賴Keccak和大型Merkle Patricia Tree,這兩者都不利於有效性證明,並增加了大量證明負擔。例如,Keccak在x86架構上運行速度很快,但需要90k步來證明。相比之下,Pedersen(一種對zk友好的哈希函數)只需要32個步驟。

因此,各種zkEVM爲以太坊工具提供了不同級別的支持——zkEVM與以太坊的兼容性越高,性能就越差。

Cairo-VM的方法

與zkEVM將大量開發時間投入到"讓EVM適應Validity Rollups"不同,還有另一種選擇:使用全新的專用虛擬機,並在其之上添加對以太坊工具的支持作爲附加層。這正是Starknet採用的方法,Starknet是一個於2021年11月推出的無需許可的Validity Rollup。Starknet是第一個在完全可組合的網路上提供通用智能合約平台的Validity Rollup。

Starknet使用Cairo-VM(CVM),這是一種同名的高級語言。Cairo-VM專門設計用於高效生成程序執行的有效性證明。

使用Cairo(虛擬機和語言)提供了以下優勢:

  1. 優化的有效性證明——每條指令都有一個有效的代數表示
  2. 用於編寫可證明程序的類Rust語言
  3. 高級Cairo和Cairo匯編(VM指令)之間的中間表示(Sierra),允許高效執行Cairo代碼

開發新語言使得可以根據特定需求進行定制,並爲其配備能夠滿足之前未滿足需求的功能。

Cairo和編碼多元化

Starknet鼓勵創新,這反映在其多元化的代碼方法中。Cairo使用STARKs獲得最佳擴展的能力不僅限於那些直接在Cairo中編寫合約的開發者。開發人員可以選擇最適合他們的方法:

  1. 在Cairo中原生編寫代碼:隨着Cairo 1.0的發布,開發人員現在可以使用符合人體工程學且安全的類Rust語言。

  2. Solidity兼容性:Solidity開發人員可以編寫可供Cairo VM使用的代碼。這種方法提供了與以太坊類似的開發體驗,並使Solidity智能合約可移植到Starknet。有兩種實現方式:

    • 轉譯:使用Warp轉譯器將Solidity代碼轉換爲Cairo。
    • Starknet上的zkEVM:使用Kakarot,一個用Cairo編寫的zkEVM,可在Starknet上運行以太坊智能合約。

盡管存在時間較短,Cairo已成爲TVL排名第四的最受歡迎的智能合約語言,並獲得了超過3.5億美元的資金支持。

總結

zkEVM旨在將以太坊環境復制爲rollup,讓開發人員使用熟悉的以太坊工具。然而,這種方法限制了有效性證明的潛力,可能會消耗大量資源。

Cairo VM專爲有效性證明系統而設計,不受EVM的限制。它由一種新的、安全且符合人體工程學的類Rust編程語言Cairo 1.0支持,形成了一個強大的工具,旨在通過使用STARK證明最大化以太坊的擴展效率。

Cairo的持續進展、Kakarot zkEVM和Warp等多樣化開發選擇的增長令人振奮。隨着Starknet dApp進入生產階段,展示了Cairo的強大功能,相信它將在未來用於更具雄心的項目。

得益於STARK擴展的多種途徑,以及未來幾個月內可能出現的新方法,開發人員現在對區塊鏈擴展擁有前所未有的控制力。

爲什麼說Validity Rollups是以太坊最有希望的擴容方式?

ETH0.07%
查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 3
  • 轉發
  • 分享
留言
0/400
TokenomicsTrappervip
· 20小時前
其实如果你读一下规格... zk 证明只是对集中基础设施的烟雾和镜子,哈哈,早在 2021 年就说过这个。
查看原文回復0
链圈打工人vip
· 21小時前
eth天下第一!
回復0
MEV猎人老王vip
· 21小時前
这zk属实顶
回復0
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)