Tonk Lab 隱私遊樂場 - 為什麼遊戲需要隱藏資訊

原文 Tonk Lab編輯 Chiny2025-03-16

這是一份 Tonk Lab 關於「隱私遊樂場」(Privacy Playgrounds)的維基文檔,主要探討遊戲中的資訊隱藏機制,並提出如何在完全上鏈 (Fully Onchain) 的環境中重新創造這些機制的高階構想。這份文件的目標是提供實用的參考資料,幫助開發者將隱藏資訊融入到鏈上遊戲中。

本篇文章涵蓋前兩篇 - 為什麼你的遊戲需要隱藏資訊 (Why your game needs hidden information)隱藏資訊機制的本體論(Ontology of Hidden Information Mechanics)

原文: Why your game needs hidden informationOntology of Hidden Information Mechanics

Image

為什麼你的遊戲需要隱藏資訊

2023 年,應用密碼學家和遊戲設計師正面臨一個共同的問題,只是他們站在一條巨大鴻溝的兩側。他們設計空間之間的差距非常巨大,要將各自的需求和能力跨越鴻溝進行轉換非常困難。很少有人同時精通複雜的遊戲機制和一系列增強隱私的密碼技術 - 別忘了,這些隱私技術在很大程度上是由去中心化金融 (DeFi) 的需求所推動的。

這些密碼學技術實現了一些相對簡單的機制,例如《暗黑森林》的戰爭迷霧或戰艦遊戲。然而還存在一個這些技術無法覆蓋的隱藏資訊機制。

這使得我們面臨一個棘手的局面,遊戲工作室不清楚哪些隱藏資訊機制是可行的。因此工作室打從一開始就以不需要隱藏資訊機制的方式設計遊戲。這確實使遊戲能夠進入製作階段,但僅限於那些在處理融入遊戲世界中的秘密資訊(而非隱藏在玩家腦海中的隱藏資訊機制)能力上存在內在限制的遊戲。

將隱藏資訊融入自主的遊戲世界至關重要,原因有三

  1. 遊戲玩法: 從某種意義上說,幾乎所有遊戲玩法都涉及在風險、模糊、資訊不完整的情況下進行戰略決策。上個世紀幾乎所有最受歡迎的遊戲的核心機制都包含隱藏資訊。
  2. 遊戲平衡和可持續發展: 無許可的、金融化的遊戲世界尤其容易受到團隊和機器人利用 p2e 的攻擊。當這一類遊戲真正興起時,職業電競隊伍與量化金融團隊之間的界限可能會開始模糊!但如果遊戲不平衡,遊戲就無法運作,而穩健的隱藏資訊機制可以幫助混淆通往經濟勝利的途徑,這將成為一項重要的再平衡機制,平衡遊戲環境並不斷為自主世界注入新的活力。
  3. 未來的網際網路: 與 DeFi 只需隱藏交易資訊不同,為遊戲世界設計隱藏資訊機制的複雜性與為人類社會世界設計隱藏資訊機制的複雜性相呼應。如果我們要在開放的、去中心化的網絡上重建社交網路、勞工關係和身份系統 -- 如果自主世界要超越遊戲領域 -- 我們需要一個隱私沙盒來測試區塊鏈計算的隱私原語。遊戲世界正是我們一直在尋找的隱私遊樂場。

讓我們看看是否可以搭建這座橋樑。

隱藏資訊機制的本體論

假設你正在從頭設計一款遊戲。讓我們將世界地圖和個別玩家的概念引入你的遊戲中。然後我們可以開始提出以下問題

  • 在你的遊戲中,玩家是否知道地圖上其他玩家的位置?
  • 玩家是否知道整個地圖的樣子?是否存在戰爭迷霧?
  • 戰爭迷霧是否隱藏了地圖上的所有東西?或者戰爭迷霧只隱藏某些東西,例如玩家的實時位置?多人遊戲的戰爭迷霧根據 (1) 哪些玩家 (2) 可以看到什麼 (c) 在哪些條件之下,有很多變化。
  • 地圖上是否藏有寶藏?玩家如何發現這些寶藏?

現在,讓我們介紹玩家的狀態概念,例如 ❤️ 生命值、⚔️ 攻擊點、💰 財富和 🎤 魅力。

  • 玩家狀態是公開的嗎?
  • 一些玩家如何了解其他玩家的狀態?

讓我們將物品引入我們的遊戲中,例如 🛡️ 護盾和 🧭 羅盤。這些物品也有自己的狀態。

  • 物品狀態是公開的嗎?
  • 玩家的庫存是公開的嗎?

讓我們將 NPC 引入我們的遊戲中。

  • NPC 的狀態是公開的嗎?
  • 他們的內部邏輯呢?他們的動機呢?是否有 NPC 特別喜歡的物品?他們是否有任何特殊的弱點?

我們可以問很多關於我們遊戲的問題。

  • 玩家之間的社會協議是公開的,還是可以是私密的?玩家可以隱藏他們的公會成員資格或以其他方式掩蓋他們的意圖嗎?
  • 元素系統(例如,水克火,火克草,草克水)是公開知識,還是玩家必須隨著時間推移才能發現?技能樹或科技樹的高階部分呢?

此時,我們不禁要問,在你的區塊鏈遊戲中可以隱藏哪些東西,鑑於區塊鏈狀態始終是公開的,這是如何實現的?我們發現澄清一些基本術語並區分一些概念有助於更好地理解隱藏資訊的模糊世界。

秘密

讓我們開始培養你對隱藏資訊機制複雜性的直覺。

將原始「資訊」視為足夠直觀,讓我們假設,對於任何世界,某些資訊只有在滿足以下條件時才是秘密:

  • 資訊融入世界本身,而不是玩家的腦海中(例如,象棋中的策略)。
  • 資訊對該世界中的一些或所有參與者都是隱藏的。

有很多不同類型的秘密,它們相互重疊並組合成各種有趣的組合。

例如,秘密可以是關於世界的某個事實(寶藏在山底下),也可以是玩家可以互動的函數(如果我把一些艾達奶酪給巴爾格魯夫,他最終會任命我為執政官)。

此外,秘密往往也區分為關於玩家狀態(攻擊點)的秘密或關於共享世界狀態的秘密。「玩家狀態」足夠直觀,讓我們將共享世界狀態定義為排除玩家狀態的所有遊戲狀態。

然後,我們可以區分有人知道的秘密(玩家庫存)或沒有人知道的秘密(地圖上寶藏的位置)。

Image

現在我們可以談談互動發現

玩家可以與秘密互動。當我裝備盾牌時,你的劍的有效性取決於你秘密的攻擊力。甚至可以與其他秘密互動,當我裝備我的盾牌時,你的劍的有效性取決於你秘密的攻擊力我盾牌秘密的防禦力。

請注意,在這個模型中,與秘密互動並不足以發現該秘密的全部細節。當你的劍擊中我的盾牌時,我只看到這種互動的結果,而不是這種互動的全部內部細節。但是,當秘密相互作用時,我們可能能夠從 (i) 觀測到的結果和 (ii) 我自己已知的秘密的組合中推斷出資訊。

在發現方面,我們可以區分具有已知發現標準的秘密(「誰偷了權杖就會發現寶藏的位置!」)或未知發現標準的秘密(「我如何讓這個茶壺裡的精靈出來?敲碎它?擦拭它?往裡面倒茶?」)。

總而言之,現在有哪些機制是可能的

總而言之,玩家知道的關於玩家狀態的秘密,現在可以使用零知識證明(ZK)實現。ZK 可以執行任何類型的選擇性披露,其中一名玩家可以有選擇地向特定目標受眾透露其私人狀態的部分資訊。然而,當涉及到沒有人知道的共享世界狀態時,ZK 就無能為力了。正如 Vitalik 所說:

區塊鏈可以使狀態資訊全球化,ZK-SNARK 可以使狀態資訊私有化,但我們還沒有真正找到任何好的方法來同時使狀態資訊全球化和私有化。

換句話說,很難將秘密融入共享世界

你可以使用給定概率分佈的種子程序生成(暗黑森林方法)部分實現,但這種解決方案非常特定於戰爭迷霧的特殊變體,並非特別可程式設計或可泛化。現有的程序生成實現不會允許你在世界中隱藏特定數量的隱藏物品,也不允許玩家根據其玩家位置、公會成員資格或特殊能力有選擇的解密世界資訊。

為了實現更可程式化的隱藏世界狀態,我們需要一種更具異國情調的密碼學方法。為此,基於多方計算("MPC")、同態加密("HE")及其他新型方案的研究方向顯示出前景。在高層次上,MPC 將允許玩家共同生成共享的可程式化隱藏世界狀態。而 HE 則將允許玩家(以及其他人)以程式化方式與隱藏世界互動,且不必透露任何關於它的資訊。

然而,這些方案仍處於相對早期階段。目前,將這些新興技術應用於遊戲中的實際用例仍然是高度客製化的。

在可信執行環境(TEE)的情況下,我們還可以依賴另一種非密碼學技術。英特爾的 SGX 系統來自技術樹的不同分支,但從高層次來看,這也充當一個黑盒,以私有且可驗證的方式與私有數據進行互動。我們稍後會詳細介紹所有這些解決方案,但總體而言:

  • TEE 使私有共享狀態成為可能,不同於 MPC/HE,TEE 目前已經可用,且其功能相對容易理解。
  • TEE 以硬體為中心。在依賴 TEE 的系統中,動態更新、擴展性和開源精神更難實現。
  • 晶片製造商構成中心化風險。

這是高層次的概述。對於技術人員,我們提供了一個可選部分:3 - 可信賴隱私技術的本體論,深入探討細節。否則,您可以直接跳到:4 - 將我們的本體論結合起來