原文标题:《zkSync 2.0 AMA:如何在以太坊 Layer 2 赛道脫穎而出?》
原文作者:Bin Lynn,DeFi 之道
近日,以太坊 Layer 2 項目方 Matter Labs 在 zkSync 2.0 測試網遷移了首個 Solidity dApp,而其底層 zkEVM,使得該 ZK Rollup 二層網絡完全兼容了 EVM。
對於這個新生的 Layer 2,Matter Labs 官方在 r/ethereum 進行了一次 AMA,以下是 DeFi 之道整理的活動內容精選:

Alex:當然,我只能代表 Matter Labs 發言,但這確實是我的強烈看法。
zkSync 的願景牢牢植根於早期加密運動的精神和哲學。它基於密碼朋克、主權個人、中本聰以及 Vitalik 等思想。簡而言之,我們珍視自由以及由密碼學帶來的強大的新形式的恢復力。你看,密碼學是當今任何個人都可以使用的唯一一種技術,它能夠抵禦最強大的對手(比如強大的極權政權)。密碼學與去中心化相結合,賦予區塊鏈社區挑戰(並最終改變)現狀的能力。如果沒有去中心化和不可阻擋性,你今天所擁有的將是銀行。如果你認為這兩個屬性對區塊鏈而言不是必需的,請花點時間在谷歌上搜索「e-gold」和「liberty reserve」。
這給我們帶來了兩家公司之間的主要區別。zkSync 正在構建一個針對「去中心化」和「彈性優化」的開放協議。我們渴望成為可替代的:即使 Matter Labs 消失或受到損害,網絡也應該蓬勃發展。我們的主要目標受眾是 1) 使用區塊鏈實現金融主權的人,以及 2) 為這些人構建的去中心化協議。
而 StarkWare 正在構建的,或多或少是專有的擴展解決方案,這些解決方案針對其 IP 的性能和防禦能力進行了優化,但具有企業級支援和 SLA。作為一個技術和服務提供商,他們正在採取行動保持不可或缺的地位。他們的主要目標受眾似乎是建立在區塊鏈上的中心化公司(dydx、Immutable、Sorre、TikTok)。
這種區別直接導致了設計決策的重大差異:
zkSync 是寬鬆許可的(Apache/MIT),因此如果 Matter Labs 未能做正確的事情,任何人都可以自由地分叉網路。
StarkWare 提出了 Polaris,這將阻止 StarkWare 附屬公司以外的任何人運行 STARK 證明器。
zkSync 專注於完整的 EVM 相容性——我們希望網路在各個方面都歸社區所有,並且不想充當服務機構以新語言重新編寫和重新審核協議。
StarkWare 正在推廣 Cairo(一種用於編寫智能合約的全新領域特定語言),它有利於性能而不是向後相容性。
zkSync 1.0 從發布的第一天起就有了一個帶有強制時間鎖定的升級機制(後來擴展了一個安全委員會的機制)。我們承認無法修復漏洞的風險,我們更喜歡這種方式,而不是被傳票破壞的風險。而 zkSync 2.0 將遵循這種方法。
StarkEx 有一種機制,可以在執行升級之前凍結操作,以作為沒有時間鎖的升級機制,至少在最初階段是這樣。他們的重點顯然是針對外部攻擊者的安全性,而不是減少對 StarkWare 本身的依賴。
ZKSync 2.0 附帶了 zkPorter:一種針對去中心化優化的鏈下數據可用性解決方案。它的設計方式將使完整節點比任何現有的以太坊殺手多兩個數量級,並為活躍度提供加密經濟學激勵。
StarkWare 則在這裡押注於數據可用性委員會(Data Availability Committee),這是由一小部分數據存儲者組成的,他們依靠自己的聲譽,而不是去中心化的激勵。
如你們所見,這些差異都源於我們價值觀和理念的分歧。隨著監管壓力越來越大,我認為我們會看到更多問題的發生(最明顯的是在 KYC、AML、隱私以及加密社區與國家之間的其他緊張領域)。
Stan:通常,這對 rollup 用戶來說不會有什麼變化,流動性將保留在合約中,並將繼續照常運作。
追問:如果 zkPorter 被凍結,zkPorter 帳戶提供的流動性如何繼續正常運作?這對我來說似乎不安全。
Stan:zkPorter 凍結意味著在最壞的情況下,zkPorter 帳戶無法從智能合約中提取其流動性。為什麼你認為這可能不安全?請注意,合約的全局存儲,如其 ERC-20 餘額仍然存儲在 rollup 中。
追問:可以說,這比凍結資金更糟糕。我一直認為凍結 zkPorter 狀態就是它字面上的意思——但你實際上並沒有在這裡凍結 zkPorter。只是資金不在智能合約中——這違背了智能合約平台的初衷。
除非我誤解了一切——如果用戶在 zkPorter 被凍結時遭到清算,並且他們完全無能為力,那將是一個糟糕的用戶體驗。更大的問題是它打開了一個攻擊向量,其中排序器和 zkPorter 驗證器可以串通以強制清算和其他 MEV 情景——這使其與側鏈一樣不安全,並且對於某些 MEV 案例來說可能更糟。我知道 zkSync 2.0 有一個機制,即使在 rollup 被凍結的情況下,用戶也可以從智能合約中提取資金,而 StarkWare 也有類似的保護性提款解決方案。那麼,為什麼沒有為 zkPorter 實現類似的東西來保護用戶呢?
Stan:謝謝你這麼全面的回答。我們的團隊意識到了這些潛在問題,不幸的是,我不能提供所有的細節,但我們確實致力於最大限度地減少凍結對系統的影響。
關於凍結資金,更取決於合約,當前的 Uniswap 以太坊合約支持單個分片,因此,如果其代碼被移植到 zkSync 而沒有任何更改,它將僅在 rollup 時存儲餘額。因此,每當來自 Porter 的用戶向合約提供流動性時,他們就會將資金發送到合約的 rollup 餘額中。這些資金,就像所有 rollup 資金一樣,應該像在 L1 上一樣安全。正如我已經說過的,我們致力於優雅地處理此類情況。測試網版本將提供更多的詳細信息:)
Angela:是的,對於 Solidity 智能合約:大多數 DeFi 和 NFT 項目將在不更改代碼的情況下工作。但是,在第一個版本中,編譯器會自動將對 SHA256 和 Keccak256 的調用替換為對電路友好的雜湊函數。目前還不支持其他一些密碼學原語,例如 ecrecover 和密碼學預編譯。
對於 UI:您可以通過我們的 Web3 API 和 Ethers SDK 與智能合約和 zkSync 網絡完全互動。對於讀取請求,任何符合 Web3 標準的框架均可立即使用,並具有額外的可選 zkSync L2 特定功能。對於寫入請求(發送交易):由於 L1 和 L2 之間存在根本差異,您將需要撰寫一些額外的程式碼(例如,zkSync 支持使用任何代幣支付交易費,因此發送交易將涉及選擇支付費用的代幣)。
因此,是的,您只需進行最少的更改即可重用當前的前端(但發送交易方面會有所不同)。
Angela:zkSync 2.0 的去中心化實現需要關注 3 個重點:
與大多數 Rollup 專案一樣,我們選擇了逐步去中心化的方式來進行創新、快速迭代以及更快地修復漏洞。zkSync 將保持可升級,直到功能範圍穩定,然後將變得不可變。但是,有兩種機制可以在去中心化 / 安全性和反應性 / 可升級性之間取得理想的平衡。
zkSync 智能合約的升級可以由 zkSync 治理發起,並設有 4 週的時間鎖定期。如果治理被破壞,時間鎖定將讓用戶有時間通過我們的優先佇列 / 緊急退出機制選擇退出。
為應對漏洞 / 駭客事件,我們成立了一個由 15 位深受尊敬的以太坊社區成員組成的安全委員會,其權力僅限於縮短 4 週時間鎖定通知期。(註:這 15 位委員會成員包括 Aave 初始團隊、Itamar Lesuisse(Argent)、Mike McDonald(Balancer)、James Prestwich(cLabs)、Michael Egorov(Curve)、Jack Baumruk(Dekrypt)、Haseeb Qureshi(Dragonfly)、Justin Drake(以太坊基金會)、Stefan George(Gnosis)、Baek Kim(Hashed)、Chris Burniske(Placeholder)、Nick Grossman(USV)、Will Harborne(ZK Validator)、Sergej Kunz(1inch)以及 Lasse Clausen(1kx))
這個理事會由智能合約執行,規則如下:
8/15 簽名可將時間鎖縮短至 2 週;
10/15 簽名可將時間鎖縮短至 1 週;
12/15 簽名可將時間鎖縮短至 3 天;
最低 3 天的時間鎖時間,可防止出現最壞的情況。
最初,只有經授權的排序器提交的區塊,才能向 zkSync L1 智能合約提交狀態轉換。我們可能有一些選擇 / 轉換排序器的機制。但最終,我們將切換到由多驗證者與 PoS 共識保護的集體排序器。用戶不依賴排序器來保證安全。我們的 zkRollup 有一個優先佇列 / 緊急退出機制來保護用戶免受排序器的審查:無論排序器是否存在惡意 / 故障,你始終可以退出 zkSync。
zkPorter 用戶可以 1-3 美分的固定費用進行交易。這是通過將數據可用性(重建狀態所需的基本交易數據)放在鏈下而不是放在以太坊上來實現的。而數據可用性是通過 zkSync 代幣质押者使用權益證明(PoS)來保護的。zkPorter 的安全性嚴格優於任何其他 L1 或側鏈,但在最壞的情況下,惡意行為者控制著质押的排序器和總權益的 2/3 以上,他們可以簽署有效的狀態轉換,但保留數據,這會凍結狀態,因此可凍結质押的 zkPorter 用戶和攻擊者。
為了盡可能地去中心化 zkPorter,2/3 的 zkSync 代幣供應是保留給社區的。
Lyova :zkSync 2.0 將擁有 zkPorter - 一個無縫可互操作的,具有鏈下數據可用性的超便宜分片。你可以在此處閱讀所有 相關信息。
此外,在 zkSync 上,你可以使用任何流動 token 支付費用——而無需購買 ETH 或像 MATIC 這樣的自定義 token。
P.S. 關於「我們更快,更便宜以及更安全」,可以參考 l2beat 和 l2fees)
Angela:關於 zkSync 的下一步,我們還有很多事情需要構建。
開發者工具:如你所知,我們選擇採用長期方法並為我們的編譯器使用 LLVM,這已迫使我們考慮調試器、鏈接器、組合器、反組譯器和二進制實用程序。
此外,任何編寫過 x86 或 arm 程序集的人都可以輕鬆地為我們的 VM 編寫代碼。
更多的智能合約語言:LLVM 還允許我們和任何其他團隊輕鬆構建語言前端,例如 Rust。
功能更完整、更高效的 zkEVM:在第一個版本中,對 SHA256 和 Keccak256 的調用將被編譯器自動替換為電路友好的雜湊函數,並且不支持 ecrecover 和密碼學預編譯。當然,我們的下一步是有效地支持這些。我們還計劃實施寫時複製 (copy-on-write) 擴展。
UX/DevX 改進:我們已實現了 ETH 以外的其他 token 的手續費方式,並且正在實現帳戶抽象,更多的支持會到來。
最後,密碼學被證明是區塊鏈世界中令人難以置信的工具。零知識證明已經在推動擴容和隱私,這是公共無許可區塊鏈中最重要的兩個問題。Matter Labs 是一個熱衷於使用密碼學和數學解決問題的工程團隊,我們將繼續這樣做。有趣的應用之一是實施時間鎖加密以消除 MEV。
關於跨不同 L2 以及與其他區塊鏈環境的互操作性問題,我們主要專注於構建 zkSync,而在 zkSync 和其他網路之間來回移動的問題,主要由 Optics、Connext、Hop 等橋解決方案來解決。
Lyova:選擇 SNARKs 的原因之一是數據更小,因此證明更便宜,它只佔用 O(1)空間。SNARKs 也可以很容易地進行遞迴,這節省了驗證器更多的計算量。此外,zkSync 使用的是 PLONK 方案,與其他 SNARKs 不同的是,它只需要一個通用的可信設定,這意味著我們不必每次更新電路時都產生「有毒廢棄物」。如果你好奇的話,去看看 這裡,我們沒有任何計劃在將來遷移到 STARKs。
L2 上部署的合約必須以某種方式發布到 L1(至少我們現在是這樣),以確保在「優先模式」期間正確執行和提取資金,這在不太可能的審查情況下發生。這就是為什麼 L1 區塊 gas 限制會施加某種大小限制。
Angela:和以太坊相同的方式,最初 token 供應的 1/3 留給了團隊和投資者,2/3 屬於社區,zkSync token 是 zkSync 網路的費用 token(儘管我們支持以其他 token 支付交易費用,但它們將在後台換成 zkSync token)。
原文連結
歡迎加入律動 BlockBeats 官方社群:
Telegram 訂閱群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方帳號:https://twitter.com/BlockBeatsAsia