自主世界理论提供了一个数字生态系统,其中包括区块链状态根、区块链状态转换函数和共识机制,以及基于零知识机器学习(ZKML)的基础设施,用于游戏开发者和玩家。MUD框架简化了游戏开发流程,Redstone作为游戏优化的基础设施,EZKL引擎可以实现创新动态,支持辉煌的自主世界游戏堆栈。
自主世界(aw.network)是由其自身拥有的一套规则和实体管理的数字生态系统。这些世界很像我们居住的物理世界或概念空间,在独特的“叙事”或其定义边界内,存在的一组条件/法则下运行。例子诸如《指环王》等精心设计的虚构宇宙,到美元等现实世界的经济体系。对于自主世界至关重要的三个核心概念是:
有了这些机制,就有可能建立一个由明确的叙事边界管辖的世界,通过状态和共识强制执行,并设计为自主运作。执行规则不会蚕食客观性,“没有人可以拔掉自主世界的电源”。
区块链引起的开销,很大程度上归因于性能和成本。在全栈环境中,用户和开发人员都面临着高昂且复杂的 Gas 成本和共识驱动的延迟。现有的范式通常是链上游戏和链下游戏之间的二元关系。
我们相信这些范式之间的折衷是可验证的链下计算和链上状态管理。在实践中,这是通过 ZK 等专门的区块链解决方案来实现的,更具体地说是 ZKML(Zero-Knowledge Machine Learning 零知识机器学习):针对高质量游戏体验所需的复杂操作进行优化的基础设施。
ZK 利用了许多区块链实现(尤其是 EVM)的一个巧妙功能:预编译。预编译是编码到底层 VM 中的 Gas 高效函数,可支持常用但高复杂度且昂贵的操作。包括 KECCAK256 哈希、ECDSA 验证或 BN128 配对预编译。
典型的 ZK 应用流程。对于形状旋转器来说,这是一个容易理解的例子。用户计算 ZK 证明,证明他们已经计算出世界的有效旋转。他们将此证明提交给管理链上世界的验证者合约,以及一组新的坐标和世界旋转更新。将会观察到一个玩家有可能发起一场全球性的变革。
有各种广义 ZK 应用于游戏的示例。Dark Forest 和 ZK Hunt 一直是利用零知识证明的隐私可供性,来创建具有战争迷雾或隐藏信息机制的游戏的先驱。计算的可验证性对于链上游戏开发者来说是一套尚未充分探索的工具,我们已经看到越来越多的开发者和玩家在这一愿景上投入精力。除了广义的 ZK 游戏应用外,我们还相信,围绕 ML 专门优化的策略和代理存在新兴设计的可能性。我们探索了 ZKML 游戏设计的三种主要方法,这些方法在游戏设计师和玩家中都有受欢迎的迹象:
我们看到的链上游戏和 ZKML 融合最早的探索是 ZKML 模型即游戏。在该场景里,玩家直接与 ZKML 模型交互,这种交互构成了游戏过程的主体。一个代表性的例子是我们内部开发的 Cryptoidol 游戏(cryptoidol.tech)。在该游戏中,选手们在一场永不停歇的歌唱比赛中争夺最佳歌手的称号。他们在浏览器中唱歌并生成一个证明,证明他们被公共评判模型正确打分。然后他们可以在链上提交分数和相关证明,以进入实时更新的排行榜中。
这里的机器学习模型就是游戏本身,玩家的所有交互都直接与 ZKML 模型进行。大多数互动都是单人游戏。
唱歌。接受打分。获得永久的链上排名
我们还设计了一个简单的链上井字棋,其中机器学习模型接受井字棋游戏数据的预训练,以识别有效或无效的游戏模式,这样游戏就可以在链下运行,然后在链上提交和结算最终状态。我们有两个教程展示了如何执行此操作。这种编码游戏“规则”的神经网络模式连接到下一个设计范式:ZKML 帮助为世界创建“链上物理学”。尽管井字棋模型利用了神经网络,但这种设计模式需要稍微转变一下 ZKML 的功能。从某种意义上说,当 ZKML 专注于神经网络“推理”时(即训练后进行预测),没有任何东西可以限制 ZK 计算为 ML 独有的计算。
矩阵乘法可用于对 AW 状态的状态转换进行建模,例如世界天气。BabyGaya(遗憾的是不再在线)就是体现这一想法的游戏,其中每个区块的整个世界状态都使用任何人都可以运行的 ZK 矩阵乘法来改变。
在这里,玩家与 ZKML 模型创建的世界进行交互。许多玩家可以与这个共享状态的世界进行交互。
第三种模式,也许也是最雄心勃勃的一种,是利用 ZKML 来构建世界的传说和叙事的模式。机器学习模型可用于创建复杂的代理/NPC 和并发故事情节,它们是更大整体的微观元素。
例如,这可以是随着游戏的进展编写世界叙事的语言模型,或者为单个 NPC 编写故事情节的语言模型。作为对此的首次探索,我们创建了自己的链上 NPC,我们将其称为“蠕虫”。我们实现了一个生成模型,如下所述 ,该模型对线虫神经系统的电压激活(给定感觉输入)进行建模。我们可以使用 MUD 等全链游戏引擎为蠕虫生成感官输入 ,然后生成在给定链上感官环境下,更新蠕虫大脑活动的证明。任何人都可以运行这些证明,并使蠕虫病毒在链上“存活”,从而有效地创建一个自主代理,其他游戏和界面可以在自己的游戏中使用该代理。跨游戏和世界共享的可重复使用且无需许可的 NPC 就成为了可能🥳。
在这里,世界的传说,例如故事和玩家遇到的角色,都是由 ZKML 模型生成的。和之前一样,许多玩家都可以参与这个传说并体验这个叙事。
尽管全链上游戏的开发仍处于起步阶段,但它为游戏用户和设计师提供了前所未有的新功能。我们相信各种全链上游戏开发框架,特别是那些由我们在 Lattice 和 0xPARC 的朋友开发的框架,降低了创建自主世界的进入门槛。认识到传统智能合约开发中的挑战(如:状态和逻辑的耦合,以及链和客户端之间的数据同步问题), MUD 等框架简化了游戏开发流程。考虑到底层区块链的局限性,特别是在 L1 数据费用和数据可用性方面,像 Redstone(构建在 OP Stack上的 Layer 2)这样的 Rollup 可以作为游戏优化的基础设施。
我们认为,缺失的部分是通用计算引擎。正如我们之前讨论的,ZKML 堆栈继承了底层区块链(无论是 EVM 还是其他区块链系统)的安全性和计算限制。因此,以可验证的方式预处理繁重的计算特征(从 ML 代理到策略模型再到嵌入式图形的任何内容)非常重要。这使得批量计算可以更简洁地通过游戏引擎和区块链层来进行。
通用计算引擎背后的底层硬件由用户自行决定。通过 EZKL 后端,可以使用我们的私有集群(通过包含的作业实现规模经济)或 ZK 加速硬件。硬件集成方面还有更多内容即将推出。这种灵活性意味着证明引擎可以在客户端(如 WASM) 和 服务器上运行,并且两个系统都能够将验证器部署到区块链上。
游戏堆栈。蓝色功能由 EZKL 引擎提供。为简单起见,我们简化掉了一些额外的工具/框架的提及,但该结构仍具有普适性。
我们在设计 EZKL 时就考虑到了这一愿景,并相信这些简单的 ZKML 库可以巧妙地补充 MUD、Redstone 等,一个通过高性能基础设施实现创新动态并支持辉煌自主世界的游戏堆栈。