
深入 Bat-Channels:解鎖鏈上游戲擴展性的新技術
TechFlow Selected深潮精選

深入 Bat-Channels:解鎖鏈上游戲擴展性的新技術
對於一個 Web3 遊戲,主鏈是進行商業交易、角色統計和聲譽的地方,核心遊戲循環存在於主鏈之外。
撰寫:Will Robinson
編譯:深潮 TechFlow

在這篇文章中,我提出了一種遊戲設計模式,通過在無需許可且無需信任的方式下,將遊戲循環的處理遷移到鏈外,從而擴展 Web3 遊戲的規模。這需要將遊戲邏輯錨定在區塊鏈上的 zk 電路。我將這種設計模式稱為“Bat-Channel”。
通過 Bat-Channel,我們可以通過放大併發狀態變化的數量,實現可持續的大型玩家群體遊玩。主要的權衡是競爭玩家的隔離。在任何時候都有數千人觸及遊戲狀態的大規模多人遊戲將是不可能的。相反,理論上的限制更接近於 30 人,並且對單人和合作遊戲進行了簡化。為了證明這種權衡的合理性,我提出了一個引人入勝的遊戲設計,利用 Bat-Channel 的可擴展性,同時享受在區塊鏈上運行的好處。接下來的文章將包括對該設計的更多技術探索。
在 2021 年,Galcon 在區塊鏈上被移植,並以 Dark Forest 的名字發佈。在一年的時間裡,數百名玩家在幾個持續約一週的地圖上進行競爭。由於開源區塊鏈遊戲設計的便利性,玩家們在遊戲之上構建了前端、腳本和智能合約。許多最優秀的 Solidity 研究人員和工程師通過測試和探索這種新形式的遊戲來挑戰自己。他們建立了社區市場,玩家們開始交易資源,甚至信息,以實現遊戲內的目標。類似的遊戲也在同一時間出現,比如 Conquest.eth 和 Mithraeum.io。在這些遊戲中,所有玩家都在同一時間在同一地圖上競爭。
不幸的是,這些遊戲受到了它們所構建的區塊鏈吞吐量的限制。例如,Dark Forest 運行在 Gnosis Chain 上,每秒只允許 30 個改變遊戲狀態的交易。
但即使在一個使用了四分之一個區塊的遊戲中,玩家每三分鐘小心翼翼地移動一次,仍然最多隻能有 1440 個同時在線玩家(180 秒/行動 * 8 行動 * 每秒玩家)。開發者們必須要麼相信這類玩家的總生命週期價值是 Web2 用戶的 100 倍,要麼認為這個數字是不可接受的,因為如今成功的 Web2 遊戲擁有超過 10 萬個同時在線玩家。雖然我們可能會在未來幾年看到 10 倍的擴展,但我們需要 1000 倍的擴展來支持一些成功的遊戲。
使用 Bat-Channels 進行擴展
最簡單的擴展解決方案可能是創建更多像 Gnosis 或 Polygon PoS 這樣的側鏈。
但是側鏈並沒有繼承它們所運行的鏈的安全性。相反,它們通常依賴於自己的驗證者集合,這些驗證者抵押資產以保證良好行為,並獲得相應的區塊獎勵。它們被稱為側鏈,因為它們通常重用相同的虛擬機,維護一個跨鏈橋,並將它們的狀態快照發布到主鏈上(用於某種社會協調的緊急恢復)。如果有 1000 個這樣的側鏈,我們可以容納足夠多的玩家。問題變成了玩家的碎片化、流動性的碎片化、跨鏈橋的安全性和安全性的破壞。
為了更好地匹配主要區塊鏈的安全假設,許多開發者選擇使用 Optimistic 和 zkRollups。它們提供了與側鏈類似的可擴展性,但它們必須將每個交易發佈到它們的 L1。然而,以太坊上的區塊空間不足以容納 1000 個額外的遊戲 Rollup 和其他生態系統。
第三種擴展構建是狀態通道。閃電網絡是比特幣上的一種流行實現,用作兩方之間的支付通道。每個參與方將資金鎖定在智能合約中,然後在鏈下編寫更新其餘額狀態的消息。
例如,Alice 和 Bob 各自鎖定了 0.1 BTC。Alice 每分鐘給 Bob 發送一條消息,簽署掉 0.00001 BTC。偶爾,Bob 會向 Alice 支付一些 BTC 並返還一些 BTC。一年後,Alice 的最終餘額為 0.05,Bob 的餘額為 0.15。Alice 退出通道並將最新狀態發佈到鏈上。Bob 有一個時間窗口來提出更近期的更新,之後智能合約將資金釋放給 Alice 和 Bob。
狀態通道(如閃電網絡)允許進行數量級更多的交易,因為中間狀態不需要在鏈上。對於兩個玩家的遊戲,狀態通道可能是合適的選擇。為什麼呢?這樣做的權衡是可以同時互動的玩家總數大大減少。你還需要讓玩家能夠對作弊和不響應進行爭議。在以後的文章中,我希望解決這些問題;然而,為了簡潔起見,本文重點介紹了一種合作構建。在合作模式下,所有玩家都是一致的,遊戲是正和的。
遊戲證明(Proof of Game)
為了防止欺詐性玩法,遊戲本身必須以可證明的方式進行編程。目前的解決方案可能包括使用 Cairo 和 Cairo VM 或 Solidity 和各種 zkEVM。可以構建一個看起來像 zkRollup 的結構,而無需第三方序列器。由於玩家不擔心他們的行動順序被惡意破壞(因為他們是朋友,沒有其他人在 Rollup 內部),他們可以自行協商順序。這種方法是可擴展的,因為可以有任意數量的行動,而只需要提交單個證明和狀態差異到鏈上。
遊戲設計
使用 bat-channel 架構(共享的區塊鏈狀態和並行化的遊戲會話),讓我們考慮哪些遊戲最適合移植。我選擇了大型多人在線角色扮演遊戲《魔獸世界》作為一個典型的選擇。雖然大多數人認為《魔獸世界》是一款對抗性的共享狀態遊戲,但我認為它主要是一個小團隊合作的體驗。從博弈論/安全性假設的角度來看,它是一個單人遊戲。雖然數百萬同時在線的玩家都喜歡《魔獸世界》,但他們分散在數百個服務器上。而這些服務器又分散在數十個區域,這些區域又分散成數百個稱為副本的地下城。這就是為什麼數百萬玩家可以同時與同一只怪物戰鬥。兩個不同的團隊可以走進同一個洞穴,卻永遠不會見到彼此。更大的元世界,包括拍賣行,用於交易、修理裝備和管理角色發展。

對於一個 Web3 遊戲,我建議採用類似的構建方式作為設計的首要目標。也就是說,主鏈是進行商業交易、角色統計和聲譽的地方,核心遊戲循環存在於主鏈之外。
玩家可以啟動自己的實例,帶入他們的角色和裝備,然後通過可證明的方式退出這些實例,獲得更多的裝備和經驗。雖然這樣做會減少可組合性,因為遊戲細節缺失,但我們可以獲得玩家的隱私。沒有人會知道如何打敗地下城。而且,如果你想恢復可組合性,你可以為在地下城殺死一百隻老鼠的玩家提供一個特殊的 NFT。玩家可以回顧他們的行動記錄,並創建一個證明表明他們完成了這個任務。數據的可用性可以由玩家來推動,因為他們沒有風險。
下一步
最接近構建 bat-channels 的項目是 Dojo。這個遊戲引擎是為 Cairo VM 構建的,並證明了遊戲已經正確地進行。目前,該系統尚未被用於創建一個經濟體存在於一層的遊戲系統,而遊戲循環存在於單獨的 bat-channels 中。該團隊表示即將推出實時演示。
歡迎加入深潮 TechFlow 官方社群
Telegram 訂閱群:https://t.me/TechFlowDaily
Twitter 官方帳號:https://x.com/TechFlowPost
Twitter 英文帳號:https://x.com/BlockFlow_News














