BTC
ETH
HTX
SOL
BNB
查看行情
简中
繁中
English
日本語
한국어
ภาษาไทย
Tiếng Việt

zkSync 2.0:你好,以太坊

Block unicorn
特邀专栏作者
本文約4066字,閱讀全文需要約6分鐘
面對最大的技術挑戰,我們正朝著在EVM 兼容環境中部署智能合約開始衝刺。
AI總結
展開
面對最大的技術挑戰,我們正朝著在EVM 兼容環境中部署智能合約開始衝刺。

介紹

介紹

一級標題

主要成就

介紹

一級標題

介紹

一級標題

在密碼學方面,zkEVM 的指令集已經完成,並且兩個實現都完成了:在電路中和在執行環境中。

一級標題

在編譯器方面,用Solidity 和Zinc 編寫的智能合約現在可以編譯成zkEVM 字節碼。

在核心基礎設施方面,全節點集成完成,能夠成功部署和執行編譯後的智能合約。

  • 雖然zkEVM 和核心2.0 基礎設施已準備好公開,但編譯器需要更多的工作來正確覆蓋所有邊緣情況。為了提供更全面的開發人員體驗,我們決定在編譯器100% 可靠後立即開放對zkEVM、編譯器和核心SDK 的訪問。

  • zkSync 2.0 與以太坊的比較

  • 我們暫時不支持KECCAK256 操作碼,而是會自動將其所有調用替換為對另一個抗碰撞哈希函數的調用。 KECCAK256 稍後將作為預編譯引入。

  • 費用

費用

一級標題

Web3 API

我們決定不包含SELFDESTRUCT 操作碼,因為以太坊計劃將其刪除。

費用

一級標題

一級標題

一級標題

  • 一級標題

  • 一級標題

一級標題

預編譯

預編譯

一級標題

存儲效率提升

預編譯

一級標題

預編譯

一級標題

一級標題

  • 執行跟踪將有一個硬性限制,但它與以太坊區塊大小的當前限制相當,不應影響大多數協議。

  • 圖片描述

可能還有更多限制,但我們的目標是在最終版本中將它們減少到絕對最小值。

zkEVM:為我們與EVM 兼容的zkRollup 提供動力的引擎,這是唯一具有L1 安全性和可靠性智能合約支持的解決方案。

一級標題

圖片描述

圖片描述

一級標題

密碼學

密碼學

狀態樹

zkSync 2.0 狀態樹覆蓋了以太坊的完整160 位地址空間。每個帳戶將駐留在狀態的zkRollup 部分或zkPorter 部分。 zkRollup 和zkPorter 帳戶完全相同,除了一個組件:保證數據可用性。 zkRollup 交易數據通過calldata 發佈到以太坊,zkPorter 交易數據發佈到zkSync Guardian 網絡,zkSync 代幣持有者參與權益證明。

數據發布的地方是成本和安全性之間的權衡。 zkPorter 交易比匯總交易便宜得多,但它有可能導致您的資金被凍結。但是,zkRollup 和zkPorter 帳戶的有效性都是通過零知識證明和以太坊來保證的。換句話說,zkPorter 中的資金只能被凍結,不能被盜。

這是在我們的證明系統沒有任何重大變化的情況下完成的;我們繼續將PLONK 與自定義門和查找表(通常稱為UltraPLONK)以及以太坊的BN-254 曲線一起使用。這是有利的,因為自2020 年6 月以來,該證明系統已經在zkSync 1.0 以及使用相同證明系統的其他項目中進行了實戰測試。

一級標題

圖片描述

再一次,我們很高興地宣布,經過幾個月的努力:zkEVM 的指令集已經完成並在電路和執行環境中實現。

這裡有一個重要的區別:電路和執行環境中的實現是分開的,用於不同的目的。電路的工作是生成執行跟踪的證明並提供證人,但這非常慢。另一方面,執行環境是zkEVM 在rust 中的直接實現,高效且快速。如果我們依靠電路來生成證明和執行,交易最終確定將需要幾個小時。證明生成和簡單執行的分離使zkSync 上的交易能夠即時結算。

一級標題

  • 一級標題

  • 圖片描述

  • 圖片描述

(圖片來源於zkSync)

  • 我們同時致力於兩個針對zkEVM 的編譯器前端:Yul 和Zinc。 Yul是一種中間Solidity 表示,可以為不同的後端編譯為字節碼。 Zinc是我們用於智能合約和通用零知識證明電路的基於Rust 的語言。

  • 由於編譯器是使用LLVM框架構建的,因此可以將其視為具有前端Yul → LLVM IR 和後端LLVM IR → zkEVM 字節碼。 LLVM 的採用帶來了幾個主要優勢:

  • LLVM 優化框架無與倫比:它從LLVM IR 生成最高效的zkEVM 字節碼。

使用較新版本的Solidity 或Zinc,編譯器前端將處理所有更改,而LLVM 將使我們無需更改編譯器後端。

Zinc 和Yul 編譯器中的詞法、語法和語義測試。

一級標題

我們自己的Zinc 和Solidity集成測試,貫穿整個智能合約生命週期:從解析源代碼到合約部署和在zkSync 上執行交易。

從Solidity 存儲庫集成的廣泛的測試套件,適用於我們的集成測試工具。

每個套件已經包含數千個測試,我們將把這個數字至少增加一個數量級。

  • 我們的2 個編譯器已經成功部署並執行了兩種語言的簡單智能合約。但是還有更多的優化需要完成,一些複雜的LLVM IR 語句需要轉換為zkEVM 字節碼。因此,我們決定在編譯器處於更健壯的狀態之前不發布它。

  • 一級標題

  • 一級標題

  • 核心基礎設施

zkSync 2.0 核心由幾個關鍵角色組成:

  • 完整節點

  • 通過虛擬機的zkEVM 字節碼的預電路執行器環境

  • 過濾掉可能導致區塊膨脹的明顯不正確的交易(例如,交易資金不足),

交互器

  • 在內存池中執行交易並生成區塊。

  • 證明者

接收區塊的見證人並生成零知識證明,

用於並行證明生成的證明者接口,

BTC
ETH
歡迎加入Odaily官方社群