可证明的Goblin

进阶Mar 29, 2024
链上游戏正在投入大量创新,但我们的重点是使用 Cairo 和 Starknet VM 探索可证明的游戏技术树。本文旨在将一些可证明的游戏概念转化为实际示例,其灵感来自于传奇游戏 RuneScape。
可证明的Goblin

转发原文标题《Provable Goblins》

自治世界(Autonomous Worlds, AWS)面临着同样的三难困境。AWS 需要能够扩展到数百万并发玩家,这是一个很难解决的问题。

Rollups部分地解决了这个三难问题,将其转化为一个两难问题,这要归功于继承了结算层的安全性——只要存在Layer 1(L1)本地资产和无许可退出。

对于乐观汇总,您需要在可扩展性和安全性之间进行选择,这就是为什么一些汇总方法通过使用替代数据可用性 (alt DA) 或等离子 DA 来实现可扩展性,从而牺牲安全性。然而,通过 ZK Rollup,您可以以最小的信任假设来证明状态的完整性,旨在解决所有三个挑战:可扩展性、安全性和去中心化。 Zk 是终局之战。

诚信的《大金刚》 (Donkey Kong)——从链上到可证明再到回归

链上游戏向我们保证言论自由和信息主权。它们拥有这些属性,因为它们运行在经过共识验证的区块链上。可证明游戏使用 zk 证明,允许在没有大型共识方案的情况下验证游戏状态和计算。用类似的语言编写CairoNoir或运行RISC-Zero,这些游戏可以像浏览器一样在隔离的 zkVM 上独立运行,并具有可验证的输出,确保真实执行。这拓宽了我们在链上游戏行业的可能性。

像《大金刚》这样的游戏就体现了这一点。目前,为了让您的高分在排行榜上得到认可,您必须在经过认证的机器上玩游戏以防止作弊,同时记录您的游戏过程。然而,如果《大金刚》是一款可证明的游戏,那么玩家就可以单独竞争。想要获得高分,只需要向大金刚组织提交一份证明进行验证即可。这种方法可以让玩家在舒适的家中成为金刚之王,而无需记录他们的游戏过程!

目前,在孤立的 zkVM 中运行完整的游戏具有挑战性。为了解决这个问题,Dojo 生态系统正在努力通过最小化复杂性来简化流程。像Tonk这样的团队正在可证明的游戏领域取得进展,其中一项显著的成就是在 zkVM 上运行Doom,预示着“可证明Doom”的到来。随着证明成本的降低和新的证明者的出现(如Stwo)变得可用,设计可证明的游戏和应用程序的潜力扩大了。

我们不一定需要在孤立的 zkVM 中运行可证明的游戏才能从其可证明的属性中受益。相反,我们可以在迷你 StarkNet 网络上以最少的参与者数量运行我们的游戏,并且仍然获得有保证的安全性。

值得注意的是,该方法不是二元的。例如,您可以在 EVM 上运行链上游戏,然后将基于Cairo的游戏放在上面,增强核心游戏,同时扩大其功能。

为什么要费心去验证游戏呢?

想象一下,如果 RuneScape 的世界突然关闭,永久删除了每个人的游戏统计数据,就会有一些愤怒的游戏玩家。当开发人员决定关闭服务器时,这种情况必然会发生。我们能做的更好吗?我们能否创造一个像 RuneScape 一样丰富、多样化和激烈的世界,并且不受这种情况的影响?

这一挑战正是整个链上游戏场景目前正在努力解决的问题:创造一个持久、永恒和自治的世界。许多团队正在探索各种方法,这正是所需要的创新和实验。

链上游戏正在投入大量创新,但我们的重点是使用 Cairo 和 Starknet VM 探索可证明的游戏技术树。本文旨在将一些可证明的游戏概念转化为实际示例,其灵感来自于传奇游戏 RuneScape。

本篇文章的创造灵感来自于传奇的 Skystrife chad Kooshobas 在 Eth Istanbul 的演讲

可证明的Goblin

让我们建立一个可以证明goblin存在的世界,以 RuneScape 为例,我们将重点关注游戏的初始区域 Lumbridge 及其周围环境进行探索:

  • Lumbridge城堡
  • 茂密森林
  • goblin
  • 库存物品

对于可证明的goblin,我们需要:

  • 模拟goblin和生物的动态运动,打造生动的游戏世界。
  • 当玩家拾取物品时启用实时库存更新。
  • 在全球范围内跟踪并保存玩家进度,以实现一致的游戏玩法。
  • 设计机制以防止被利用,确保游戏的完整性。
  • 支持数百万并发玩家的可扩展性。

扩展现代传统游戏

传统游戏开发依赖中心化服务器来实现进程、NPC 行为、玩家状态管理、物品控制和规则执行等基本功能。为了扩展,需要添加更多服务器,并对游戏状态进行划分(分片),从而为不同的玩家组提供单独的游戏区域实例。虽然这是一种有效的扩展解决方案,但这种中心化意味着开发人员拥有最终控制权,包括关闭服务器的能力。这就是创建链上游戏行业的原因——能够拥有一个无需信任的 RuneScape……

传统区块链方式

当尝试使用传统的区块链方法复制中心化服务器的功能时,虽然理论上是可行的,但由于以下几个限制,它变得不切实际,并且几乎不可能扩展到超过几千个并发用户:

交易验证

交易或玩家操作必须由网络上的多个节点进行验证和处理。虽然这种方法通过复制处理和使用共识来确保系统的安全性,从而使系统更难受到损害,但它也在事务处理速度(即TPS)方面引入了重大瓶颈。现在,当然可以通过使用单个中央排序器(就像几乎每个 L2 一样)来回避这一点 - 然而这需要更多的信任假设。

每秒交易次数

区块链虚拟机的 TPS 限制妨碍了游戏处理玩家操作的能力。当玩家数量及其行为超过区块链的 TPS 容量时,就会形成积压,导致费用飙升和玩家体验恶化。这有效地限制了单个区块链排序器可以管理的并发玩家数量。为了克服这些限制,以太坊专注于以汇总为中心的路线图,将执行转移到汇总层。

在汇总上操作我们的世界可以大大增强可扩展性,但如果没有 zk Proofs,我们仍然依赖于大型共识机制或广泛的潜在不稳定的信任假设,这会带来风险。因此,zk 被认为是扩展的最终解决方案,尽管它尚未完全实现。

与 OP 层相比较情况下的 ZK 层的信任假设。 ZK 假设仍然很强,参与水平较低,允许迷你 zk rollup 存在。

可证明的方法 ——使用递归证明和多层协议

任何区块链的目标都是让用户对其行为有绝对的信任。这一原则在业界经常被遗忘;如果我们的目标不是创建去信任的系统,那么我们的努力还有什么意义呢?我们不妨依赖中央服务器,它们的功能非常出色。

在我们的 RuneScape 世界中,我们将专注于使用 STARK 首创的递归缩放。Tarrence写了一篇与这个主题相关的深入研究,强调了递归证明在维持第2层、第3层协议最小信任假设方面的重要性。

在我们的世界中,我们可以利用递归证明来扩展和分割世界,同时确保任何人击败的goblin确实是goblin。

粗略图如下:

让我们来分解一下。

L1以太坊

我们在这里确定了最终状态,因此任何人都可以根据需要重建 L2。这就是每个真正的汇总所做的事情。

L2Starknet

我们在这里解决了 L3 状态,因此任何人都可以根据需要重建 L3。这就是我们维护整个世界的状态的地方。

L3 Realms World或其他 L3

支持玩家全局状态的高性能执行层。我们在这里保存 Lumbridge Shards 的最终状态。这允许在需要恢复玩家平衡时快速创建新的碎片。

Ephemeral Lumbridge 分片

“Ephemeral”意味着暂时的,强调高效、安全地管理每个玩家的游戏状态的重要性——这是所有玩家最关心的问题。通过采用链分片将每个分片限制为最多30个玩家(理论上数字可能更高,但此处以这个数字作为示例),我们镜像了传统服务器的结构,并进行了关键的增强:利用 zk 证明来确保完整性状态变化。这使我们能够水平扩展到数千个分片,而不会牺牲玩家的任何性能。

将此方法应用于 RuneScape

就像传统游戏服务器中水平扩展的概念一样,我们在这里应用了类似的策略。通过将游戏世界划分为许多较小的分片,我们使系统能够有效地扩展并能容纳数百万并发用户。

传统游戏服务器与这种方法的主要区别在于,玩家可以完全控制自己的游戏状态,从而确保更大的自主权和安全性。每一点状态都可以重建!

让我们举例进行演示:

当玩家到达 Lumbridge 时,他们会被分配到一个具有容量的临时链,促进与多达29个其他玩家的交互,同时通过快速和低成本的交易确保高性能。现在更深入:

  • 森林,拥有木材等资源

通过这条短暂的链,玩家在前往森林时的移动可以被跟踪,从而强制执行一定程度的移动物理,我们利用该分片所支持的廉价计算能力来做到这一点。然后他们可以继续砍柴,增加他们的平衡并升级他们的玩家。

  • Goblins和其他低级怪物

Goblins可以通过排序器上的内置游戏刻度有效地模拟。当游戏开始时,排序器会推进状态和他们的位置,直到用户出现并被杀死。如果我们选择的话,我们可以占用大量的分片带宽,因为我们限制了玩家的数量,所以我们可以最大化 NPC 的移动。

  • 散落各处的物品或怪物掉落的物品

物品可以拾取并存储在玩家的余额中。当玩家结束会话时,这些项目将保存到全局状态。这些值不是临时的,而是会保存到 L3 以便在下一个会话中使用。

结束会话

在游戏会话结束时,玩家的状态通过转换回 L3 保留在全局状态中,为下一个区域或会话奠定基础。然后在 StarkNet L2 上进行验证,随后在 L1 上进行验证,有效地建立了一个可证明公平的 RuneScape。现在,下一步就是实现这一愿景……

我们正在构建的整个堆栈都是开源的 - 现在加入dojo discord或直接为core做贡献。

这些层之间的桥接怎么样?这对于玩家来说岂不是一场噩梦吗?

是的,目前桥接是有问题的。然而,这个问题有一个明确的解决方案,已经在 Starknet 生态系统中使用,并将很快在其他第2层协议上提供。这些被称为存储证明。是的,我正在嵌入我自己的推文。第2部分文章将讨论这一点:

https://twitter.com/lordOfAFew/status/1762796441494520267

为什么递归证明和临时链优于其他方法?

首先要说明的是,这是 Dojo、Cartridge 和 Realms 生态系统正在采用的方法,用于扩展我们设想的世界。值得注意的是,这并不是唯一的方法,探索多种方法总是会更好。我认识的一些最聪明的人也在解决这个领域最具挑战性的问题,他们的工作绝对值得一看。

  • Lattice - 带有 Redstone 的 OP Plasma 可以实现非常便宜的交易。
  • Playmint - 独特的乐观引擎可实现快速的游戏玩法
  • PoP - 定制EVM分片
  • Argus - 自定义EVM游戏碎片
  • Curio - 修改了 EVM 服务器方法

结语:回到Runescape

创建一个能够支持数百万并发玩家且免费开放的 RuneScape 并不是一件容易的事。然而,链上游戏行业的集体智慧和创造力具有强大的力量。因此,可以合理地预测此类游戏和其他游戏将在未来半年到一年内出现。是时候回到 RuneScape,或者更恰当地说,迎接 RealmScape 的到来了。 ;)

声明:

  1. 本文转载自[@lordofafew],原文标题《Provable Goblins》,著作权归属原作者[ @lordofafew ],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
即刻开始交易
注册并交易即可获得
$100
和价值
$5500
理财体验金奖励!
立即注册