加密原生游戏的挑战

本文翻译自Obscuro Labs的博客,请以原文为准。

区块链游戏在过去几年引起了极大的兴趣,但可以注意到,最流行的游戏,如Axie InfinitySplinterlandCrabada,实际上很少有链上组件。他们经常使用区块链中的 NFT 或代币来代表游戏内资产,但他们在链下运行游戏逻辑。原因之一是在像以太坊这样的单片Layer 1上运行计算成本非常高。

然而,随着我们可以目睹的区块链可扩展性的快速进展,特别是在诸如 Starknet、Arbitrum、Optimism、Obscuro (soon™) 等rollups方案领域,将游戏逻辑移动到链上变得有可能。这样的游戏可以称为加密原生游戏。

很酷,但是我们为什么要这样做呢?

我建议阅读gubsheep加密游戏论文来了解为什么加密原生游戏可能成为下一个前沿;它如何开启我们从未见过的可能性的新领域。只有当您将整个游戏部署为智能合约时才有可能实现以下事情,例如生成和自治游戏;每个游戏的每个组件之间的链上可组合性;开源开发带来的无限创意;未经许可、不可审查、不可停止的游戏;等等…

但现在还为时过早,前方还有许多挑战。然而,令我震惊的是,加密原生游戏的先驱们遇到的一些最常见的挑战能被Obscuro原生解决。

这些挑战是什么?

Front-running(抢先交易)

OG 区块链开发者Ronan Sandford在 EthCC 4上谈到了在 L2 上构建游戏,他提出了抢先交易的问题。

抢先交易是可能的,因为玩家可以在对手的动作在游戏中实际发生之前在公共内存池(mempool)中读取对手的动作,并做出相应的反应。正如Sylve所指出的,这相当于DEFI中的MEV,因此称为 gaMEV。

随机性

许多游戏依赖于随机性,在之前EthCC 3上关于构建完全链上游戏的讨论中,Ronan 提到了每块或每秒生成一个不可预测的数字的难度。

在公链上确实很难找到安全的熵源,因为任何人都可以看到合约的内部状态以及区块链的整个历史。

隐藏信息

许多游戏机制涉及对玩家隐藏一些信息,在公开账本(public ledger)中处理这件事十分微妙。这是 Sylve 在他的帖子区块链游戏中的四个挑战中提出的挑战之一,他解释说,即使是像石头剪刀布这样的简单游戏,在链上构建实际上也很棘手,而且它会涉及诸如 commit-reveal方案或零知识证明。

Edward A Thomson在他的文章《防止战争迷雾中的作弊者》中寻找一种解决方案来在链上重现经典的战争迷雾,其目标是隐藏部分地图或敌人的位置。

帝国时代II中的战争迷雾
帝国时代II中的战争迷雾

Obscuro和加密原生游戏

你可能已经猜到了,上述挑战(抢先交易、随机性、隐藏信息)的共同点是透明,这是公链的本质。这就是 Obscuro 与其他rollup解决方案不同的地方。

Obscuro 是建立在以太坊之上的去中心化Layer2隐私解决方案。它利用可信执行环境来创建机密rollups,使任何与 EVM 兼容的智能合约都能从低 gas 和隐私性中受益。

Obscuro 的机密rollups引入了计算隐私,这意味着可以完全混淆智能合约。因此,您可以隐藏游戏的任何部分,可以使用任何数据作为熵源,就连内存池也可以隐藏,等等。

零知识证明可以提供一定程度的隐私,像Dark forest这样的游戏就是一个完美的例证。然而,零知识证明并不是一种通用的隐私解决方案,这意味着它们不能像 Obscuro 那样完全混淆智能合约。为了进一步了解这个主题,我建议你读Cais Manai区块链隐私三难困境

在 Obscuro 上构建的一些想法

绝密,由aBAOaQ 提供
绝密,由aBAOaQ 提供
  • 经典游戏的链上版本,如 Poker、Battleship、Mastermind……
  • 一种隐藏奖励的文明类型游戏
  • Killari匿名彩票创意
  • 部署游戏的整个情节,没有人可以偷看代码
  • gubsheep的六个 Moonshot ZK 应用程序
  • 可变形 NFT,其属性基于任何区块链或现实世界事件中不可预测的事件演变
  • 自治的、生成的游戏,没有人可以预测接下来会发生什么,甚至开发人员也无法预测

……还有更多!

我要感谢这篇文章中提到的所有人的想法,以及dialectic链上游戏的思考这给了我很大的启发。

了解更多

如果您有兴趣了解有关Obscuro的更多信息,请查看我们的litepaper或深入了解我们的白皮书在Discord上与社区聊天并在Twitter 上关注我们。您也可以关注我们Telegram上的公告。

Subscribe to Silent ⚛| validator
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.