五分鐘使用 CocosCreator 快速部署 TON 遊戲(第三部分):開發基於 ZKP 的 Telegram 遊戲

WEEX 唯客博客, Web3 遊戲是傳統遊戲領域的一個特殊的垂類板塊,因構建在區塊鏈上,Web3 遊戲通常具備去中心化、遊戲資產確權、P2E 等系列特性,並備受追捧。雖然 Web3 遊戲代表了一種先進的的意識形態,但 Web3 遊戲因基建設施的不足,在遊戲體驗、遊戲內容等方面仍舊無法與 Web2 遊戲媲美。 現階段,絕大多數鏈底層在性能上呈現出了捉襟見肘的局面,比如此前爆火的銘文賽道就扯下了不少 Layer1、Layer2 的性能底褲,所以在底層設施仍不完美的當下,直接將遊戲邏輯完全部署在鏈上通常是不可行的,這會導致遊戲運行卡頓、玩家參與遊戲的成本極高。所以絕大多數 Web3 遊戲團隊的做法是將遊戲邏輯寫在鏈下的伺服器中,僅僅將遊戲中的資產放在鏈上並通過鏈上交易反過來更新伺服器中的數據,二者不斷通過數據樞紐同步數據,即 Web2.5。所以當遊戲邏輯運行在中心化的伺服器上、遊戲數據保存在伺服器上、鏈上鏈下需要不斷同步數據時,遊戲本身在可信、效率、安全性等方面會存在一些挑戰,而 Web2.5 的做法本身也與 Web3 所秉承的理念相悖。 與此同時,主流的區塊鏈秉承公開透明的特性即不支持隱私,所以對於玩家的很多遊戲私有信息通常都是公開可查的,同樣對於一些 SLG、MMORPG 遊戲中比如撲克遊戲、大富翁以及集換式卡片遊戲等,不可預測的隨機性、隱私性是必要,多數區塊鏈通常無法為其提供有效支持。而一些具備原生隱私特性的鏈底層,在資產流動性、用戶活躍度等方面相對落後,且遊戲開發者而言並不友好。 ZKP 或成解決問題的關鍵方案 零知識證明(Zero-Knowledge Proof, ZKP)是一種先進的密碼學技術,允許一方(證明者)向另一方(驗證者)證明自己擁有某項信息或滿足某個條件,而無需泄露任何具體信息。這種技術的核心在於保護用戶的隱私,同時確保數據的真實性、安全性與可信性。目前,ZKP 方案正在被引入到遊戲領域中,以進一步實現遊戲的可信化運行,提升遊戲的效率、安全性並為遊戲賦予隱私特性。 Zypher Network 是這一趨勢的推動者,通過推出基於 ZKP 方案的遊戲引擎,能夠讓開發者更低門檻的開發鏈上遊戲或者將遊戲遷移至鏈上,並通過提供了 Services SDK 工具包,讓開發者低門檻的將遊戲寫在 ZKP 電路中,並將電路直接編譯成 wasm,同時可以在瀏覽器或應用中運行。 在遊戲運行時,Zypher Network 引擎中的節點會將玩家的一些連續遊戲行為所產生的動作日誌聚合成 ZK 證明,在一定的周期內這些遊戲動作(每一個都是一筆交易)被聚合在一個 ZKP 證明中,並且多個證明被以單個交易的方式提交到鏈上,這種方式不僅大幅降低了 Gas 費,同時能夠確保玩家無延遲的遊戲體驗。 與此同時, Zypher Network 推出的秘密引擎,能夠為不同的遊戲提供可選擇性的隱私方案。該引擎通過優化的 WASM 和預編譯的合約實現了 Shuffling SDK,從而實現了高性能、低成本的去中心化洗牌過程。洗牌電路和協議保證了在鏈上執行可驗證的加密計算的安全性,確保了戰略元素在鏈上保密。除了撲克、大富翁、集換式卡片遊戲之外,SDK 還可以應用於其他需要無信任性和隨機性的 SLG 用例。該引擎也將用來保證玩家在遊戲中信息的安全性與隱私性,包括遊戲內的信息以及玩家身份信息都將基於 ZK 方案保密在鏈上,以保證遊戲的公平性,並隱藏玩家信息。 此外,Zypher Network 的鏈下計算網路會為 ZKP 所需要的計算資源,持續提供支持。 整體上, Zypher Network 基於 ZKP 的遊戲引擎方案正在讓鏈上遊戲擺脫中心化伺服器,走向伺服器抽象、真正面向 Web3 的新時代。 Zypher Network 引擎的遊戲用例:Ten Sum Rings 以 Ten Sum Rings 遊戲為例,該遊戲的玩法是讓用戶在屏幕上圈出一個特定區域。如果該區域內所有數字的和等於 10,則本次操作成功。用戶在進行遊戲時,實際上是在利用零知識證明的原理。具體來說,用戶可以向驗證者證明自己所圈區域的和確實為 10,而不需要透露該區域內的具體數字。通過這樣的設計,用戶可以保護自己的私有信息,同時確保遊戲的公平性。 在遊戲實現中,用戶的圈選區域可以通過 zk 電路進行驗證,驗證者根據電路生成的證明來確認和是否符合條件。這樣,即使驗證者無法訪問用戶的具體圈選數字,依然能夠信任用戶的操作結果。通過零知識證明,Ten Sum Rings 遊戲不僅增強了隱私保護,還提高了參與者的安全感,推動了區塊鏈技術在遊戲和應用中的創新使用。 目前,在 Zypher Network 遊戲引擎集成了 CocosCreator,支持開發者直接通過 CocosCreator 開發鏈上遊戲,現階段 Zypher 生態遊戲開發者已經在 TON Network 上推出了數十款採用 ZKP 方案的優質 Telegram 小遊戲。 接下來,我們將介紹如何一步步實現通過 CocosCreator 開發基於 ZKP 的 Telegram 遊戲,希望本教程對你有所幫助。 使用 CocosCreator 快速部署 TON 遊戲(第三部分):如何通過 CocosCreator 開發基於 ZKP 的 Telegram 遊戲 如果你對 CocosCreator 以及 Telegram 不是很了解,可以首先參考下列內容(教程的第一部分): https://www.chaincatcher.com/article/2140947 教程的第二部分:Web2 遊戲如何使用 Ton 支付 https://www.chaincatcher.com/article/2146780 以及 Zypher Network 的開發者文檔: https://docs.zypher.network/ 零知識電路(zk 電路)是零知識證明系統的核心組件,主要用於描述特定的邏輯或數學計算。通過 zk 電路,證明者能夠在不泄露任何私有信息的情況下,向驗證者證明某個計算的正確性。這種技術廣泛應用於隱私保護、區塊鏈、身份驗證等領域,為數據的隱私和安全提供了保障。 zk 電路是一種邏輯電路模型,由多個門(gates)和線(wires)構成。每個門表示一個基本運算,如加法、乘法和比較等,而線則代表數值的輸入、輸出或中間結果。zk 電路的設計使得複雜的計算可以通過簡單的基本運算進行組合,從而實現任意計算邏輯。 在 zk 電路中,有三個重要組成部分: 輸入值:包括公開輸入(public input)和私有輸入(private input)。公開輸入是驗證者可以訪問的數據,而私有輸入則是證明者的機密數據,無法直接泄露給驗證者。 電路邏輯:由一系列運算構成,這些運算定義了計算的邏輯流程。電路的設計需要確保能夠有效地表達複雜的計算過程,並優化運算效率。 輸出值:zk 電路最終生成的輸出數據,供驗證者使用。輸出值通常用於驗證計算的正確性,而不透露輸入的具體內容。 通過這種方式,zk 電路在保護隱私的同時,保證了計算的透明性和可信性,推動了隱私計算的應用與發展。 以下是包含電路的合約: 在部署 TON 合約之前,需要完成以下準備工作: 編寫合約代碼:使用 FunC 語言或其他支持 TON 虛擬機(TVM)的合約語言編寫合約邏輯,確保合約的功能需求和安全性。 安裝 TON CLI 工具:使用 TON 官方提供的命令行工具,這些工具能夠幫助你編譯、部署合約以及與區塊鏈進行交互。 準備 TON 錢包:創建並準備一個 TON 錢包,以便為合約提供初始部署費用,這個錢包必須有足夠的 TON 代幣。 部署和交互的整體流程: 編寫合約代碼:使用 FunC 或其他合約語言編寫合約邏輯。 編譯合約代碼:使用 func 工具編譯合約代碼,生成 .fif 文件。 生成合約的 .boc 位元組碼:通過 fift 工具將 .fif 文件轉換為合約的位元組碼(.boc 文件),這是合約在 TON 上運行的關鍵。 生成合約地址:根據合約的位元組碼和初始化參數生成合約地址。 提供初始資金:為生成的合約地址充值,以滿足部署費用。 部署合約到 TON 網路:使用 TON CLI 的 deploy 命令將合約部署到網路上。 驗證合約狀態:通過查詢合約地址確認合約是否成功部署。 與合約交互:使用 TON SDK 或 CLI 調用合約的方法,進行數據查詢或狀態更新。   ten sum rings合約部署代碼: 在 Cocos Creator 中調用 TON 合約的流程如下:當 TON 合約部署成功並獲得合約地址后,前端可以通過集成 TON SDK(如 TonWeb 或 TonConnect)來實現與合約的交互。在 Cocos Creator 項目中,使用 JavaScript 調用 SDK 提供的介面,根據合約地址和方法名發送請求,並傳遞必要的參數和簽名信息。然後處理合約返回的數據,以實現前端與鏈上合約的交互。 以上就是在 Cocos Creator 中,實現基於 zk 電路和 TON 合約的鏈上驗證流程,主要包括以下步驟:編寫 zk 電路來設計隱私計算邏輯,生成零知識證明(ZKP),然後將合約編寫為 FunC 代碼並編譯成 TVM 位元組碼,部署到 TON 網路上。通過 TON 合約進行驗證和數據交互,實現高效且隱私安全的鏈上驗證,確保數據的完整性與用戶隱私的保護。 WEEX唯客交易所官網:weex.com

Previous:

Next: