ZKP+Fully On-Chain Game:公平競技的基石

SocialFi的仿盤一再而出,全鏈遊戲在ChinaJoy之間的風頭都被蓋過了。 這段時間我一直在思考未來Web3 Game的潛在路徑,最有前景的先放在前面:ZKP(零知識證明)+Fully On-Chain Games(全鏈遊戲)

! [ZKP+Fully On-Chain Game:公平競技的基石] (https://cdn-img.panewslab.com/panews/images/bW1IVN098h.png)

我從八月初就體驗了@Zypher_Games里基於ZKP(零知識證明)的全鏈遊戲zBingo,目前2048和德撲還在研製中,這對於公平競技是個非常重要的轉捩點。

**先說結論:ZKP未來一定會在(1)帶有隨機屬性的策略遊戲 和 (2)不完全資訊公開的全鏈遊戲 中成為重要的基礎設施。 **

對於ZKP+Fully On-Chain的遊戲討論我們分兩種:

(1)帶有不完全資訊公開的全鏈上遊戲;

(2)帶有隨機屬性的競技性遊戲。

全鏈遊戲比如Dark Forest這個以《三體》中黑暗森林為名的策略遊戲也是以隨機性為玩點,主打Fully On-Chain Games (全鏈上遊戲)+MMORTS(大型多人在線即時戰略遊戲)+戰爭迷霧(fog of war)。

! [ZKP+Fully On-Chain Game:公平競技的基石] (https://wp.technologyreview.com/wp-content/uploads/2022/11/5c4a4465-f781-4c11-a496-e372dafc3da4_1416x890-DKwiki.png)

戰爭迷霧就代表著未知全貌,作為一款隱藏信息遊戲,需要進行驗證秘密信息的計算,基於ZK設計的點有很多。

對於全鏈遊戲來說,其最大的特點是所有的數據和操作都存儲在鏈上,數據完全存在於透明的數據層上,這樣的話隱私保護就是個大問題——總不能我去攻打你的城池,對手不需要派斥候監視,只需要監控鏈上數據就能知道我的所有資訊吧?

而德普、日麻,還是Bingo、撲克這種帶有隨機數屬性的策略性棋牌遊戲就更需要了,首先應該做的就是全鏈化,加上ZKP的賦能。 要不然我怎麼能信莊家的良心呢?

或許大家在玩某些競技遊戲的過程中,玩到一定程度後會突然發現,為什麼隨機掉落的裝備和血瓶變少了? 為什麼翻出來的牌越來越差了? 這恐怕並不僅僅是簡單的運氣問題。 未來的專案方(莊家)恐怕需要自證沒有進行黑箱操作。

對於一種具有隨機性的競技性的遊戲來說,線下直接經由人手或者機器進行隨機性的分配,有一句話叫“十賭九輸”,這既是遊戲機制的勝率設置,也存在著一定的內幕操作。

而線上的置信度就更差了,作為一個沒有開源的競技類app——我們幾乎可以肯定專案方會隨著對局和段位的不同,進行機制和概率的調整。

所以未來的線上具有隨機性分配的競技遊戲,專案方如果不加以對ZKP(零知識證明)技術作為自己重要的基礎設施搭建,用以自證。 恐怕很難令人信服。

! [ZKP+Fully On-Chain Game:公平競技的基石] (https://s.yimg.com/ny/api/res/1.2/qot3RMsIUVS5Ik5XISElpA--/YXBwaWQ9aGlnaGxhbmRlcjt3PTY0MDtoPTM2MA--/https://media.zenfs.com/zh-tw/setn.com.tw/4d6198b8a832c495bf5d79e844b304a2)

zkSNARK——實現資訊隱藏的關鍵

零知識證明技術具有完備性,正確性和零知識性三個特點,即證明瞭結論又不需要透露任何細節。 其技術來源更是可以體現簡約性,在同態加密的背景下,驗證難度要遠遠低於生成證明難度。

在零知識證明的結構中,涉及兩個角色:「證明者」和「驗證者」。 證明者根據系統輸入的知識創建證明,而驗證者有能力確認證明者在不知道輸入或重新計算自己的情況下真實地評估了計算。

! [ZKP+Fully On-Chain Game:公平競技的基石] (https://cdn-img.panewslab.com/panews/images/YdWY78joxy.png)

ZKP絕對不是一個陌生的概念。 比如Zk-Rollup,作為一種有效證明機制為乙太坊的擴容提出了新的方案。 之前大家忙著擼空投做交互的zkSync,其核心即使用ZK將多個操作包到一個證明里,在鏈下完成大多數計算工作。

再或者zkSNARK中的SNARK代表「Succinct Non-Interactive Arguments of Knowledge」,即簡潔非互動式知識性論證。 其中:簡潔是因為zkSNARK中的證明只有幾百個字節,這使得驗證者可以輕鬆快速地檢查證明是否正確; 而非互動式證明使驗證者無需質疑證明者提交的陳述。

我們剛剛提到過,對於一個全鏈上遊戲來說,所有的數據和操作都存儲在鏈上,數據完全存在於透明的數據層上就很難保障隱私。 比如:隨機的生成座標、玩家的出生點、你手中剩餘的手牌、你打出的每一張牌——都可以通過鏈上數據進行查詢。

而在zkSNARK的技術支援下,玩家可以保持自己的隱私狀態,同時公開提交可驗證的有效動作。 這樣,參與者就不需要再向鏈上直接提交自身鏈上行為的具體操作資訊,而只需要提交對該操作行為的承諾以及哈希有效的零知識證明即可,也就不必擔心別人知道自己的底牌.

對於全鏈遊戲——不完全信息的隱私有哪些需求呢? 像國際象棋、中國象棋這類完全不需要隱私,只需要進行策略博弈的遊戲當然不需要進行ZKP的技術加成。

! [ZKP+Fully On-Chain Game:公平競技的基石] (https://cdn-img.panewslab.com/panews/images/R45CGN20FH.png)

但是對於麻將棋牌、不完全資訊的策略遊戲——尤其是GameFi和競技來說就要小心了。

所以對於以下三種遊戲來說還是很有必要的:

(1)具有部分信息隱藏要求的全鏈遊戲

(2)需要洗牌和抽籤的紙牌形全鏈遊戲

(3)全鏈異步遊戲(Full chain of asynchronous games)

補充一下,異步遊戲是指實現非實時的玩家遊戲互動機制。

實例:Zypher Games的全鏈ZK+遊戲的機制

對於這三種類型的遊戲,我們就拿Zypher Games 中,現有基於自主研發的zk-Game SDK設計的三款遊戲機制來說明,如何實現全鏈上遊戲開發所需要的鏈上信息不對稱。

! [ZKP+Fully On-Chain Game:公平競技的基石] (https://cdn-img.panewslab.com/panews/images/AeB836Xq9m.png)

其中全鏈異步遊戲可以直接參考Dark Forest。 Zypher Games還推出了通用的零知識遊戲引擎(UZKGE),説明全鏈遊卡牌遊戲的開發,比如計算的可證明性,可擴展性和併發性,以及鏈上數據/信息不對稱。

zBingo:具有部分信息隱藏要求的全鏈遊戲

賓果遊戲好像在西方比較流行,所以這個遊戲怎麼玩的我還研究了好久。

遊戲的規則就是首先你會獲得一張「隨機生成」的填有1~36間隨機數的卡片,當然這個生成也是基於ZK實現的。 玩法比較簡潔:

(1)開局你會獲得一張由1到36之間的隨機數填充的5x5網格卡,這個網格卡的具體佈局是隨機生成的,而且只有你知道。

(2)匹配完成後,玩家輪流在自己的網格卡上選擇數位。 選定的號碼被公佈,併為網格卡上有該號碼的任何玩家標記。

(3)第一個完成兩條線(水平、垂直或對角線)的玩家贏得回合。

! [ZKP+Fully On-Chain Game:公平競技的基石] (https://cdn-img.panewslab.com/panews/images/9yQvR8Si8g.png)

其實玩法還是蠻簡單的,主要聊聊機制,來看一看你的Gas都花在了哪裡

(1)生成一張隨機數組成的網格卡,所以第一筆簽名用在了這裡;

(2)網格卡的加密需要使用一次性加密密鑰。 在加密的簽名操作之前,你可以隨意的生成一張網格卡,但是在這筆加密完成後就無法更改;

(3)提交加密的網格卡並進入配對過程,這是第一筆Gas費用的支出;

(4)Matchmaking,為你匹配你的對手,這是第二筆Gas費用的支出;

(5)接下來就是每一步都要出gas了,每掀開一張卡片,就要支付本次的費用;

(6)結束,上傳證明,進行If操作判斷。 勝者可以獲得zBingo盲盒,後續能開出Zynizens NFT。

我測算了一下,經過兩局zBingo遊戲結束,一共花費了0.0031個BNB,平均一把下來要交的gas費大概兩塊四毛錢。

其實玩這種休閒小遊戲的gas還是不低的,主要是因為全鏈上遊戲每一步都要gas,所以後續更期待坎昆升級后,更低的費用和更快速的操作了。

! [ZKP+Fully On-Chain Game:公平競技的基石] (https://cdn-img.panewslab.com/panews/images/UzG6C2PcU9.png)

zACE:需要洗牌和抽籤的紙牌形全鏈遊戲

最後我們再來聊一下棋牌類的全鏈遊戲在機制上的設計區別。 zACE就展示了一個基於Zypher Games的zk-Game SDK用於開發的、需要洗牌和發牌的紙牌遊戲,類德州撲克遊戲。

! [ZKP+Fully On-Chain Game:公平競技的基石] (https://cdn-img.panewslab.com/panews/images/xgh1o4nBAO.png)

實際上,SDK通過優化的wasm和預編譯的合約,實現了高性能、低成本的去中心化洗牌過程。 它的鏈上隨機性不再需要傳統的VRF,實現去中心化,進行公平洗牌和博弈。

*VRF,指驗證隨機函數。 可驗證隨機函數(VRF)是一種隨機數生成器(RNG),可以通過加密手段來驗證隨機性。 包括Algorand、Cardano、Internet Computer和Polkadot在內的許多L1區塊鏈都在共識機制中使用了VRF來隨機選擇出塊節點。 *

! [ZKP+Fully On-Chain Game:公平競技的基石] (https://cdn-img.panewslab.com/panews/images/Tab57uqv1Z.png)

然而,由於區塊鏈網路具有高度確定性,在鏈上通常無法獲得安全的RNG隨機數生成器。

使用鏈上區塊哈希生成隨機數存在被礦工或驗證者操控的風險,這些負責驗證的個體可以選擇放棄對他們自身不利的區塊,重新進行隨機數的生成,直到對其有利。 這也是為什麼ZKP+全鏈化的重要性。

Z2048:全鏈2048

Zypher Games平臺的開發者準備推出一款名為《Z2048》的遊戲,這是一款基於流行的休閒滑動數字遊戲2048改編的全鏈游遊戲。

玩法:在4 * 4 方塊格子裡面,初始盤面上有隨機的兩個數位2,玩家使用方向鍵移動盤面上的數位,使得同一個方向上相同的數位相加並移動到方向的另一側,每移動一次就會在盤面上上隨機的位置新增一個2或4;

玩家最後獲得的數字達到2048可以選擇上傳ZKP結束遊戲,或者繼續挑戰更高分數。 如果盤面完全卡死無法移動則遊戲結束。

平臺NFT可以增加遊戲時間和復活權益。 在這個遊戲中ZKP運用於實現可擴充性方面。

ZKP-Proved,在這裡,智能合約不要求每一步都提交到鏈上——這需要玩家為每一步都簽署一筆交易——而是將這些步驟捆綁在一起,並生成零知識證明。

這個證明然後被存儲在區塊鏈上,提供加密驗證,確保遊戲的結果既不可改變又公平,同時保持特定遊戲玩法細節的機密性。 通過將傳統遊戲玩法與最先進的零知識證明(ZKP)技術和競爭元素相結合。

! [ZKP+Fully On-Chain Game:公平競技的基石] (https://cdn-img.panewslab.com/panews/images/0t0KD9B8tI.png)

UZKGE:零知識遊戲引擎,擁有一個高度優化的Plonk庫,它是一個快速擴展的零知識(ZK)電路庫的補充,精心製作以滿足遊戲開發者的不同需求。

! [ZKP+Fully On-Chain Game:公平競技的基石] (https://cdn-img.panewslab.com/panews/images/qL4PD5tNkD.png)

這些電路促進了複雜的計算,確保了遊戲機制的完整性,同時保護了玩家的隱私,這些加密技術使遊戲開發者能夠在不洩露潛在細節的情況下驗證關鍵的遊戲數據。

查看原文
此頁面可能包含第三方內容,僅供參考(非陳述或保證),不應被視為 Gate 認可其觀點表述,也不得被視為財務或專業建議。詳見聲明
  • 讚賞
  • 留言
  • 分享
留言
0/400
暫無留言
交易,隨時隨地
qrCode
掃碼下載 Gate APP
社群列表
繁體中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)