全鏈遊戲/自治世界是Web3最重要的敘事之一。截至10月底,web3遊戲每日活躍用戶 (DAU) 高達 530 萬,展現出巨大的市場潛力。與Web2.5應用不同,全鏈遊戲/自治世界將遊戲邏輯全部部署在區塊鏈上,直接利用區塊鏈作為遊戲服務器,確保用戶的每個操作都在鏈上真實發生,這帶來了去中心化、可信任、組合性強等顯著優勢,但傳統遊戲在擁抱web3時仍然面臨性能瓶頸、可擴展性和隱私等方面的重大挑戰。Nova是一種摺疊方案,有望重塑遊戲現狀,引領web3遊戲走向新時代。
什麼是Nova
Nova [1]是一種基於摺疊方案的遞歸證明系統,專為R1CS 設計,能夠高效實現增量可驗證計算(IVC)。IVC是一種加密原語,指通過證明每一步結果的正確性,確保每一步都正確地執行了之前所有的結果,從而使某方能夠展示給定計算機程序執行過程的完整性。
首先,什麼是IC(Incremental Computation)?IC是指遞歸應用同一個函數 F來進行計算 ,即通過輸入初始狀態, 經過此迭代後得到狀態,如圖1.a所示。如果函數F還包含一個驗證電路,那麼就得到 IVC(Incrementally verifiable computation)。IVC允許Prover向Verifier證明 ,並在每一步都生成一個,這是一個簡潔的證明,確保從開始到第 步的計算過程正確無誤,如圖1.b所示 。可以看出,這種方法可以將大型計算/語句拆分為較小的塊,然後可更高效地執行重複相同的代碼塊。
Nova提出了一種極具創新的摺疊方案,該方案將兩個R1CS instance以及各自的witness-instance合併成一個。與基於Snark的IVC相比,Nova不需要在每個遞歸中驗證先前的Snark證明,因此具有以下特點:
- 無需可信設置
- 無需FFT運算,也不需要配對友好的橢圓曲線
- 恆定的驗證時間
- 僅針對R1CS instance,會將2個R1CS instance合併為1個R1CS instance
為什麼是Nova
web3遊戲前景廣闊,但也面臨諸多挑戰。首先,對於實時快節奏遊戲,操作指令的響應時間通常以毫秒為單位,然而大多數區塊鏈尚未具備支持運行高性能遊戲所需的能力。其次,隨著交易量的增加,區塊鏈可能會變得擁擠,導致延遲並影響體驗。
為了解決這些問題,我們探索了一種名為Game Rollup的方法。Game Rollup通過Groth16證明系統,將遊戲操作指令聚合到同一個電路中,然後生成一個proof並上傳到鏈上進行驗證。藉助這一方式,玩家可以在與區塊鏈交互之前執行更多操作,享受更長時間的遊戲體驗,避免每次操作都需要等待鏈上的確認。
具體而言,我們Rollup電路也可以表示成IVC形式:
其中F is the turn function of game。
以我們的2048遊戲為例,這是一款經典益智滑動遊戲的鏈上改編版。設計2048最大的挑戰在於F函數的設計。因為在2048遊戲中,每個回合有上下左右四個可能的指令輸入,為了兼容這四種輸入,F函數(電路)的設計需要相當精巧,因為它與一些通過智能合約在鏈上實現2048邏輯的有著本質不同,後者通常通過簡單的if語句(例如if up {},else if down {}...)來處理指令。然而,電路中並不支持直接使用if-else結構,我們會在下一篇中具體談談。
Solana是一條高性能公鏈,能夠提供較快的交易確認速度,但即便如此,在其上部署的2048遊戲[2]的體驗依然沒有達到理想的流暢度。相比之下,我們基於Game Rollup的方法提供了更加順暢的遊戲體驗,這也證明了Game Rollup在提高遊戲性能方面的優勢,然而這種方法仍然存在一些侷限性,因為它只是IVC的一種最樸素的實現方式:
- The prover requires Ω ( i *∣ F ∣ ) memory
- The proof is not incrementally updatable
直到我們遇見並深度研究了Nova,恍然有一種“相見恨晚”的感覺,因為它突破了Game Rollup的侷限性,有望解決Web3遊戲中的性能瓶頸和可擴展性問題。下面是我們以2048遊戲為例,對Game Rollup和Nova這兩種實現方式做的性能基準測試:
總結
Nova不僅性能優越,而且內存效率高,這對於大型電路來說,這一點非常重要,因為groth16需要較大的 SRS並耗盡內存,Nova在低內存環境中仍然能夠高效運行。目前,一些ZKVM也已經開始基於Nova構建,例如Nexus[3]。我們相信,Nova將為Web3遊戲帶來了前所未有的性能和可擴展性,成為推動Web3遊戲發展的關鍵技術。Zypher已經和Nexus建立了緊密的戰略合作伙伴關係,正在積極合作採用Nexus基於Nova系統的ZKVM來創建下一代鏈上去中心化應用基礎設施。
參考:
[1] https://eprint.iacr.org/2021/370