原文作者:Ray
原文來源:ArkStream Capital 公衆號
目前來看,區塊鏈所有設計的出發點,本質都是圍繞區塊。交易構成區塊數據,共識機制決定區塊生成、驗證和順序。按照交易的角度思考,交易經過用戶私鑰簽名發起,經由網絡廣播,進入全網交易內存池,區塊構造者/MEV 搜索者/定序器挑選交易,提交交易列表給區塊構造者,區塊構造者/區塊生產者向網絡提交區塊,區塊驗證者驗證區塊合法有效以後確認上鍊。按照區塊的角度思考,區塊要完成構造、提交上鍊和上鍊確認三個步驟。去中心化的設計機制,會爲交易或區塊的每個環節增加全網成本和安全性,以此實現機器信任。合法的最長區塊鏈,我們稱之爲主鏈/一層網絡/基層鏈/Layer1。
在軟件設計開發領域,設計模式有單一職責、設計架構有分層架構,設計原則有高內聚低耦合,這一切的理論和指導爲的都是以模塊化的思想重構軟件。區塊鏈的模塊化,可以從數據可用(數據層)、邏輯執行(執行層)和共識機制(共識層)三個主要層面進行劃分。如果將擴容對應到這三個層面,那麼,分別會有數據層擴容、執行層擴容和共識層擴容。爲了簡化,我們按照主鏈變動與否,分爲鏈上擴容和鏈下擴容。鏈上擴容方案有增加區塊大小、分片、調整共識機制。鏈下擴容方案有隔離見證、狀態通道、側鏈、Plasma、Rollup。DeFi 的爆發和 NFT 的盛行讓以太坊網絡的擴容需求日益激增,2021 年 12 月,Vitalik 發佈了《Endgame》,描繪了以太坊的未來將會是中心化出塊、去中心化驗證以及多 Rollup 並存的。在 Vitalik 的大力支持下,Rollup 成爲了以太坊鏈下擴容的主流方案。在衆多的 Rollup 細分方案中,按照技術類型,可分爲 Optimisitc Rollup(ORU)和 ZK Rollup(ZKR),他們之間主要的區別是交易有效性保證方案不一樣,Optimistic 採用博弈的欺詐證明,ZK Rollup 採用數學的零知識證明。
不管是 Optimistic Rollup、還是 ZK Rollup,它們都要在繼承以太坊的安全性和數據可用性前提下,處理大量的交易和支持智能合約的通用計算。Optimistic Rollup 是將大量的交易數據進行壓縮,然後把壓縮以後的交易數據和狀態根提交到以太坊。另外,Optimistic Rollup 網絡設有挑戰者的角色,它們可以對提交到以太坊的數據進行欺詐證明,然後再經由 Optimistic Rollup 網絡共識回滾無效的交易。至於 ZK Rollup,批量處理交易數據的時候,使用了零知識證明技術,在保證了交易數據有效性的基礎上,直接將證明提交到以太坊,即時達成狀態的最終一致性。在智能合約通用計算方面,Optimistic Rollup 是直接延用以太坊 EVM,而 ZK Rollup 的團隊要麼是研發 zkVM、要麼是採取 zkEVM 的道路,所以,dApp 的項目可以在 Optimistic Rollup 無縫遷移,而在 ZK Rollup 網絡大部分都需要做可大可小的改動。
不同種類的 Rollup,設有特別的網絡參與者,ORU 有提出欺詐證明的挑戰者,ZKR 有進行計算和聚合零知識證明的計算證明者和聚合者。Layer2 通過將二層網絡的交易批量處理(Rollup)以後,提交到一層網絡特定的智能合約,由此獲得一層網絡的安全性和數據可用性。此時,一層網絡的去中心化程度、區塊驗證機制都會成爲二層網絡交易有效性的背書。
在 Layer2 網絡技術方案和架構,相比於採用博弈模型的 ORU,採用零知識證明,能進行數學驗證的 ZKR 將更有技術優勢,只是後者發展相對緩慢,需要更多的時間,因此也有大量的項目在這個領域進行前瞻式的探索。接下來,我們將探討多個 ZKR 相關項目。
Starkware:基於自研 STARK 協議,發明 Cairo 電路編程語言及其 zkVM 的技術服務商。產品線有專用型的 StarkEx 和通用型的 StarkNet。StarkEx 定位是服務特定應用需求的二層網絡擴容引擎,已經服務不少客戶,例如 Sorare、Immutable、dYdX(V3)、DeversiFi(rhino.fi)、Celer 等,現在也有超過 6 億美金的 TVL、2 億多的交易量等業務數據。
StarkNet 定位是通用的、可組合的、去中心化的 ZKR。整個 StarkNet 的核心參與者:StarkNet OS、STARK Prover 和 Blockchain Dispatcher。StarkNet OS 類似於 EVM 在以太坊的角色,承擔交易排序和交易零知識證明計算任務分派。STARK Prover 是交易零知識證明的證明方,負責計算證明。Blockchain Dispatcher 是 L1/L2 網絡之間通信的橋樑。

Figure1: StarkNet Intro

Figure2: StarkNet Messaging Mechanism L2->L1
StarkNet 官方網關 StarkGate 已經發布上線,會不定期開放限制額度的存取款體驗,現在橋接的資產總數大概爲 775 個 ETH。Cairo 語言風格偏向 Golang 和 Python 之間,新增電路編程語言的原生類型:Field Element(felt),開發通用庫偏少,主要是官方提供。不支持 zkEVM,也即不支持 Solidity 代碼的直接編譯部署,需要先通過 Warp 轉譯器轉成 Cairo 代碼再做部署,Solidity 部分特性明確不支持,其中影響比較大的是 SHA256。StarkNet 的生態項目涵蓋錢包、DEX、DAO 等多個賽道,以原生項目爲主,和以太坊 dApp 項目重合度較低,具體可以參考官方生態網站。從區塊瀏覽器可以看到,目前沒有頻繁的交易數量,每個 Block 的平均交易數是 115 筆左右。
StarkNet 發佈了多次 Alpha 版、當前處於 Constellations 階段,正在研究和實現去中心化的 StarkNet OS 和 StarkNet Prover。

Figure3: StarkNet Decentralization Roadmap
zkSync:基於 PLONK 協議(1.0 版本)和自研無需可信設置的、透明的 RedShift 協議(2.0 版本/未來),支持 Solidity/Vyper 編程的 zkEVM 的 ZKR。zkSync 1.0 之前推出 Zinc 電路編程語言和對應的 SyncVM(zkVM),現在基本停滯,改爲支持 Solidity/Vyper 編程的 zkEVM,也即 zkSync 2.0。現在處於 zkSync 2.0 測試網迭代階段,未來 100 天將會發布主網和實現 zkEVM 開源。除了數據上鍊的 zkRollup 方案,zkSync 也推出數據不上鍊的 zkPorter 方案。zkSync 2.0 用 Operator 操作者和 System Contracts 系統合約的設計完成 L2 到 L1 合約部署功能、L2/L1 通信功能等。當前的 Operator 操作者由 zkSync 團隊運行,未來將進行去中心化改造。由於 zkSync 宣稱 EVM 字節碼的兼容性,且作爲社區驅動型項目,zkSync 獲得不少以太坊知名 dApp 項目方支持,例如 1inch、Yearn Finance、Aave、Chainlink 和 The Graph 等。zkSync 的生態項目可以通過官方生態網站查詢,Live 狀態的有錢包、衍生品交易平臺和橋等。從區塊瀏覽器可以看到,提交確認的區塊有接近 10 萬,總交易數超過 1 千萬,平均每個區塊交易數爲 100 筆。zkSync 2.0 測試網運行約有半年,一直在進行 zkEVM 的實現和以太坊 JSON-RPC 的兼容。zkSync 的 2.0 版本可能是最快上線的兼容 zkEVM 的 ZK Rollup,待其上線後,將很大程度上降低用戶門檻,進一步吸引用戶使用該 L2 網絡。

Figure4: zkSync 2.0 100 Days to Mainnet
Scroll:原生 zkEVM 方案、集成 ZK 各項前研技術(多項式承諾、Lookup Table、遞歸證明)和 GPU/ASIC 硬件加速的 ZKR。Scroll 的 L2 網絡由 Node(Replayer、Sequencer、Coordinator)和 Roller組成,以及對應的 L1 上面的 Bridge 和 Rollup 智能合約。推薦大家直接閱讀官方發表的架構講解文章,非常通俗易懂。這裏我們簡單說說:Sequencer 接收 L2 交易,處理 L2 交易列表,構造區塊和狀態根,Coordinator 監控區塊和分發區塊的執行棧給 Roller,Roller 計算 zkEVM 的電路和生成聚合電路證明,再返回給 Coordinator,Coordinator 通過 Replayer 提交到 L1 的 Rollup 合約,Replayer 也承擔 L1/L2 通信橋的功能。由於 Scroll 和以太坊基金會 PSE(Privacy & Scaling Explorations)共同在隱私和擴容問題研究一年多時間,Scroll 的 zkEVM 方案非常原生。從 Scroll 公開的代碼倉可以看出,zkEVM 方案是與 PSE 一致聯動的,而 L2 的 Node 會基於以太坊 Go-Ethereum(Geth)實現。近期 Scroll 有 Pre-alpha 測試網的註冊。

Figure5: Scroll Architecture

Figure6: Scroll Workflow
Polygon(MATIC):最開始提出的時候是以太坊的側鏈,在轉變策略後,Polygon 併購了多個 L2 解決方案,開始進行大範圍的擴容探索,這裏我們將對其中幾個涉及 zk 的 L2 方案進行簡單的介紹。

Figure7: Polygon Scaling Solutions
Polygon zkEVM(Hermez):Hermez 1.0 採用去中心化競價模型的 PoD(Proof of Donation)共識機制以及 ZKR 做的主打支付功能 L2,主網在 21 年 3 月上線,區塊瀏覽器,斷斷續續有批量產生的交易。Hermez 2.0 調整爲 zkEVM 方案的 L2,共識機制升級爲 PoE(Proof of Efficiency)。Hermez 2.0 的 L2 架構圖如下,可以看出和 Scroll 的架構很類似,我們就不再複述 L2 各方角色交互的基本流程和作用。在 zkEVM 發揮核心作用的是 zkProver(同比 Scroll 的 Roller),我們一塊看看 zkProver 的內部組成。zkEVM 以多項式形式表達狀態流轉(參考上一篇文章的虛擬機部分,多項式形式/約束直接理解爲零知識證明的電路)。

Figure8: Skeletal Overview of zkEVM
zkProver 內部包含 Main State Machine Executor(Executor),Secondary State Machines(STARK Recursion Component),STARK Builder(CIRCOM Library)和 SNARK Builder(zk-SNARK Prover),括號爲另一種理解方式,參考圖。
1. Main State Machine Executor:是將交易的 EVM 字節碼用 zkASM(zero-knowledge Assembly language)進行解釋和設置多項式約束,與此同時,Polynomial Identity Language(PIL)用於編碼多項式約束。
2. Secondary State Machines:將 zkEVM 的交易對應的狀態流轉進行拆分,用對應多個狀態機去計算和驗證交易的正確性。
3. STARK Proof Buidler:計算生成符合 STARK 多項式約束的證明(計算速度快)。
4. SNARK Proof Builder:計算 STARK 的 SNARK 證明(縮小證明的大小),PLONK/Groth 16 暫定。

Figure9: A Simplified zkProver Diagram

Figure10: Simplified Data Flow in the zkProver
至於 Hermez zkASM/PIL 等介紹,都可以在官方資料文檔看到,很齊全,並且各個功能模塊的代碼倉已經開源且有持續維護。

Figure11: Polygon zkEVM Open Source
概括而言,Hermez 2.0 是結合 Plonkup
Lookup、Starkware 的 STARK 協議,採用新彙編方案實現的 zkEVM 型、PoE 共識去中心化的 L2。計劃 2022 年 Q3 發佈測試網,2023 年發佈主網。
Polygon Zero:基於 Plonk 協議和 FRI 技術的自研 Plonky2,zkEVM 兼容的 L2。Polygon 花費 4 億美元收購的 Mir 項目更名而來。Zero 的資料主要是在 Mir 的官網和 Polygon 的博客查看。Zero 宣稱的特點是支持遞歸、高效快速、證明大小很小。項目代碼倉一直在更新,且其中包含 evm 的模塊。由於資料較少且時間久遠,暫時不清楚 Zero 未來的路線,目前來看,Plonky2 的架構可能更偏向於技術服務型的框架,近期宣佈開源 Plonky2。

Figure12: Polygon Zero Processing A Block
Polygon Miden:基於 STARK 協議,支持多語言開發(含 Solidity)、兼容 EVM,推出電路編程語言 Miden Assembly 彙編及其 Miden VM 的 L2。Miden VM 是 Distaff VM 的進化版,集成了 Facebook 開源的證明系統庫 Winterfell。從官網的架構圖,Miden 有 Operator 的設計,但這部分內容、EVM 兼容和 L2 路線和進展都沒找到任何官方資料文檔。Miden 現在的代碼倉以 VM 爲主,兼容 EVM 部分也沒有看到說明和實現方案。

Figure13: Polygon Miden Intro
Polygon Nightfall:主打隱私的、混合了 Optimistic 和 ZK 兩種 Rollup 方式的企業級 L2。本質依然是 ORU 的 L2,但是結合了 ZKP 的技術加強隱私保護。Nightfall 是由安永公司創建,與 Polygon 合作是爲了在企業級區塊鏈方面進行更多的探索。主網計劃在 2022 年發佈。

Figure14: Polygon Nightfall Intro
Mina:除了 L2,還有一些項目基於 ZKP 對 L1 進行擴容上的探索,比如 Mina,一個基於遞歸 SNARK 開發的輕量級區塊鏈(L1)。整個區塊鏈網絡維護最新區塊的 SNARK 證明即可保證整個區塊鏈的正確性,大小維持在 22KB。網絡有維護完整數據的 Archive Node,執行共識機制生產區塊的出塊者和處理零知識證明計算的 SNARK 生產者。Mina 提出用 TypeScript 編寫的 zkApp,如果要實現對應 zkApp 業務邏輯,需要開發者實現內部的 Prover 和 Verifier 函數。Mina 主網在 2021 年 3 月發佈上線,網絡架構和 L2 的批量交易類似,Archive Node 相當於數據可用層的維護者,出塊者相當於定序器,SNARK 生產者類似於 Scroll 的 Roller、Hermez 2.0 的 zkProver 角色,但是 zkApp 的應用定位比較侷限,既沒有 zkVM 的通用性,也不支持 zkEVM。後續可以繼續跟進 Mina 的 zkApp 迭代進展。
綜上,ZK 在擴容領域的技術發展依然在如火如荼進行中,尤其是 zkEVM 的實現,L2 網絡架構的實現和去中心化改造。從 ETHGasstation 近 30 天前二十燃燒 Gas 合約大戶來看,主要是 Opensea、DeversiFi、Uniswap、USDT、USDC、Metamask Swap、Axie Infinity、NFT Worlds 等項目。L2 要想得到廣泛應用,必須獲得這些 DEX、NFT 的 MarketPlace、GameFi,以及金融衍生品等具有高頻交易場景的項目支持。儘管部分 L2 項目的生態處於領先,但是,zkEVM 的落地,很有可能實現彎道超車,導致 L2 賽道的重新洗牌。zkEVM 的落地有利於吸引 L1 現有項目的遷移,很多 Web3 開發者也正摩拳擦掌,期待在以太坊網絡上構建更大規模、更高頻交互的顛覆性產品。
如果說 Web3 代表着個體主權的覺醒,那麼,隱私將是 Web3 不可或缺的一環。隨着行業的發展,DeFi 的可組合性和 NFT 給社交帶來的變化,都讓我們越發感受到了資產所有權相對於中心化託管的安全和便利,而鏈上完全透明的信息則進一步激發了我們對隱私保護的需求。但面對各個國家不斷升級的監管政策,隱私保護怎麼做,做到什麼程度,則是一個值得討論的問題。
近期,美國財政部出臺政策直接對以太坊生態的隱私支付平臺 Tornado Cash 進行制裁,進而導致與 Tornado Cash 交互過的地址被 USDC 發行商 Circle 拉入黑名單,以及 Tornado 網站頁面、代碼倉 Github、官方電報、官方 Discord 等一併關停。我們認爲,人人都有保護自己隱私的訴求和權力,隱私產品的濫用並不意味着它們自身帶有原罪,隱私產品的設計初衷是在於保護用戶常規的轉賬支付隱私。不可否認,不法分子/黑客對其的使用的確帶來很多問題,但關鍵並不是取締隱私產品,而是努力尋找辦法兼顧隱私和合法合規,例如 ZCash 對於全球 AML/CFT 反洗錢標準的兼容嘗試以及 Tornado Cash 提供的資產合規證明工具。
現在加密行業裏涉及的隱私實現方案,因爲各自的使用場景不同(隱私支付、隱私交易和隱私通用計算),選用的方案也有不少差異,主要涉及到的有以下 6 類:
1,混幣 CoinJoin/混幣器 Mixer:主要是用於隱匿支付,基於 UTXO 模型,本質是創作多筆相同的輸入和輸出的Token轉賬來達到隱匿支付。可以在一定程度實現隱匿支付。不過,如果真要地址分析和控制,大不了是控制全部輸出的取款地址即可。爲了克服混幣方案的問題,達世幣是提出隱私支付層的概念,讓隱私支付層參與存款地址的混合,以及減少存取地址之間的關聯。Tornado 則是結合 ZKP 切斷存取地址之間的關聯。
2,環簽名:多個地址組成環,環內某個地址的簽名可以不依賴其他地址即觸發環簽名,以及實現環內地址簽名的隱私性。門羅幣最早的方案。
3,同態加密:直接對密文進行計算和輸出結果。我們認爲該項技術屬於前沿型技術,和零知識證明類似,但是對於密文操作的開銷非常大。現在在這個技術方向探索的有 Polychain Capital 和 Coinbase Ventures 投資的 Sunscreen。
4,安全多方計算(MPC):在沒有可信第三方參與的前提下,讓多個參與方可以安全不泄露地進行計算。萬向區塊鏈董事長肖風博士發起的 PlatON 在這方面有比較長時間的研究使用。
5,TEE(Trusted Execution Environment):可信執行環境,類似於黑盒子的概念,將輸入傳入 TEE,然後 TEE 執行出結果以後,加密輸出。現有使用該項技術的主要是 Oasis 和 Secret Network。
6,ZKP:利用零知識證明技術實現隱私支付和隱私通用計算。隱私支付的新項目有 Iron Fish,PoW 網絡+UTXO 模型+Groth16 的 zk-SNARK,和 ZCash 的設計很相似,沒有提到是否支持隱私編程。隱私通用計算項目最出名的是 Aleo、Aztec 和 Espresso。
講完基本的實現方案,我們挑選一些涉及到零知識證明的項目展開學習和分析。
Tornado Cash:我們經常看到的介紹是,用戶向 Tornado 存款,取得存款憑證,然後在取款的時候,任意用戶(地址)使用存款憑證即可取出資金,如此實現的隱私支付交易。這樣的說明是從使用體驗角度出發的,但是,並沒有深入到 Tornado 的內核。Tornado 實現隱私的技術有兩點:混淆資金進出的整存整取資金池,切斷存取地址關聯的 ZKP。
混幣池相對容易理解,所以,我們將分析重心放在 ZKP。由於現在 Tornado 的前端網站和代碼倉都關停,難以找到官方的資料,所以,我們直接從鏈上交易和合約代碼進行分析,用戶實際與 Tornado 要做的操作只有兩種:存款和取款。這都是通過 Tornado Cash 的路由合約進行,路由合約會調用具體存取金額(1ETH/10ETH 等)的合約。存款操作 Tornado 返回用戶 Note,向鏈上提交 Commitment。取款操作向鏈上提交 Proof、Root、NullifierHash。這幾個參數,它們由 Tornado 的中心化代碼構造生成,是理解 ZKP 使用的關鍵。
我們將 Tornado 類比爲一個負責存取款的銀行,以太坊類比爲公開的金庫,即可較爲容易地理解用戶在 Tornado 的操作步驟:
1,存款:用戶填寫存款單據,銀行使用單一專門的保險箱(Commitment)保管存款單據,並且根據隨機編號生成兩個密碼,一個密碼用於給保險箱上鎖,一個密碼用於記錄資金的存取狀態,然後,將上鎖的、具有資金存取狀態的保險箱放入公開金庫的某個祕密隨機位置。銀行將保險箱、隨機編號和保險箱存放位置信息返回用戶(Note)
2,取款:用戶把隨機編號和保險箱存放位置告訴銀行,銀行可以通過計算得知:保險箱的祕密隨機位置(Root),資金的存取狀態(NullifierHash),以及保險箱的開鎖密碼(Proof)。一切檢查驗證無誤的情況下,完成取款以及更新資金存取狀態;
通過 Mixer 混幣器和零知識證明,Tornado 在以太坊主網上實現了隱私支付的功能,且在發行 Token 後,TVL 達到了 10 億美金的體量,可見其巨大的影響力和用戶需求。

Figure15: Tornado Cash TVL and MarketCap
Aztec:主打隱私保護和隱私資產互操作性的 zk-Rollup Layer2 網絡,採用自主研發的 Plonk 協議,推出了 zk.money 隱私支付產品,近期推出連接橋 Aztec Connect,未來將會推出 Plonk Rollup 的擴容二層網絡。在 Plonk Rollup 二層網絡裏,將會推出電路編程語言 Noir 支持隱私智能合約。Plonk 協議需要進行可信設置,不過,Aztec 採用了 MPC(多方安全計算)解決可信設置。MPC 的可信設置是讓多個值得信賴的公衆知名人士共同去背書。Aztec 在 2020 年 1 月用點火儀式完成了 MPC 的可信設置。產品的迭代路線是逐層推進的,從早期的 zk.money,到近期的 Aztec Connect,以及未來的 Plonk Rollup,Aztec 團隊在一步一步地完善自己的產品定位,以及對應 Plonk 協議的調整和優化(TurboPlonk、UltraPlonk)。在 Aztec 1.0 時期對於 Aztec 協議做了大幅的介紹,現在是 Aztec 2.0 時期,官網找不到太多網絡整體的設計,所以,我們沿用 Aztec 1.0 的文檔進行學習。
zkAsset:隱私資產,於 EIP1724 提出,用於將以太坊公開透明的資產轉爲隱私資產,通過零知識證明確認資產轉入 Note 註冊表以後會鑄造對應的 zkAsset,類似於 Secret 的 Shield 資產(類似於 Tornado Cash 的存款過程,不過,Aztec 在鏈上進行增加了隱私資產的概念)。
Aztec Cryptography Engine(ACE):將證明分發給驗證和根據證明驗證結果更新 Note 註冊表的狀態。
各種 Validator(Join Split、Bilateral Swap Validator......):驗證者工具(類似於 SDK),可以讓開發者集成做隱私資產的互操作。例如:Join Split 可以拆分合並 Note。

Figure16: Aztec 1.0 Architecture
在 2021 年 6 月上線後,Aztec 的 TVL 峯值一度到達 1400 萬美金,而現在穩定在 400 萬美金左右。相比於 Tornado 的體量,Layer2 的隱私網絡受衆似乎要小很多,一定程度上可能受制於其更高的門檻。且受 Tornado 事件的影響,與以太坊主網產生交互的其他隱私產品也受到了一些牽連, 這可能是日後需要開發者們探討的問題。
Aleo:Aleo 是爲用戶和交易增加隱私功能,同時兼顧可編程性的新型 Layer1 區塊鏈網絡,內置的 SnarkOS(去中心化的操作系統),類似於 EVM 的角色。提出 ZEXE(Zero Knowledge EXEcution)的概念,和 TEE 的定義很相似,只是用零知識證明去實現。具有可選的隱私模型,對開發者提供一整套的開發工具鏈。Leo 語言,Aleo Studio(IDE)、Aleo Package Manager。最新激勵測試網從單純的 PoW 共識調整爲 PoSW(Proof of Succinct Work),將零知識證明的計算轉移成爲出塊的條件。現在在 Aleo 的區塊鏈瀏覽器可以查看驗證狀態的轉變、以及對交易記錄進行零知識證明計算的 Proof。

Figure17: The Future of Zero Knowledge with Aleo
Espresso:對於 Aleo 和 Aztec 各自的特點都有所研究和改進,基於 ZK Rollup 的 L2 和可配置資產隱私的 L1 雙層網絡。可配置隱私資產允許資產創建者設置資產的收發地址、收發數量、持有數量等的隱私查看規則和資產凍結規則。對於 ZEXE 的概念提出自己的 VERI-ZEXE,對於 Aztec 的 TurboPlonk 和 UltraPlonk 提出自己優化版的 PLONK,並將 Rust 實現版代碼命名爲 Jellyfish 和開源。當前,Espresso 的 L1 網絡正在研發。可配置資產隱私在以太坊測試網內測,或者可以通過官網安裝包進行本地體驗。

Figure18: Espresso Systems Configurable Asset Privacy for Ethereum
Zecrey:雙層網絡,支持多鏈 ZKR 的 L2、以及具有跨鏈功能和隱私保護的 L1,但是不支持 zkEVM/zkVM。L1 的隱私是基於 BulletProofs 協議改良版(LNCS)/ Sigma 協議的混淆資金池,直接在公鏈層面向用戶提供隱私轉賬和隱私交易的功能。L2 的 ZKR 使用的是 PLONK 協議。參考官方白皮書的架構圖,有一大部分是 L1/L2 進行 ZKR 的設計,我們拿出來分析學習。
Layer-2 Commiter:收集交易和構造 L2 區塊。
Block Monitor:L2 區塊狀態更新者。
Prover Network:L2 交易 Rollup 之後,進行 ZKP 證明的計算網絡。
TSS-based Verifier Network:驗證者網絡,將收集 Prover Network 的證明,然後提交到 L1 的智能合約。
Tx Monitor / Layer-2 State Monitor / Executor:L1/L2 的橋。
L2 到 L1 進行 ZKR 的時序設計基本一致,部分角色命名和分工略有不同:
Committer 收集交易,構造 L2 區塊,Prover
Network 監聽區塊,爲 Committed 狀態的區塊計算證明,TSS-based Verifier Network 收集證明,將證明提交到 L1 的智能合約,Block Monitor 監聽 L1 區塊打包情況,確認後更新 L2 區塊狀態。
Zecrey 現在處於測試網研發階段,已經集成 Ethereum、Polygon、NEAR、Avalanche 和 BSC 五個公鏈測試。從官網路線圖看,2022 年 Q3 將會發布主網。

Figure19: Zecrey System Architecture
Manta Network:波卡生態的包含多資產隱私支付協議和 AMM 隱私交易協議的 DeFi 隱私協議棧(隱私平行鏈)。參考官方的架構圖,可以作爲波卡生態各個平行鏈的隱私中轉站。具體隱私方案分別是:基於 Zcash 的 UTXO 隱私支付模型,增加了多資產的支持以及隱私支付通道的技術。使用類似 ZEXE 的方案實現 AMM 隱私交易,內置了零知識證明的電路。

Figure20: Manta Architecture (Implemented as a Parachain)
Anoma Network:以 Intent(意圖)爲中心、有可組合性的隱私保護,可以去中心化發現對手方、解決多鏈原子結算交易的一層網絡。Anoma 架構是參考 Cosmos 的,使用 Tendermint BFT 共識機制,首個主權獨立鏈(Fractal Instance)是 Namada。我們用訂單薄的交易平臺類比理解 Anoma。Anoma 的 Intent 相當於用戶的掛單,掛單可以公開(Transparent)、隱藏(Shielded)或者加密(Private),掛單需要由 Anoma 的 Solver 進行撮合結算(Settle),撮合成功的掛單形成 Anoma 的交易。Anoma 提出自己的 AnomaVM,對應高級函數式編程語言 Juvix 和 VampIR 電路編程語言,AnomaVM 內置支持 ZKP 電路生成和 FHE(全同態加密)。

Figure21: The lifecycle of a transparent, shielded, and private intent in the Anoma architecture
Iron Fish:基於 Zcash 的 Sapling 協議,以 PoW 作爲共識的隱私支付公鏈。進行了多輪激勵測試網,預計 2022 年 Q4 上線主網。
基於以上項目的信息,我們可以看到,在隱私保護的領域,零知識證明主要應用在隱私支付和隱私網絡的場景中,且大多並非單獨使用,而是結合了 Mixer,TEE,MPC 等其他隱私保護的技術。

Figure22: Web3 Privacy Ecosystem
隱私保護賽道依然有不少的項目在探索研發,尤其是最終面向用戶的隱私應用方向,結合 DeFi、NFT 等應用場景,還有很多延伸的空間,我們也就不一一列舉。回到最初的話題,隱私產品的出現是基於用戶的需求,當我們朝着 Web3 前進時,無論是基於區塊鏈的去中心化金融體系,還是未來 Web3 的社交場景,我們都希望能夠把更多的鏈下行爲置於鏈上,那對於用戶隱私保護的需求就會越發強烈。在衆多隱私保護解決方案中,ZKP 扮演着重要的作用,這也是我們去深度研究的原因。
在前面的章節,我們花了較多的篇幅整理和學習了零知識證明在擴容和隱私方向的項目,零知識證明相關的擴容和隱私項目在一級市場也獲得了資本的青睞,我們對這兩個賽道項目的公開融資數據進行整理,分別如下兩圖:

Figure23: Zero Knowledge Investments In Scaling

Figure24: Zero Knowledge Investments in Privacy Protection
可以看出,ZK 擴容項目估值最高的是 Starkware,高達 80 億,ZK 隱私項目最高的是 Aleo,估值 14.5 億。考慮到項目在隱私和擴容敘事可以並行出發,甚至一些隱私項目是雙層網絡,所以,難以比較兩個賽道的平均融資金額。單從最高估值而言,擴容賽道在一級市場的認可度是高於隱私賽道。擴容賽道之中,在協議、電路語言、zkVM 和服務項目等多方面有優勢的 Starkware 無疑是資本市場的寵兒。另外,其他主打 zkEVM 兼容的擴容項目,也同樣獲得資本市場的熱愛。隱私賽道之中,在電路語言、開發者工具鏈等方面有優勢的 Aleo 比起研發 PLONK 和 PLookup 技術的 Aztec 更爲吃香,也側面說明資本市場對於商業落地型項目的偏重。
二級市場方面,由於幣價波動較大,ATH 的流動性基本不足,我們簡單參考 FDV 的區間。ZKR 型擴容項目暫未發幣,我們借用(ORU)項目 Optimism 進行對標,OP 的 FDV 是 20 億到 95 億;而在隱私保護賽道,ZCash 在 15 億到 45 億之間,Oasis 在 7 億到 59 億之間,Tornado 的 FDV 則從剛上線時的 30 億,一路下跌到現在僅 9000 萬。由此可以看出二級市場對於擴容賽道項目的認可,基本和公鏈處於同一個層級,而對於隱私賽道則相對比較保守。
由於 ZK 這項技術在學術研究層面不斷創新突破,在工程實踐層面也不斷推進落地,因此,投資機構一直都非常鍾愛和熱衷。不僅如此,除了本文提到的兩個主要賽道,ZK 也可以用於其他場景,例如輕量區塊鏈(Mina)、去中心化身份(Polygon ID)和隱私預言機網絡(Chainlink 的 Deco)。從衆多知名 ZK 項目之中,我們觀察到這些不同的項目發展路線和生態發展路線,或多或少都是在構建二層的公鏈。與公鏈的研發技術棧類似,ZK 項目涉及的技術棧依然涵蓋方方面面:零知識證明協議、電路編程語言、語言應用庫/包、語言開發調試工具鏈(IDE)、zkVM/zkEVM 設計實現、去中心化共識機制等。
在面對使用零知識證明的擴容和隱私項目時,我們提煉了一些簡單的思考列表,彙總如下,用於和項目溝通交流學習。
1,不同的零知識證明協議有各自的優缺點,出於什麼考慮進行選擇?
2,假設是 zkVM 型項目,要怎麼高效、安全地設計開發者友好的電路編程語言?
3,假設是 zkVM 型項目,如何搭建一套開發者生態的工具鏈產品?
4,假設是 zkEVM 項目,是否支持 EVM 鏈的智能合約無縫遷移,對於跨合約之間的調用是否有限制(可組合性)?
5,ZK 計算 Proof 的時候,怎樣可以採用 FPGA/GPU 等硬件進行加速?
6,項目之中,Prover 和 Verifier 都承擔什麼作用,是否中心化控制,未來是否有去中心化的設計變化?
7,…共識機制,Token經濟設計,合規性設計等其他問題
零知識證明作爲亟需沉澱的高新技術,非一日之功,資本的迅速入場並不能帶來基礎技術的迅速發展。因此,項目標的的選擇上面,我們會傾向於尋找當下成熟 ZK 項目的生態項目或者實力強勁的學術型研究組織。比特幣是點對點的電子現金支付系統,以太坊是智能合約的世界計算機,彷佛一切都那麼相似,ZKP 起源於支付領域的探索,正逐步朝着通用計算的領域發展。作爲加密行業的用戶和參與者,我們期待看到更多優秀的 ZKP 項目涌現,如果你有任何好的想法,也歡迎隨時跟我們溝通聯繫。
參考鏈接
https://mirror.xyz/0x8C4d5E90196325FB22Fff37C97D7984a37e51D11/dhOEzNXqotPftpjf2gh7Hz7qZwu3lQRWYmlE_sSe7is 全景式解讀 Web3 隱私賽道現狀、演變邏輯與典型玩家 |鏈捕手
https://docs.starknet.io/docs/intro
https://v2-docs.zksync.io/dev/
https://scroll.mirror.xyz/nDAbJbSIJdQIWqp9kn8J0MVS4s6pYBwHmK7keidQs-k
https://docs.hermez.io/zkEVM/Overview/Overview/
https://mirprotocol.org/blog/Scalability-on-Mir
https://aztec-protocol.gitbook.io/zkproofs-proposal/
https://docsend.com/view/ntcsmt7meu84gcqk Zecrey: A Turn-key Solution for Cross-chain and Privacy
https://eprint.iacr.org/2021/743.pdf MANTA: a Plug and Play Private DeFi Stack
https://betterprogramming.pub/understanding-zero-knowledge-proofs-through-the-source-code-of-tornado-cash-41d335c5475f
https://github.com/anoma/whitepaper/blob/main/whitepaper.pdf Anoma: a unified architecture for full-stack decentralized applications
歡迎加入律動 BlockBeats 官方社群:
Telegram 訂閱群:https://t.me/theblockbeats
Telegram 交流群:https://t.me/BlockBeats_App
Twitter 官方帳號:https://twitter.com/BlockBeatsAsia