作者:xpara,Four Pillars;翻譯:金色財經xiaozou
要點:
Matterlabs是zkSync的開發公司,一直致力於開發其獨特的zkEVM、創建偉大的產品。
目前,zkSync Era正呈現增長之勢,這一點從其令人印象深刻的衡量指標和各項目的開發部署情況就可看出。
我們可以通過zkSync的三個關鍵層來了解zkSync架構:執行層、結算層和數據可用性層。
ZK-Stack(zkSync的底層代碼庫)和OP-Stack可能具有相似的理念。儘管如此,從dapp開發者、核心開發者和業務運營商的角度來看,還是可以看到明顯的差異。
1、zkSync的發展歷程
1.1 zkSync簡史
zkSync的發展歷程始於2019年的EthCC,當時還是一個小團隊,致力於與zkSNARK共同開發部署Rollup。他們於2019年1月推出了proof of concept(概念證明),該證明使用zkSNARK在以太坊中運營側鏈。從那時起,他們就把去中心化作為核心原則。他們專注於將所有交易數據存儲在以太坊中,並研究出一個多算子模型來處理排序器去中心化模型。
到2020年6月,隨著zkSync v1主網的推出,該團隊取得了重大進展。 zkSync v1在zkSync的發展歷程中可謂是一個關鍵里程碑,代表了其最初概念在更大範圍內的實際實施。一年後,也就是2021年的6月,他們取得了進一步突破,發布了zkSync 2.0測試網,也就是Era。
到2023年3月,zkSync的完整主網成功發布,標誌著團隊取得了重大成就。這一發展表明了平台已具有較高成熟度,並為更廣泛的採用做好了準備。這是首個部署在以太坊Rollup生態系統中的主網zkEVM的發布。
目前,該團隊正在致力於讓zkSync開源。這將支持從一個ZK-Stack中單獨部署zk rollup鏈,使團隊能夠啟動他們自己的定制rollup。關於這一激動人心的發展的更多細節預計將很快公佈。
1.2融資
zkSync的開發團隊Matterlabs已經籌集了大量資金來推進其使命的達成。通過2022年11月進行的最近一輪C輪融資,他們的總融資額達到4.58億美元,其中包括多輪投資和專門的生態系統基金,例如包括一個單獨的2億美元的生態系統專用基金,2億美元的C輪融資,由a16z領投的5000萬美元的B輪融資,以及800萬美元的A輪融資和種子輪融資。
· 種子輪:在種子輪融資中,Matterlabs從PlaceholderVC、Hashed等投資方那裡獲得了200萬美元資金。這一早期財政刺激為他們開啟zkSync項目的工作提供了必要基礎。
· A輪:繼種子輪融資之後,Matterlabs在A輪融資中又籌集了600萬美元。這筆新的資金流入為推動他們的研發提供了動力,並使zkSync更接近最終目標。
· B輪:Matterlabs的勢頭不斷增長,在主要由a16z領投的B輪融資中,他們成功籌資5000萬美元。
· C輪:Matterlabs的C論融資額為2億美元。
· 最後,除了以上幾輪投資之外,Matterlabs還成立了一個專門的2億美元生態系統基金。該基金專門用於促進更廣泛的zkSync生態系統的增長和發展。
所有這些資源為Matterlabs提供了推進發展zkSync使命、加快開發步伐和促進更廣泛生態系統增長所需的資金支持。總而言之,Matterlabs在重要區塊鏈項目中擁有相當大的資金規模。
2、當前zkSync生態系統狀態
2.1總體狀態
多年來,zkSync取得了顯著的發展進步。 zkSync v1,即現在的zkSync Lite,在2020年12月達到了一個發展里程碑,總鎖定價值(TVL)超過了100萬美元。從那之後,zkSync生態系統的TVL呈指數級增長。截至目前,zkSync的TVL已經超過6.5億美元,使其成為以太坊生態系統中第三大L2 Rollup。
到今年6月份,zkSync獲得了一些令人印象深刻的關鍵指標。雖然在6月份zkSync稍微遜色於Arbitrum,但它在TPS上排名第一。它擁有最快的TVL增長率,並且在第一層上總費用支付方面處於領先地位。
此外,唯一錢包的數量也在增加,這表明用戶採用率在增加。與此同時,橋接到zkSync的ETH數量也在增長。
2.2 主要項目
2.2.1 Argent
Argent是面向基於以太坊的加密貨幣的非託管移動錢包,為管理數字資產提供安全友好的用戶體驗。
Argent擁有獨特的安全模式設計,即使用戶的手機丟失或被盜,也能保護用戶的資產。安全模式包括生物識別認證、社交恢復和鏈上智能合約錢包等功能。以太坊創始人V神也曾說過,Argent是一款具有多重簽名安全性和社會恢復功能的錢包。
2.2.2 SyncSwap
SyncSwap是zkSync Era最大的DeFi協議。它是基於AMM的DEX,在AMM設計中提供了各種重要特性。它為各種代幣提供了一個AMM池,重要屬性如下。
· Stableswap:該multi-pool允許SyncSwap聚合多個不同的池模型,每個模型都有自己的最佳場景,使交易高效。第一個落地的池模型將是Stable Pool,與通用的Classic Pool相比,Stable Pool支持高效的穩定幣交易,使SyncSwap進入大規模的穩定幣市場。
· Smart Router:它作為一個流動性聚合平台,將不同的流動性池和各種池模型聚合在一起,毫不費力地提供最佳價格。提供多hop和路徑分割。
· 動態收費:SyncSwap在其DEX上引入了動態收費,允許用戶根據市場情況和社區偏好定制交易費用。包括可變費用、定向費用、費用折扣和費用委託四方面。這些功能為用戶提供了靈活性和適應性,以優化他們的交易策略,並與不斷變化的市場和社區保持一致。
2.2.3 Tevaera
Tevaera的遊戲生態系統為遊戲世界帶來了獨特的冒險和技術的融合。 Teva Games提供多種類型的遊戲,以自然環境為背景,由守護者角色的中心故事情節聯繫起來。首款多人遊戲將隨著Tevaera 2.0的發布首次亮相,提供令人興奮的遊戲玩法,包括加密主題的升級和多種遊戲模式。
由Teva Core、Teva Chain、Teva Dex和Teva Market組成的鏈上游戲基礎設施進一步增強了生態系統。
· Teva Core是一個先進的多人遊戲框架。
· Teva Chain是一個第三層遊戲超鏈,促進了向全鏈遊戲的過渡。
· Teva DEX通過自動遊戲dex貢獻了可持續的玩轉經濟。
· Teva Market允許鑄造和交易獨特的NFT角色。
3、zkSync架構
zkSync Era是一個L2協議,旨在解決以太坊的可擴展性問題,採用零知識(ZK) rollup結構。它由Matter Labs開發,是一個專注於用戶需求的zk-rollup平台。該平台旨在與自定義虛擬機中的以太坊虛擬機(EVM)廣泛兼容,並針對零知識證明進行了優化。
zkSync rollup的運行可以概括為以下階段:
(1)最初,由用戶生成交易或優先操作。
(2)隨後,運營者承擔起處理用戶請求的責任。處理成功後,運營者創建一個rollup操作並將其包含入塊。
(3)在區塊完成後,運營者以區塊提交的形式將其提交給zkSync智能合約。值得注意的是,智能合約驗證了某些rollup運行的部分邏輯。
(4)最後,區塊的證明被提供給zkSync智能合約,這一步就是區塊驗證。如果驗證者合約認為驗證成功,它就會將新狀態驗證為最終狀態。這就是zkSync rollup的運行生命週期。
本部分內容將深入研究zkSync是如何運行的,聚焦三個基礎層:
(1)執行層:執行層是指導致區塊鏈狀態變化或轉換的過程。簡單地說,它是接收交易並將其應用於之前狀態的場所。
(2)結算層:結算層使用一個證明系統確保了在執行階段所做的更改準確地反映了系統的整體狀態。
(3)數據可用性層:數據可用性層是系統的記錄保存部分。它是所有交易數據(輸入)、系統更新(輸出)和證明的存儲場所。目的是為了確保在需要的時候,總是可以從頭重新創建系統的當前狀態。
3.1執行層
3.1.1虛擬機級執行層
它運行在type4 zkEVM上,這意味著它需要使用高級語言(例如,Solidity、Vyper)編寫的智能合約代碼,然後將其編譯為對zk-SNARK友好的語言。
此外,zkSync Era的一個獨特之處在於,它使用基於LLVM的編譯器,將最終允許開發人員使用C++、Rust及其他流行語言編寫智能合約。
LLVM框架是一個用於構建智能合約語言工具鏈的編譯器。它的高級中間表示(IR)允許開發人員在同時利用廣泛的LLVM生態系統的同時設計、部署和改進有效的特定語言功能。
在已確立的工具鏈中,LLVM處理LLVM IR,引入全面優化,最終將優化後的IR轉給zkEVM後端代碼生成器。
3.1.2執行層概覽
在zkSync中,Core App(核心應用程序)在管理執行層方面發揮著關鍵作用。
它的首要職責是跟踪L1智能合約的存款或優先操作。這種機制對於確保zkSync與以太坊網絡的無縫集成至關重要,因為從以太坊網絡發起的所有更改都需要被監控並反映在zkSync第2層(L2)環境中。
Core App還負責管理收集傳入交易的內存池(mempool)。然後,這個交易集合在隊列中等待處理,在交易被確認並添加到區塊之前有效地充當等待區。
Core App的職責還包括從內存池中獲交易,在虛擬機(VM)中執行交易,並根據需要調整狀態。本質上,這個過程包括獲取交易、處理交易,並在系統中反映結果。
執行完交易後,Core App生成鏈區塊。這些區塊由已執行和驗證的交易包組成。然後Core App將這些區塊和證明提交給L1智能合約。這個過程確保了L1以太坊鏈的狀態與L2 zkSync鏈保持同步。
為了支持基於以太坊的應用程序間的無縫交互,它提供了一個與以太坊兼容的web3 API。這使得zkSync對於嫻熟於以太坊生態系統的開發人員和用戶來說更易訪問且用戶友好。
3.2結算層
結算層負責確保zkSync狀態轉換的完整性。這個驗證過程是在部署在以太坊上的智能合約中完成的。在這個過程中有兩個重要的合約。
(1)執行者合約:該合約從驗證者和zkSync中狀態轉換的zk證明中獲取區塊數據。
(2)驗證者合約:這是一個邏輯合約,允許系統驗證執行者合約所提供的區塊數據和zk證明。
3.2.1執行者合約
proveBlocks函數在確保zkSync系統的完整性和安全性方面起著核心作用。它的主要工作職責是驗證提交塊的zk-SNARK證明。下面是對其運作過程的一個簡單闡述:
· 首先,proveBlocks確保以區塊正以正確的順序驗證。它通過檢查接收到的前一個塊是否是區塊鏈序列中需要驗證的下一個塊來做到這一點的。
· 接下來,該函數開始遍歷每個提交的區塊。它檢查這些區塊的哈希值是否與區塊鏈中特定位置的預期值相匹配。這確保了被驗證的區塊確實是正確的區塊。
· 然後,該函數開始構建proofPublicInput數組,該數組列表成為zk-SNARK證明驗證過程的公共輸入值。每個提交塊的塊號都包含在該數組中。
· 然後,使用proofPublicInput數組和一些存儲的參數,該函數將檢查zk-SNARK證明。這就類似於解決一個謎題,所有碎片都應該完美地組合在一起。
· 如果該證明被驗證,該函數就會更新系統,以反映這些區塊現在已經被驗證。這就像在清單上的項目旁邊打一個勾。
· 最後,對於每個已驗證的區塊,該函數觸發一個稱為BlockVerification的特殊事件。這就像發送一個通知,告知區塊號、哈希值和承諾已經被驗證。
簡而言之,proveBlocks函數就像一個警惕的看門人,確保區塊按照正確的順序進行驗證,確保zk-SNARK證明是準確的,並相應地更新系統狀態。它的目標是防止無效區塊被執行,確保zkSync系統的整體安全性和完整性。
3.2.2驗證者合約
驗證者合約就是實現上述驗證邏輯的場所。它通過檢查zk-SNARK證明來驗證提交的數據,從而充當zkSync的守衛。驗證者合約用於驗證提交給zkSync的數據是否有效。
驗證者合約存儲“驗證密鑰”,用於驗證zk-SNARK證明。每當zkSync想要提交更新時,它都會生成一個zk-SNARK證明,並通過執行者合約提交給驗證者合約。
然後,驗證者合約使用驗證密鑰來檢查證明是否有效。如果有效,則無需查看實際數據就知道更新是合法的。如果無效,則將拒絕更新。
通過驗證這些證明,驗證者合約確保只有正確有效的數據才能被接收到zkSync中。這對於安全性和防止無效狀態更新來說是至關重要的。
3.3數據可用性層
系統的數據可用性層起到存檔的作用,存儲所有交易信息(輸入)、系統變動(輸出)和證明。 zkSync使用智能合約接口來設置其數據可用性(DA)策略。 zkSync計劃為數據可用性提供多種選擇,以降低成本及保護隱私。
3.3.1 zkPorter
zkSync推出了一個名為“zkPorter”的鏈下數據可用性解決方案。該工具旨在與zkSync的rollup系統集成,促進rollup和zkPorter賬戶之間的交互。為了確保zkPorter內的數據安全,特別啟用了“guardians”(監護人)——質押zkSync代幣並通過簽署區塊來驗證數據可用性的個人。
zkPorter作為內部共識協議運行,促進了大量的交易吞吐量。相比之下,zkSync 2.0中的標準ZK Rollup模式每秒能夠處理大約1,000到5,000筆交易(TPS)。 zkPorter則可以管理2萬到10萬TPS,這取決於交易的複雜程度。
使用zkPorter的一個權衡考量是,用戶必須信任zkSync的內部共識機制。這導致了一個不那麼去中心化的rollup解決方案。用戶的考量是在zkPorter(成本較低但安全性較低)或ZK-rollup模式(安全性最高)之間做出選擇。
此外,zkSync 2.0促進了互操作性,允許ZK-rollup和zkPorter賬戶之間的無縫交換。 zkPorter和Starkware Volition之間的根本區別在於數據可用性的確定:在zkPorter中,這個決定是在某個賬戶的基礎上做出的,而在Volition中,這個決定是在某賬戶內的各個交易的基礎上做出的。
4、ZK-Stack和OP-Stack
最近,Matter Labs宣布了即將發布ZK-Stack。 ZK-Stack將提供一個類似OP-Stack的軟件來定制和操作rollup。
OP-Stack和ZK-Stack的共同特性如下:
· 免費開源:兩者都是在開源許可下開發的,確保免費訪問。它們鼓勵開發人員在軟件的基礎上進行開發建設做出貢獻。
· 可互操作:ZK Stack的Hyperchain超鏈概念可以毫不費力地在一個無需信任的網絡中連接,具有低延遲性和共享流動性。此外,OP-Stack還設想了一個Superchain超級鏈概念,以連接所有基於OP-Stack的鏈。
· 去中心化:為了實現更加去中心化的網絡和社區,OP-Stack和ZK-Stack都在近期路線圖中明確提出了去中心化的計劃。此舉不僅增加了網絡的彈性,還確保了更公平的權力和控制權的分配。
儘管從理念角度來看有相似之處,但從技術和業務的角度來看存在著差異。本部分內容將深入探討以下角度之間的區別。
(1)Dapp開發者
(2)核心開發者
(3)業務
4.1 Dapp開發者角度
4.1.1 EVM等效性
OP-Stack的EVM部署:OP-Stack的EVM是通過對以太坊的geth進行微小變動實現的,讓系統幾乎可以完全兼容EVM。另一方面,ZK-Stack在EVM操作碼中合併了一些更改,還有一些操作碼尚不支持。儘管進行了這些更改,但影響卻很小,而且這些項目已經在現實世界中經過了嚴格的測試和驗證。
然而,由於ZK-Stack的非EVM等效性,已經出現了一些事件。一個值得注意的例子就是有921枚ETH被困在智能合約中,因為合約使用了transfer函數。這個問題已經得到有效解決。
4.1.2原生帳戶抽象
與ERC-4337不同,ZK-Stack的架構包括一個原生帳戶抽象(AA)功能。在像ERC-4337這樣的系統中,有必要建立一個單獨的UserOps內存池來允許在網絡中進行帳戶抽象。
4.1.3隱私支持
通過使用validum,在運營商對區塊數據保密的前提下,將數據存儲在其他機密數據庫中可以確保隱私。該特性對企業用戶尤其有利。
4.2核心開發者角度
4.2.1基礎設施運行:OP-Stack更直觀
運行:zkSync和OP-Stack都通過一個Sequencer排序器來協調交易並將數據存入以太坊。然而,zkSync的運行需要一個prover證明者。此證明者應用程序處理由服務器生成的區塊和相關元數據,以構建有效性零知識證明。相比之下,OP-Stack不需要單獨的複雜基礎設施來參與證明挑戰遊戲。
4.2.2 VM替代方案:ZK-Stack有更多的潛力提供各種選擇
zkSync與LLVM編譯器共同運行(該編譯器可轉換為zkEVM字節碼),表明了可以使用其他語言(如C++)建立執行環境的潛力。
4.2.3數據可用性:ZK-Stack提供多種選擇
OP-Stack的數據可用性層主要依賴以太坊,在以太坊中存儲所有交易信息和輸出狀態根。這便導致操作OP-Stack鏈的成本很高。然而,已經有人嘗試通過在Celestia DA中存儲交易數據來抵消這一成本。
ZK-Stack正在大力研究和開發像zkPorter這樣的數據可用性解決方案的替代方案。這種方法使用戶能夠根據他們對更高安全性或更低成本的偏好來確定自己的數據可用性。此外,希望維護數據隱私的企業可以採用像Validium這樣的解決方案,支持不被洩露的數據存儲。
4.3業務角度:成本與收益
今天,啟動獨立的rollup已經成為一種可行的選擇,特別是像ZK-Stack和OP-Stack這樣的開源軟件就在被公開開發和維護。此外,如Caldera和Conduit 這樣的Rollup-as-a-Service (RaaS)平台大大簡化了流程。
拋開開發者的角度來看,現實地評估rollup運營相關的潛在成本和收益是至關重要的。然而,由於若干變量,預測這些金額可能會非常複雜。
由於正在定期進行代碼庫的主要改進,從最近的Optimism的Bedrock升級中可以看出,與運行rollup相關的成本正在迅速降低。這種動態性使得準確預估成本和收益具有很大的挑戰性。此外,由於通常是由單個實體管理全部rollup,因此與服務器和基礎設施相關的具體成本並沒有廣為人知。最後,基礎代幣價格的波動(如zkSync和Optimism的ETH)增加了另一層不確定性,因為成本可能會根據市場情緒而波動。
一些主要的成本和收益如下:
4.3.1成本
· L1發布成本:存儲交易、狀態根、證明數據的成本。通常,optimistic rollup的發布成本更高,因為它需要存儲用於驗證的原始交易數據。有些rollup發布狀態差異,而非完整的狀態數據,以避免產生進一步的成本。
· L2排序器運行成本。
· 證明成本:對於zk來說是證明生成和驗證成本;對於欺詐證明來說就是證明挑戰成本。
4.3.2收益
· L2交易費用
· 可能是MEV,但為了避免中心化問題,目前已知的大多數L2排序器並不提取MEV。
5、結論
Matterlabs一直致力於zkEVM的開發,並取得了重大相關進展。儘管並不完全兼容EVM (Type4 EVM),但利用LLVM似乎具有很大的潛力。 Matterlabs的下一階段計劃是發布ZK-Stack,該代碼庫將使開發人員能夠利用其可靠的代碼庫來創建自己的rollup。該工具承諾比OP-Stack具有明顯的優勢,特別是在隱私保護和可擴展性方面。
然而,這兩個項目仍處於早期階段,還需要做大量的工作。對部署相關的成本和收益結構進行徹底的評估是至關重要的。此外,還有一個重要的挑戰在於圍繞這兩個代碼庫培育開發者生態系統。詳細的分析和戰略規劃對於確保平台及其相關技術的可持續發展至關重要。
我希望兩個項目都能蓬勃發展,希望開源建設和共享路線圖成為web3領域的常態。