跳至內容
0%

什麼是 ZKsync Era?給 Ethereum 開發者的概覽

Sankrit K headshot

作者 Sankrit K

發布於 2024年5月9日閱讀時間 5 分鐘

ZK rollup 已成為解決區塊鏈可擴展性問題的一大方案 —— 透過零知識證明 (ZKPs),提升了隱私性、加快了交易速度,並大幅降低了手續費。然而,由於 ZK rollup 與 Ethereum Virtual Machine (EVM) 不相容,其採用率一直受限

EVM 是 Ethereum 的核心,讓開發者能使用 Solidity 建置並部署 應用程式。由於傳統的 ZK rollup 與 EVM 不相容,開發者必須為 ZK rollup 環境重寫智慧合約。因此,儘管這項技術潛力十足,卻成為其普及的一大阻礙。ZKsync 的目標正是要改變這個現況。

Matter Labs 打造的 ZKsync,是 Ethereum 第一個此類型的 layer 2 擴容方案。在公布打造無需信任、注重隱私的 Ethereum 擴容方案願景後短短六個月內,ZKsync 就以達成看似不可能的目標——EVM 相容性——震驚了整個區塊鏈業界。

之後,ZKsync 演變成兩個版本:ZKsync Lite 與 ZKsync Era。

本文將深入探討 ZKsync Era,說明它與 ZKsync Lite 的差異,以及它相較於其他 ZK 區塊鏈的獨到之處。

什麼是 zkSync era?

ZKsync 是一款通用型的 layer 2 Ethereum 解決方案,也是全球第一個與 EVM 相容的 ZK rollup。

它解決了 Ethereum 主網 長期存在的兩大問題:可擴展性與高交易手續費。

zkSync Era TVL 圖表
zkSync Era TVL

透過基於 LLVM 的編譯器,經由 ZKsync 為 Ethereum 開發的開發者,可以使用 Solidity 及 Vyper 等語言撰寫智慧合約。大多數基於 EVM 的智慧合約無需重寫任何一行程式碼,就能遷移過來,充分發揮 ZK rollup 的優勢。

zkEVM 入門

EVM 具備完全的透明度——這是有充分理由的,即可驗證性。唯有透明化,基於 EVM 的區塊鏈才能確保所有交易不僅可見,也能被任何參與者驗證。

這種開放程度確保所有操作都遵循網路訂定的共識規則,藉此防止詐欺,並確保網路維持安全與去中心化。

但目標從來都不是透明度,而是無需信任。在 ZK rollup 出現之前,透明度只是通往無需信任的手段。

舉例來說,一個誠實的行為者(比方說一般使用者),出於個人偏好,可能希望自己的交易與其他資訊保持隱私。傳統的區塊鏈並不允許這麼做。

但透過 zkEVM,區塊鏈上的任何交易都能以機率方式證明,而無需揭露交易中的每一項資訊。

zkEVM 交易示意圖
zkEVM 交易示意圖

什麼是 zkSync lite?

Matter Labs 推出的第一個版本是 ZKsync 1.0,這是一款主要專注於在 Ethereum 上實現安全且低成本代幣轉帳的 layer 2 方案。後來更名為「ZKsync Lite」。

ZKsync Lite 會將交易打包於鏈下產生有效性證明,再提交至 Ethereum 主網進行驗證。不過,它並未具備完整的 EVM 相容性,因此支援的應用程式範圍有限。

ZKsync Lite 的局限性催生了第二代版本 ZKsync 2.0,也就是我們現在所知的「ZKsync Era」。

zkSync lite 與 zkSync era 比較

Chain

ZKsync Lite

ZKsync Era

Focus

可擴展的支付與代幣轉帳

完全可程式化的擴容方案

EVM Compatibility

有限

完整

Smart Contract Support

基本(交換、轉帳)

廣泛(DeFi、NFT、DAO 等)

Architecture

純粹的 ZK rollup

混合式(ZK rollup 與 zkPorter,提供更強的擴展性)

Integration Speed

比 ZKsync Lite 慢

Use Cases

支付、簡單交易

支付、複雜應用程式、DeFi 協議、NFT 市集、遊戲等

詳情請參閱文件。

zkSync 原生帳戶抽象概觀

較舊或傳統的區塊鏈難以在協議層原生實作帳戶抽象相關創新。由於這些區塊鏈已相當成熟,若在協議層整合 AA 技術堆疊,將會產生向後相容性的問題。

相對地,ZKsync 是一款相對較新的解決方案,它透過類似 ERC-4337 的整合方式,將 AA 內建於協議之中。

以下說明該協議如何原生實作 AA:

zkSync 帳戶抽象示意圖。來源:Clave
zkSync 帳戶抽象示意圖

交易發起

交易從 EOA合約發送至 mempool。這包含一般轉帳、合約互動及其他交易類型。

交易聚合

Bundler(Operator Sequencer)會從 mempool 取出交易並將其打包成一個批次。

此過程包含由 Entrypoint(BootLoader) 產生密碼學證明(很可能是零知識證明),用以證實批次中所有交易的有效性,而不揭露底層的交易資料。

證明提交與交易最終化

打包後的交易及其證明會被提交至 Ethereum L1 上的 Rollup Contract

Rollup Contract 會驗證這些證明,並在驗證成功後,將交易最終化。

這個步驟實際上是將 Layer 2 運算的結果寫回 Ethereum 主鏈。

最終化

一旦交易獲得 Rollup Contract 確認,即視為已最終化。

Ethereum 上區塊的最終性確保所有納入的交易均不可竄改,並正式成為 Ethereum 帳本的一部分。

zkSync 使用哪種 ZK 技術?

「ZK 技術是擴容領域的聖杯。而這正是 Ethereum 乃至所有區塊鏈最終將實現擴容的方式。」

Alex Gluchowski | Matter Labs 共同創辦人暨執行長

零知識證明,特別是遞迴式 ZK-SNARK,是 ZKsync 所使用技術的核心。

SNARK 是一種特定類型的零知識證明,具備簡潔性(意即體積小、驗證速度快)與非互動性(證明者與驗證者之間無需來回通訊)這兩項特點。

遞迴式 SNARK 在此基礎上進一步擴展,允許一個 SNARK 證明去驗證另一個 SNARK。這使得建構「證明金字塔」成為可能,其中每一層都取決於前一層的有效性,讓大量的運算或交易能以可擴展且高效的方式進行驗證。

因此,即使是計算能力相對較低的裝置,例如智慧型手機,也能以極少的資源驗證大量交易。

由 Matter Labs 製作的 zkSync 區塊驗證示意圖
zkSync 區塊驗證示意圖。來源:Matter Labs

支撐 ZKsync 技術的框架,是 ZK Stack

使用 ZK stack 建置:驅動 zkSync 的框架

ZK Stack 是一款模組化、開源的框架,基於 ZK Credo 的原則打造,用於建置由 ZK 驅動的 Hyperchain。

這些 Hyperchain 就像是獨立的區塊鏈,同時能在 ZKsync 生態系內享有無縫的互通性。

ZK 驅動的 hyperchain 結構示意圖
ZK hyperchain 示意圖。來源:Matter Labs

ZK Stack 的模組化架構讓開發者能對以下項目進行細緻控制:

  • 資料可用性: 可在 rollup、validium 或 volition 等組態之間選擇,取得隱私與可擴展性之間的最佳平衡。
  • 代幣經濟學: 可將 Ether 設為基礎代幣、使用自訂代幣,甚至支援多種代幣,來設計你的 Hyperchain。
  • 排序: 可實作不同的 sequencer 設定,滿足集中式高效率(高頻交易)或去中心化無需許可的安全性需求。

zkSync 與其他 ZK 區塊鏈的比較

直到幾年前,社群一直在尋求側鏈與 plasma 方案來解決 Ethereum 的擴展性問題。然而,如今 rollup 已成為有效擴容 Ethereum 的主流技術。

自 2018 年推出以來,ZK rollup 特別受到廣泛關注與採用,Polygon 等大型專案已採用此技術,Vitalik Buterin 等意見領袖也大力提倡。

ZK 證明與擴容示意圖
ZK 證明與擴容示意圖。來源:Linea

根據 L2 beat 的資料,截至撰寫本文時,已有 11 個活躍的 ZK rollup 型 layer 2 擴容方案,另有 14 個即將推出。面對如此多樣的選擇,開發團隊該如何做出選擇正確 rollup 建置的明智決策?

基於 ZK rollup 的第 2 層擴容方案清單
基於 ZK rollup 的第 2 層擴容方案。來源:L2Beat

建置應用程式時,有三項因素須納入考量:

  1. **選擇合適的鏈:**評估可擴展性、安全性與開發者支援,選出最符合專案需求的區塊鏈。
  2. **考慮多鏈策略:**權衡多鏈方法帶來的更廣泛市場觸及與風險分散,與隨之增加的複雜度與成本之間的取捨。
  3. **評估工程開銷:**考量整合的難易度、營運維護以及所需的開發技能,估算所涉及的總成本與時間投入。

接下來,我們來看看 ZKsync Era 與 Starknet、Polygon zkEVM 有何不同。

zkSync era 與 StarkNet 比較

以 TVL 而言,Starknet 是 Ethereum 上領先的 ZK rollup 擴容方案,其目標與 ZKsync Era 相似——都是為了擴容 Ethereum 並推動大規模採用。

ZKsync Era 專注於向後相容性,讓開發者能輕鬆遷移現有專案,或運用既有的 Solidity 及 Vyper 知識進行開發。

相對地,Starknet 優先採取的做法,是希望能吸引那些不熟悉任何主流區塊鏈開發語言的新進者,讓他們可以直接使用相對簡單的 Cairo 語言。

下表說明了 ZKsync Era 與 Starknet 之間的差異。

Chain

ZKsync Era

Starknet

Proof Generation

ZK-SNARK

ZK-STARK

Proof Size

Trustlessness

較低

較高

Verification Cost

每批次約 460,000 gas

對數複雜度(搭配 EIP-4844 後更低)

EVM Compatibility

Developer Experience

對 Ethereum 開發者較容易上手

對 Ethereum 開發者有一定學習曲線

Programming Languages

Solidity, Vyper

Cairo

Compiler

LLVM

Warp

zkSync era 與 Polygon zkEVM 比較

ZKsync Era 與 Polygon zkEVM 的推出時間相隔不到一週,兩者都基於相似的技術,但存在細微差異。具體而言,Polygon zkEVM 是一種 EVM 等效(equivalent)rollup,而 ZKsync Era 則是一種 EVM 相容(compatible)rollup。

「EVM 相容」意指其底層虛擬機能理解並執行為 Ethereum Virtual Machine(EVM)所撰寫的程式碼。開發者可以輕鬆地將現有的 Ethereum 智慧合約移植至 ZKsync Era,僅需極少的修改。

「EVM 等效」意指其實現了與 EVM 相似的功能,但底層採用不同的虛擬機。開發者可能需要調整現有的 Ethereum 智慧合約,才能在 Polygon zkEVM 上順利運作。

下方的比較表列出了 ZKsync Era 與 Polygon zkEVM 之間的重要差異。

Chain

ZKsync Era

Polygon zkEVM

Proof Generation

ZK-SNARK

ZK-SNARK 及 zk-STARK

Proof Size

Trustlessness

較低

較高

EVM Compatibility

相容(Compatible)

等效(Equivalent)

Developer Experience


Ethereum 智慧合約易於遷移

可能需要部分程式碼調整

Programming Languages

Solidity, Vyper

Solidity

Compiler

LLVM

未使用編譯器

透過 Alchemy 進行建置

ZKsync 目前已在 Alchemy 上線。

此整合免除了執行與維護 ZKsync 節點的負擔,讓你能專注於應用程式本身的獨特價值。

透過 Alchemy 的 supernode,即可存取 ZKsync Era 的主網及測試網 RPC 端點。使用 Alchemy 的 API,開發者能獲得高可靠性與簡化的開發體驗。

三步驟開始使用

  1. **註冊免費帳號:**造訪 Alchemy 並建立你的帳號。
  2. **取得 ZKsync Era RPC 端點:**在你的 Alchemy 儀表板中找到 ZKsync Era(主網及測試網)端點。
  3. **開始建置:**將這些端點整合至你的 dApp 中。

_詳情請參閱 _ZKsync Era API 快速入門文件

常見問題

什麼是 zkSync era?

zkSync Era 是一款 layer 2 Ethereum 擴容方案,也是全球第一個與 EVM 相容的 ZK rollup,能解決 Ethereum 的可擴展性問題與高交易手續費,同時與現有的 Ethereum 智慧合約保持完整相容性。

zkSync era 與 zkSync lite 有何差異?

zkSync Lite 專注於可擴展的支付與代幣轉帳,EVM 相容性有限;而 zkSync Era 則是一款完全可程式化的擴容方案,具備完整的 EVM 相容性,能支援 DeFi 協議、NFT 市集及遊戲等廣泛的應用程式。

開發者需要學習新的程式語言才能在 zkSync era 上進行開發嗎?

不需要,開發者可以使用熟悉的 Ethereum 程式語言,例如 Solidity 及 Vyper,而且大多數基於 EVM 的智慧合約無需重寫任何一行程式碼就能遷移過來。

zkSync era 使用哪種零知識技術?

zkSync Era 使用遞迴式 ZK-SNARK,這是一種簡潔且非互動式的零知識證明,能以極少的計算資源,有效率地驗證大量交易。

zkSync era 上的原生帳戶抽象是什麼?

zkSync Era 在協議層內建了帳戶抽象功能,能實現進階的錢包功能與使用者體驗改善,且不會產生舊有區塊鏈所面臨的向後相容性問題。

zkSync era 與 Starknet 等其他 ZK rollup 相比有何不同?

zkSync Era 優先採用 Solidity 及 Vyper 以確保 EVM 相容性,方便遷移;而 Starknet 則使用自家的 Cairo 程式語言,開發者需要學習新工具,但對新進者而言,開發過程可能相對簡單。

什麼是 ZK stack?它與 zkSync era 有何關聯?

ZK Stack 是驅動 zkSync Era 的模組化、開源框架,能用於建置由 ZK 驅動的 Hyperchain,並對資料可用性、代幣經濟學及排序組態提供細緻的控制。

Background gradient

打造區塊鏈魔法

Alchemy 結合最強大的 Web3 開發者產品與工具,並提供資源、社群與卓越的支援。