CaptainZ

CaptainZ

Prompt Engineer. Focusing on AI, ZKP and Onchain Game. 每周一篇严肃/深度长文。专注于AI,零知识证明,全链游戏,还有心理学。
twitter

StarkNet: 如何利用ZKP來製作可驗證化鏈上遊戲

區塊鏈遊戲未能兌現其承諾。規模的限制和高成本已使大多數鏈遊僅限於遊戲資產的代幣化。但是,透過 Starknet 上的廉價和快速交易以及新的 Dojo 鏈上遊戲引擎,不僅使得遊戲內資產能夠私人擁有,而且還能在鏈上使得遊戲邏輯可驗證化。

全球遊戲市場截至 2023 年估值為 2450 億美元,是全球娛樂產業中最大的細分市場之一。並且,區塊鏈遊戲憑藉其允許無限互操作性的承諾,為遊戲世界提供了一個比當前情景更加令人興奮的開放空間。就像多人遊戲為遊戲生態系統增添了全新維度的可能性一樣,鏈上遊戲可以變得更加有趣和相關。

但是,這一承諾遭遇了區塊鏈現實的挑戰 —— 交易昂貴且緩慢。這是遊戲絕對不能有的兩個問題。因此,創建成功的鏈上遊戲幾乎是不可能的。

但隨著有效性 rollup 技術的成熟,鏈上遊戲的承諾終於得以實現。

在這篇文章中,我們將探討 Starknet 支持的高 TPS 如何實現鏈上遊戲。我們還將看看 Dojo—— 第一個由社區構建的可驗證化遊戲引擎 —— 如何利用 Starknet 賦能建設者。最後,我們將探討 Dojo 的未來及其為區塊鏈遊戲解鎖的內容。

加密遊戲#

當我們談論區塊鏈遊戲時,區塊鏈賦能的兩種最流行的理念是遊戲內資產的所有權和互操作性。

遊戲內資產的所有權意味著遊戲資產屬於用戶擁有的錢包。換句話說,它們不屬於遊戲開發者或存儲在中央伺服器上的簡單電子郵件帳戶,遊戲開發者不能遠程刪除它們。在區塊鏈遊戲中,你創建或賺取的資產確實屬於你。

一旦這些資產屬於你 —— 遊戲就可以實現互操作性。有了互操作性,一個遊戲中的角色和資產可以轉移到另一個遊戲或世界。如果你在一個遊戲中投入了數百小時,但決定不再玩,你可以將這些辛苦賺來的資產帶到你選擇的新遊戲中。

為了實現這兩個概念,遊戲必須建立在鏈上。這意味著所有遊戲內資產、玩家採取的所有行動和任何其他狀態變化都必須作為區塊鏈上的一個交易進行(每個動作單獨進行或定期推送的聚合交易)。在一個相對去中心化的區塊鏈上,一次交易的成本可以從幾美分到幾百美元不等(在擁堵時),並且可能需要幾分鐘或更長時間。顯然,這使得在此類平台上運營大規模遊戲基礎設施變得異常昂貴、緩慢且不切實際。

Starknet 和廉價計算#

但是,隨著有效性 rollup 機制如 Starknet 的出現,一切都在改變。

Starknet 是 StarkWare 開發的一種 Layer 2 有效性 rollup 機制(通常稱為 ZK-Rollup 機制),它使用稱為 STARKs 的加密系統大幅降低計算和存儲成本。

Starknet(以及 Cairo,Starknet 的智能合約語言)允許去中心化應用以最低成本處理高交易速率,同時仍然利用以太坊的安全性。這種廉價和快速的交易正是實現區塊鏈遊戲承諾所需的。現在遊戲可以完全在鏈上、快速且負擔得起。

但即使有能力在鏈上,要讓區塊鏈遊戲繁榮發展,它們需要第二個關鍵構建塊:一個可驗證化的遊戲引擎。

什麼是遊戲引擎#

遊戲引擎是使您喜愛的遊戲中的美麗場景、迅速的玩家移動和真實的角色行為成為可能的軟體框架。遊戲引擎通常包括庫和支持程序,為開發者提供一個框架,使他們不必為每款遊戲從頭開始重新創建基本系統(如物理、圖形和遊戲機制)。遊戲引擎還可以包括音頻和視頻處理、渲染 3D 效果和人工智慧特性。

遊戲引擎是構建遊戲的舞台。

我們喜愛玩的大多數遊戲都歸功於世界上兩個最受歡迎的遊戲引擎:Unity 和 Unreal Engine。由 Epic Games 開發的 Unreal Engine 已被用於如《堡壘之夜》、《街頭霸王 V》和《戰爭機器》系列等熱門遊戲。Unity,另一個遊戲引擎行業的主要玩家,已經使《爐石傳說》、《奧日與黑暗森林》和《寶可夢 Go》等遊戲變為現實。

由於 Starknet 實現了加密遊戲的承諾,一大波項目已經開始在 Starknet 上構建遊戲。但目前仍然缺失的是一個加密遊戲引擎,它允許開發者在保持鏈上的同時,構建遊戲而不必為基本的物理、邏輯和遊戲機制編寫定制代碼。

Dojo - 第一个可验证化链上游戏引擎#

Dojo 是一個加密遊戲引擎。它是一個由社區構建的、可驗證化的遊戲引擎及工具鏈,用於構建鏈上遊戲和自治世界。它將加密遊戲的承諾變為現實。

在 Starknet 上使用 Dojo 的遊戲數量正在迅速增長。一些最受歡迎的包括:

Influence —— 一個設置在遙遠的小行星帶中的宏大戰略 MMO,擁有玩家所有的開放經濟體。用戶可以購買 NFT 以探索和開發小行星。所有小行星位於同一個世界中,玩家可以相互交互。

Realms —— 一款策略遊戲,擁有 8000 張具有特定名稱、形狀、大小和地理特徵的土地地圖,這些特徵為土地所有者(用戶)提供了鏈上效用,如資源生成和可替代的房屋原型,允許進行經濟遊戲。

CafeCosmos —— 一款基於土地的鏈上遊戲,用戶必須高效管理資源。這包括採集資源、農耕、養殖動物、製作家電和家具、交易資產等等。

Dojo 組件#

Dojo 生態系統包含以下組件:

  • 用 Cairo 語言編寫的 ECS(實體組件系統)
  • Sozu 遷移規劃器
  • Torii 網絡與索引堆棧
  • Katana RPC 開發網絡

ECS 系統是遊戲開發中用來提高代碼可維護性的設計模式。ECS 系統允許遊戲開發者給遊戲對象(實體)添加獨特功能(組件),使得整個場景作為一個整合系統工作。Dojo 的 ECS 框架,特別為基於區塊鏈的遊戲開發設計,提升了模組化、效率和靈活性,這對於管理區塊鏈環境的獨特挑戰至關重要。這使得在區塊鏈上創建複雜、動態的遊戲成為可能,支持多樣的遊戲機制和互動,同時利用區塊鏈技術的透明、去中心化的優勢。由於 Dojo 使用 Cairo 編寫,它最大化了需要證明的代碼的效率。

Sozo是專為建設和遷移規劃特別編寫的工具鏈。換句話說,Sozo 可用於在 Starknet 上部署開發的遊戲。通過一個簡單的sozo migrate命令,可以在鏈上部署一個遊戲 “世界” 的實例。Sozo 僅作為命令行界面(CLI)工具可用。然而,一個圖形用戶界面(GUI)目前正在開發中。

Torii是 Dojo 世界的一個綜合性索引和網絡層。由於 Torii 系統建立在 Dojo 之上,它旨在索引在鏈上部署的遊戲世界中發生的任何事件。它系統地組織 Dojo 世界的狀態,使得客戶端查詢數據方便高效。考慮到遊戲中許多狀態的變化 —— 想像每次點擊都是一個狀態變化 —— 高效的查詢系統是 Dojo 堆棧上的一個有用特性。Torii 上的查詢使用 GraphQL 進行。

Katana是一個極快的本地 Starknet 節點,設計用來支持 Dojo 的本地開發。Katana 允許開發者在這個 “開發網” 上測試他們的應用程序,以實現快速的本地開發。開發者可以使用 Katana 網絡測試遊戲中發送的交易。Katana 提供方便的 RPC 方法,可以根據需要更改網絡的配置(例如,改變區塊時間或允許零費用交易等)。此外,Katana 支持 Starknet JSON-RPC 規範的 v0.3.0 版本(截至 2023 年 6 月的最新版本)。可以在 Katana 上使用本地 Starknet JSON 調用,如 starknet_getTransactionReceipt, starknet_getStorageAt 等。

Dojo 和加密遊戲的未來#

Dojo 社區持續進行研究和開發,以推動加密遊戲的發展。除了改善現有組件外,主要開發者還在致力於:

  • 針對遊戲的 L3s
  • 樂觀 rollup 更新
  • 客戶端證明
  • 跨鏈資產轉移

針對遊戲的 L3s——Dojo 正在研究在 Starknet 上開發遊戲作為 L3s 的可行性。這意味著在 Starknet 上部署一個單獨的鏈,該鏈定期證明其交易的執行並將證明提交給 Starknet(L2)。Starknet 將這個證明與網絡上的其他交易聚合並提交給以太坊 L1,在那裡驗證這個證明。這個解決方案可以增加遊戲的可擴展性,甚至可能增加數倍。(作為一個額外步驟,想像如果每次玩家嘗試遊戲中的一個級別,就在遊戲層上構建一個一次性使用的新層。)

樂觀 rollup 更新—— 我們經常靜靜地坐著,等待錢包中的 “交易進行中…” 文本變綠並顯示為 “已驗證” 吧?很多次。如果遊戲中玩家的每個動作都作為單獨的交易發送,玩家將浪費大量時間等待交易被接受。樂觀 rollup 更新 ——Dojo 正在將其作為堆棧的額外功能之一加以完善 —— 通過在客戶端(即瀏覽器本身)樂觀地執行交易並允許玩家繼續遊戲,來解決這個問題。如果出於某種原因,交易的結果與在瀏覽器中運行的結果不同,遊戲將會協調更改。

客戶端證明—— 與在客戶端運行的樂觀更新一起,Dojo 正在探索客戶端證明鏈上發送的交易部分的可能性。這將允許建立在 Dojo 之上的遊戲有效地隱藏用戶傳遞的一些輸入,因為可以在客戶端創建接收這些輸入的零知識證明(ZK proof)。反過來,這個 ZK 證明可以發送到鏈上的排序器,執行交易的其餘部分。

利用存儲證明—— 存儲證明是一種加密方法,用於存儲區塊鏈信息,使其可以跨鏈共享。類似於預言機,它們提供信息真實性的證明。但不同於預言機,它們不需要對第三方的信任來提供這種證明 —— 使用存儲證明,信任建立在存儲上。存儲證明還允許證明另一個鏈或建立在以太坊之上的層的狀態的有效性。

Dojo 正在與 Herodotus 團隊合作,在 Dojo 中實現存儲證明,使得跨鏈資產轉移變得不必要。可以用存儲證明來證明來自不同鏈的資產的所有權,用戶將能夠在不同的鏈或層上的不同遊戲中使用他們的資產。

原文地址:https://starkware.co/resource/dojo-on-starknet-game-on/

載入中......
此文章數據所有權由區塊鏈加密技術和智能合約保障僅歸創作者所有。