ZK-PoW 演算法是什麼?混合了 PoS 和 PoW 兩種模式的 ZK-RaaS 平台 Opside,可將驗證供給擴容L2與AI證明。
(前情提要:分析Polygon四大ZK解決方案:有何特點及優勢? )
(背景補充:科普|zk-SNARKs是什麼?V神定調零知識證明未來十年「非常重要」 )
TL;DR
Opside 提出的 ZK-PoW 演算法,具有以下優勢:
- 一個市場化的 ZK 算力定價機制,不但可以用於擴容(ZK-Rollup),在未來也可以應用於 AI(ZKML)
- 為即將到來的 ZK-Rollup(尤其是 zkEVM)的大規模爆發提供了海量算力平臺;同時也為大量閒置的礦工提供了新的挖礦場景
- ZKP 的兩步提交演算法,為 ZK-Rollup 提供了標準的去中心化 Prover 機制
- 優化的 ZKP 計算與提交機制,將生成 ZKP 的效率提高了 80%
為什麼我們需要 ZK 算力的 PoW 演算法?
當前,以太坊主網上已經有多個 ZK-Rollups 在運行了,包括 Polygon zkEVM 以及 zkSync era。然而實際上目前絕大部分的 ZK-Rollup 專案都沒有實現去中心化的 prover。例如 Polygon zkEVM 的 beta mainnet 中依靠 trusted aggregator 來提交 ZKP,zkSync era 也是類似。
當 ZK-Rollup 數量不多的時候,中心化的 prover 是可行的。但是隨著 ZK 擴容技術的成熟,特別是未來一到兩年時間內 zkEVM 技術的逐漸落地,ZK-Rollup 數量將迎來非常可觀的增長。在海量 ZK-Rollup 的情況下,中心化的 prover 也會引發很多問題:
首先,prover 成本高昂,且需要專業的裝置與機房,不是每一個 ZK-Rollup 的運營者都具有維護一個中心化的 prover 叢集的能力。因此我們需要專業的礦工來承擔未來海量的 ZK-Rollup 的算力需求
其次,如果只有一個 prover,那麼單節點當機就會造成整個 ZK-Rollup 的交易無法被確認。我們需要一個去中心化 Prover 機制來鼓勵多個礦工同時參與一個 ZKP 的計算,並獲得對應的獎勵。
最後,我們需要一個標準化的 ZKP 優化演算法,來提升整體的硬體效率。
Opside 的 ZK-PoW 演算法
作為一條高度去中心化的公鏈,Ethereum 已經擁擠不堪,gas fee 極其昂貴。很多 Web3 應用,尤其是金融衍生品、Game、社交網路等,需要往 layer 2 或者其他公鏈遷移。其實,單純提供高效能和低 gas 的執行環境並不難,一些中心化的方案可以很容易做到這一點。難的是如何在保證高效能和低 gas 同時,保持高度的去中心化程度。
在 Opside 的設計中,每一個 Web3 應用都可以擁有一個專屬的 ZK-Rollup,並且可以自由選擇 base chain。目前,Opside 支援 4 條 base chain,分別是 Ethereum、Opside、BNB chain、Polygon。也就是說,開發者可以選擇在這 4 條公鏈上面部署自己的 ZK-Rollup。為了支撐數量眾多的 ZK-Rollups 帶來的海量硬體資源的需求,Opside 還提供了一個統一的 ZKP 算力市場,鼓勵 Miner 來為這些 ZK-Rollups 生成 ZKP。
PoW 的獎勵分配機制
Opside 採用了 PoS 和 PoW 混合共識。其中 PoS 部分是基於 ETH2.0 的共識改進的。因此,Opside 將擁有超過 10w 多個 validator 來提供海量的資料可用性,同時具有高度的去中心化程度。
在 Pre-Alpha 測試網階段,根據 PoW 演算法,一個 Opside 區塊內,每個 Rollup 會按照一定規則提交一個 sequence。所有 sequence 根據當前 Rollup slots 註冊數量來以及包含的 batch 數量來劃分當前區塊的 PoW 獎勵。當然,可能某些 rollup 在某些區塊沒有提交 sequence,因此 PoW 實際的通膨會低於預期。
Miner 可以自由選擇參與其中一個或者多個 Rollup 的 ZKP 計算。在未來,各個 sequence 將根據對應的 ZK-Rollup 型別、所包含的 Rollup 交易數量、gas 使用量等進行工作量預估,從而對不同 sequence 進行不同的定價。
為了避免 Miner 相關的惡意行為,Miner 需要在一個特殊的系統合約中註冊,並質押代幣。Miner 需要在系統合約中為一個 Rollup 質押相應的 token,才可以為該 Rollup 提交 ZKP。Miner 提交 ZKP 獲得的獎勵也將依據質押量比例來分配,從而避免 Miner 多次提交 ZKP 的惡意行為。
更多細節請參考 Opside Tokenomics
ZKP 的兩步提交演算法:標準的去中心化 Prover 機制
為了鼓勵多個礦工同時參與一個 ZKP 的計算任務,Opside 提出了一個兩步提交的 ZKP 驗證機制。一個 ZKP 對應的 PoW 獎勵份額,會按照一定規則分配給有效 ZKP 的提交者,也就是礦工。
提交 proofhash:在一個時間視窗內,對於某個 sequence,允許多個礦工參與 zero-knowledge proof 的計算。各個礦工計算出 proof 之後,並不直接提交原始的 proof,而是計算(proof /address)的 proofhash,並向合約提交 proofhash。
提交 ZKP:在時間視窗後,礦工提交原始的 proof,並與之前提交的 proofhash 進行驗證。驗證通過的礦工都可以得到 PoW 獎勵,獎勵金額按照礦工質押量的比例來分配。
更多細節請參考 ZKP’s Two-Step Submission Algorithm
優化的 ZKP 生成演算法:礦工效率提高了 80%
Rollup 的智慧合約驗證 ZKP 的時候,如果提交的是原始 proof 資料,就有可能引發鏈上攻擊行為。為了防止惡意攻擊行為,ZK-Rollup 往往需要進行額外的工作量來隱藏原始的 proof 資料。有一種解決方案是,礦工提交的 ZKP 包含了對礦工地址的聚合結果。Opside 提出的 ZKP 的兩步提交演算法,則巧妙地採用了先提交 + 後驗證的模式,不再需要對 proof 和地址做類似的不必要的聚合計算。
此外,在一些開源的 zkEVM 中,ZKP 的計算與提交都是序列的。當 ZK-Rollup 提交了大量的 sequence 時,礦工無法同時計算多個 ZKP。在 Opside 中,ZKP 的兩步提交演算法實現了 ZKP 的平行計算與序列提交,允許礦機同時執行多個 ZKP 生成任務,從而大大加速了 ZKP 的生成效率。
Opside 團隊還對 ZKP 遞迴聚合演算法進行了一系列的優化,充分提升了叢集內機器資源的利用率,進一步提高了 ZKP 的計算速度。
在實際的壓測環境中,礦工擁有 20 臺 128 core CPU + 1TB RAM 組成的機器叢集,測試交易穩定在 27.8TPS 約 40 分鐘。在相同條件下,Opside 將交易的平均確認時間從約 5-6 分鐘降低到了約 3 分鐘,ZKP 生成效率提高了約 80%。在未來,隨著更多 ZK-Rollup 以及礦工的加入,ZK 算力市場的需求端和供給端的規模將進一步擴大,Opside 的 PoW 演算法帶來的效率提升將體現得更加明顯。
總結
Opside 提出的 ZK-PoW 演算法,創造性地定義了一個市場化的 ZK 算力定價機制。這個算力市場為即將到來的 ZK-Rollup(尤其是 zkEVM)的大規模爆發提供了海量算力平臺;同時也為大量閒置的礦工提供了新的挖礦場景。
ZKP 的兩步提交演算法,為 ZK-Rollup 提供了標準的去中心化 Prover 機制,鼓勵更多的礦工提供穩定、持續的 ZKP 算力。同時,優化的 ZKP 計算與提交機制,將生成 ZKP 的效率提高了 80%
在未來,Opside 的 PoW 機制的應用場景可以輕易地拓展,不但可以用於擴容(ZK-Rollup),在未來也可以應用於 AI(ZKML)。
📍相關報導📍
ZK鏈挖礦有戲?ZK Rollup 認證者交由「礦工」浮現端倪