转发原文标题《Provable Goblins》
自治世界(Autonomous Worlds, AWS)面临着同样的三难困境。AWS 需要能够扩展到数百万并发玩家,这是一个很难解决的问题。
Rollups部分地解决了这个三难问题,将其转化为一个两难问题,这要归功于继承了结算层的安全性——只要存在Layer 1(L1)本地资产和无许可退出。
对于乐观汇总,您需要在可扩展性和安全性之间进行选择,这就是为什么一些汇总方法通过使用替代数据可用性 (alt DA) 或等离子 DA 来实现可扩展性,从而牺牲安全性。然而,通过 ZK Rollup,您可以以最小的信任假设来证明状态的完整性,旨在解决所有三个挑战:可扩展性、安全性和去中心化。 Zk 是终局之战。
诚信的《大金刚》 (Donkey Kong)——从链上到可证明再到回归
链上游戏向我们保证言论自由和信息主权。它们拥有这些属性,因为它们运行在经过共识验证的区块链上。可证明游戏使用 zk 证明,允许在没有大型共识方案的情况下验证游戏状态和计算。用类似的语言编写Cairo、Noir或运行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存在的世界,以 RuneScape 为例,我们将重点关注游戏的初始区域 Lumbridge 及其周围环境进行探索:
对于可证明的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 证明来确保完整性状态变化。这使我们能够水平扩展到数千个分片,而不会牺牲玩家的任何性能。
就像传统游戏服务器中水平扩展的概念一样,我们在这里应用了类似的策略。通过将游戏世界划分为许多较小的分片,我们使系统能够有效地扩展并能容纳数百万并发用户。
传统游戏服务器与这种方法的主要区别在于,玩家可以完全控制自己的游戏状态,从而确保更大的自主权和安全性。每一点状态都可以重建!
让我们举例进行演示:
当玩家到达 Lumbridge 时,他们会被分配到一个具有容量的临时链,促进与多达29个其他玩家的交互,同时通过快速和低成本的交易确保高性能。现在更深入:
通过这条短暂的链,玩家在前往森林时的移动可以被跟踪,从而强制执行一定程度的移动物理,我们利用该分片所支持的廉价计算能力来做到这一点。然后他们可以继续砍柴,增加他们的平衡并升级他们的玩家。
Goblins可以通过排序器上的内置游戏刻度有效地模拟。当游戏开始时,排序器会推进状态和他们的位置,直到用户出现并被杀死。如果我们选择的话,我们可以占用大量的分片带宽,因为我们限制了玩家的数量,所以我们可以最大化 NPC 的移动。
物品可以拾取并存储在玩家的余额中。当玩家结束会话时,这些项目将保存到全局状态。这些值不是临时的,而是会保存到 L3 以便在下一个会话中使用。
在游戏会话结束时,玩家的状态通过转换回 L3 保留在全局状态中,为下一个区域或会话奠定基础。然后在 StarkNet L2 上进行验证,随后在 L1 上进行验证,有效地建立了一个可证明公平的 RuneScape。现在,下一步就是实现这一愿景……
我们正在构建的整个堆栈都是开源的 - 现在加入dojo discord或直接为core做贡献。
是的,目前桥接是有问题的。然而,这个问题有一个明确的解决方案,已经在 Starknet 生态系统中使用,并将很快在其他第2层协议上提供。这些被称为存储证明。是的,我正在嵌入我自己的推文。第2部分文章将讨论这一点:
https://twitter.com/lordOfAFew/status/1762796441494520267
首先要说明的是,这是 Dojo、Cartridge 和 Realms 生态系统正在采用的方法,用于扩展我们设想的世界。值得注意的是,这并不是唯一的方法,探索多种方法总是会更好。我认识的一些最聪明的人也在解决这个领域最具挑战性的问题,他们的工作绝对值得一看。
创建一个能够支持数百万并发玩家且免费开放的 RuneScape 并不是一件容易的事。然而,链上游戏行业的集体智慧和创造力具有强大的力量。因此,可以合理地预测此类游戏和其他游戏将在未来半年到一年内出现。是时候回到 RuneScape,或者更恰当地说,迎接 RealmScape 的到来了。 ;)
转发原文标题《Provable Goblins》
自治世界(Autonomous Worlds, AWS)面临着同样的三难困境。AWS 需要能够扩展到数百万并发玩家,这是一个很难解决的问题。
Rollups部分地解决了这个三难问题,将其转化为一个两难问题,这要归功于继承了结算层的安全性——只要存在Layer 1(L1)本地资产和无许可退出。
对于乐观汇总,您需要在可扩展性和安全性之间进行选择,这就是为什么一些汇总方法通过使用替代数据可用性 (alt DA) 或等离子 DA 来实现可扩展性,从而牺牲安全性。然而,通过 ZK Rollup,您可以以最小的信任假设来证明状态的完整性,旨在解决所有三个挑战:可扩展性、安全性和去中心化。 Zk 是终局之战。
诚信的《大金刚》 (Donkey Kong)——从链上到可证明再到回归
链上游戏向我们保证言论自由和信息主权。它们拥有这些属性,因为它们运行在经过共识验证的区块链上。可证明游戏使用 zk 证明,允许在没有大型共识方案的情况下验证游戏状态和计算。用类似的语言编写Cairo、Noir或运行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存在的世界,以 RuneScape 为例,我们将重点关注游戏的初始区域 Lumbridge 及其周围环境进行探索:
对于可证明的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 证明来确保完整性状态变化。这使我们能够水平扩展到数千个分片,而不会牺牲玩家的任何性能。
就像传统游戏服务器中水平扩展的概念一样,我们在这里应用了类似的策略。通过将游戏世界划分为许多较小的分片,我们使系统能够有效地扩展并能容纳数百万并发用户。
传统游戏服务器与这种方法的主要区别在于,玩家可以完全控制自己的游戏状态,从而确保更大的自主权和安全性。每一点状态都可以重建!
让我们举例进行演示:
当玩家到达 Lumbridge 时,他们会被分配到一个具有容量的临时链,促进与多达29个其他玩家的交互,同时通过快速和低成本的交易确保高性能。现在更深入:
通过这条短暂的链,玩家在前往森林时的移动可以被跟踪,从而强制执行一定程度的移动物理,我们利用该分片所支持的廉价计算能力来做到这一点。然后他们可以继续砍柴,增加他们的平衡并升级他们的玩家。
Goblins可以通过排序器上的内置游戏刻度有效地模拟。当游戏开始时,排序器会推进状态和他们的位置,直到用户出现并被杀死。如果我们选择的话,我们可以占用大量的分片带宽,因为我们限制了玩家的数量,所以我们可以最大化 NPC 的移动。
物品可以拾取并存储在玩家的余额中。当玩家结束会话时,这些项目将保存到全局状态。这些值不是临时的,而是会保存到 L3 以便在下一个会话中使用。
在游戏会话结束时,玩家的状态通过转换回 L3 保留在全局状态中,为下一个区域或会话奠定基础。然后在 StarkNet L2 上进行验证,随后在 L1 上进行验证,有效地建立了一个可证明公平的 RuneScape。现在,下一步就是实现这一愿景……
我们正在构建的整个堆栈都是开源的 - 现在加入dojo discord或直接为core做贡献。
是的,目前桥接是有问题的。然而,这个问题有一个明确的解决方案,已经在 Starknet 生态系统中使用,并将很快在其他第2层协议上提供。这些被称为存储证明。是的,我正在嵌入我自己的推文。第2部分文章将讨论这一点:
https://twitter.com/lordOfAFew/status/1762796441494520267
首先要说明的是,这是 Dojo、Cartridge 和 Realms 生态系统正在采用的方法,用于扩展我们设想的世界。值得注意的是,这并不是唯一的方法,探索多种方法总是会更好。我认识的一些最聪明的人也在解决这个领域最具挑战性的问题,他们的工作绝对值得一看。
创建一个能够支持数百万并发玩家且免费开放的 RuneScape 并不是一件容易的事。然而,链上游戏行业的集体智慧和创造力具有强大的力量。因此,可以合理地预测此类游戏和其他游戏将在未来半年到一年内出现。是时候回到 RuneScape,或者更恰当地说,迎接 RealmScape 的到来了。 ;)