思考 | 弱链上游戏和强链上游戏的优缺点

Captain Hiro

    特别感谢 guiltgyoza、Ryan Zurrer 和 Swagtimus 对本文的反馈。同时,感谢 Sylve 和 MatchboxDAO 的社区提供的灵感和周到的讨论。
    游戏行业正在慢慢地被区块链技术所唤醒。后者将极大地改变游戏格局,最终使游戏玩家受益。
    现阶段,区块链上的每个节点都必须验证用户发送给网络的每个计算的有效性。区块链可扩展性的主要瓶颈之一是如何在不增加验证成本的情况下增加计算带宽,这最终是区块链的去中心化保证。验证成本越高,网络上运行一个节点所需的资源就越多。
    区块链向用户收取的交易费用与节点必须验证的计算负担成正比。因此,在这个单一的堆栈上的计算成本是是相当高的。开发人员被迫围绕这种限制编写他们的代码,这样一来就无法表达链上应用程序的真正潜力。
    自从 Optimistic Rollups(ORU)和 ZK Rollups(ZRU)的出现,这种模式已经改变。
    这类扩容方案将计算由高端机器(证明者)在链下运行,同时在结算链上发布欺诈证明(在 ORU 上)或有效性证明(在 ZRU 上),这样可以证明计算的完整性,或者换句话说,计算已经按照系统规则执行。
    网络的节点可以验证所附的证明,其速度和成本比验证计算本身要快几个数量级,因此它们可以用相当便宜的成本实现复杂的计算,如游戏动态。
    例如,由 Cairo 驱动的 Starknet 虚拟机释放了这种真正的潜力,因为它们的原生编程语言不受矿工可提取价值的约束。
    由于这些证明的存在,区块链网络有可能成倍地提高计算的复杂性和吞吐量,同时保持验证成本的线性甚至更低。
    这是区块链扩容的一个基本转变。
    在单体区块链上,完全在链上运行游戏在经济上是不可行的,而且在可预见的未来仍将如此。这就是为什么过去几年发布的大多数区块链游戏都是混合形式的,这些游戏只在链上有其堆栈的几个组件,而在链下的专有服务器上运行其游戏逻辑的核心部分。我们将把这个系列的区块链游戏称为弱链上游戏(weakly on-chain games)
    像 Axie Infinity、Crabada 和 The Sandbox 这样的游戏就属于这个类别。
    通过链下扩展,用户将能以低廉的成本获得无限的计算。因此,游戏的逻辑可以最终作为智能合约部署在链上。我们将把这个系列的游戏称为强链上游戏(strongly on-chain games)
    Dope Wars,Briq,Loots,The Realms,The Ninth,and Influence 等等,都属于这个类别。
    在这篇文章中,我们想探讨一下每个宏观类别的优势和劣势。
    弱链上游戏
    
    优点
  • 更加直接的规模化
  • 更容易被公众受众所接受
  • 良好的用户体验
  • 低延时
  • 快速修复错误的过程
  • 容易禁止作弊者
缺点
  • 自上而下的开发
  • 封闭的源代码
  • 对相关游戏发行商的信任
  • 可组合性和互操作性的保证较弱
  • 私有化
  • 非持久性

    弱链上游戏更容易扩展,因为它们在链下保留了大部分的堆栈。链上的游戏部分通常是游戏中由 NFT 代表的资产,以及游戏中的代币,这些资产可以在开放和无许可的市场上自由交易和转让。因此,游戏活动发生在链下,然后经济结算在链上完成。
    弱链上游戏的缺点可以追溯到中心化的根本问题,游戏发行商扮演着中心权威的角色,并将可能意味着长期的寻租(rent-seeking)。一个游戏发行商可以单方面开始审查,改变规则,或者消失。另外,这类游戏的互操作性和可组合性是不可能的,因为游戏逻辑不是在链上的。
    从好的方面看,弱链上游戏的用户体验与传统游戏相当相似,鉴于游戏的客户端和服务器连接类型,游戏的延迟不是问题,任何更新都可以顺利地推出。由于游戏访问是有门槛的,游戏发行商可以禁止那些违反服务条款的玩家玩游戏。
    强链上游戏
    
    优点
  • 开源的
  • 自下而上的开发
  • 潜在的可组合性和可互操作性
  • 客户端抽象化
  • 信任最小化
  • 无许可的
  • 持久性
缺点
  • 用户体验
  • 默认情况下信息不隐蔽
  • 玩家可能会被暴露在反向追踪和其他形式的矿工可提取价值中
  • 延迟性
  • 漏洞修复可能需要社交协调
  • 盗版

    通过强大的链上游戏,开发者可以利用任何公共的链上组件:
    
  • 一个物理引擎
  • 一个获取随机性的链上 VRF(虚拟路由转发)原件
  • 代表技能树的 NTF,可以移植到游戏的任何模型上
  • 一个任务合约,任何人都可以在游戏中部署和导入他们的任务

    这些只是强链上游戏所能促进的例子。
    每一个游戏组件都是潜在的可组合和可互操作的,并且可以无限地复制。
    这就为无尽的、强大的自下而上的合作奠定了基础。MatchboxDAO 就是这种举措的一个活生生的例子。
    强链上游戏所解锁的另一个伟大功能是客户端抽象。用户不会被迫使用一个特定的平台来玩他们的游戏。他们所需要的一切是对一个节点的访问。他们也不需要等待游戏发行商在他们的平台上发布他们喜欢的游戏。修改者将不会面临任何可移植性问题。
    现在让我们来看看强链上游戏的一些缺点和未来所面临的挑战。
    我们强烈推荐铁子们阅读“区块链游戏的四个挑战”,这是 Sylve 写的一篇好文章。
    UI/UX(用户界面/用户体验)
    在强链上游戏中,游戏合约的每一个状态变化都需要在链上注册。因此,用户需要为他们愿意在游戏中执行的每个行动签署一个交易。这种方案对于像即时战略游戏(RTS)这样的高速游戏是不可行的。
    相对于以太坊的账户模型,账户抽象(AA)是一个相当引人注目的改进,像 Starknet 和 Optimism 这样的 Rollups 正在实施。有了账户抽象,每个外部拥有的账户都是一个智能合约,它允许部署强大、安全和高度可定制的智能钱包。这将有可能在高层次上创建与我们与 Medici(我们的矿农)部署的相当类似的东西。
    
    请注意,模块逻辑甚至可以在热钱包逻辑中实现
    玩家将为任何新游戏生成一个带有本地密钥对的新账户。这个被削弱的热钱包将被限制在:I)将任何游戏中的资产或代币送回主钱包;II)从代理合约中调用一组有限的允许功能中的任何功能,这将映射出目标游戏合约的功能。每当用户点击一个指定的游戏动作时,热钱包将调用模块上的相应功能,然后代表用户修改目标游戏合约的底层状态。
    这种通过 Secure Enclave 的模块化架构将使用户不必为每一个游戏中的动作签署交易,同时保留主钱包的强大安全性。临时密钥对将被限制在调用一组有限的无害功能上。
    反向追踪(back running)和 gaMEV
    当玩家向公共 mempool 发送交易时,如果交易是以可读的形式提交的,他们可能会暴露自己并被反追踪。mempool 的任何观察者都能事先知道下一个行动流是什么,并采取相应的行动。
    例如,在一个格斗游戏中,玩家 1 在 mempool 上提交了一个与翻身踢腿(High-Kick)动作相关的事务。同时,玩家 2 正在监控 mempool,以寻找来自玩家 1 的任何交易。一旦交易被提交,玩家 2 可以预见对手的下一步行动,并能够通过提交完美的反击动作来反击它。
    
    玩家 1 向公共 mempool 提交翻身踢腿动作,玩家 2 正在监控 mempool 的信息
    
    玩家 2 用他们的高位阻挡(High-Parry)阻挡了玩家 1 的翻身踢腿
    通过加密货币玩家的行动或通过私人 mempool 发送交易,可以防止反向追踪。
    除了系统性的反向追踪漏洞,每一个强链上游戏都可能出现长尾 MEV 的形式,或 gaMEV(由 Briq 的 Sylve 所创造的词汇)。仲裁、抢跑(frontrunning)和其他复杂形式的 gaMEV 机会将是突出的。我们不可能以一种概括的形式来定义它们,因为它们严格地取决于游戏的架构、动态和元游戏。
    在每一种情况下,我们都相信在接下来的几年里,长尾的 gaMEV 提取(extraction)将是一个相当突出的活动。
    信息隐藏
    大多数竞技游戏都依赖于某种程度的不完美或不完全信息。
    不幸的是,从本质上讲,公有链以清晰和可读的方式存储所有信息,世界上任何能接触到节点的人都可以访问。这将允许任何观察者只需读取存储在智能合约上的信息,就可以剥削或利用其他玩家。
    我们可以考虑一个实时战略游戏,玩家通过生产每个单位类型具有不同属性的战争部队来对抗对方。每个用户受限于他们的视线,对地图的视野都不完整。由于部队的人口统计对战斗的结果至关重要,在战争的迷雾中看到对手正在生产的东西是一种竞争优势。一个能读懂智能合约存储的成熟用户可以根据对手的行为相应地调整他们的策略。
    当本应保密的信息在游戏合约上公开时,能够阅读存储字段的人和不能阅读的人之间存在着信息的不对称。由于区块链游戏往往带有货币奖励,这种利用过程就会加剧。
    异步的回合制游戏可能会实施承诺 - 披露计划(commit-reveal schemes)。玩家可以以哈希的形式发布他们的行动,而不透露他们的基本行动。一旦每个参与者发布了他们的哈希值,他们就可以揭示他们的行动。智能合约将验证每个披露的行动是否与所附的哈希值相对应。
    另一个解决方案是利用零知识证明。正如本文开头所介绍的,零知识证明是相当强大的密码学原语。它可以让外部各方(如执行游戏规则的智能合约)验证状态转换的有效性,同时通过隐藏所采取的步骤及其基础输入来保持计算的私密性。
    一个完全在链上的网络游戏黑暗森林(Dark Forest)率先使用 zkSNARKs 来保持游戏中信息的隐私性。在黑暗森林中,玩家在一个无限的宇宙中发现和征服星球。然而,他们不需要提交他们所征服的星球的坐标,否则,他们就会被利用。相反,玩家提交的是坐标的哈希值和一个本地生成的零知识证明附件。同样地,每当他们想从行星 A 移动到行星 B 时,他们需要提供两个行星坐标的哈希值和相应的零知识证明。只有玩家知道这些坐标和状态转换,因为它们被储存在本地。每个外部用户只能看到哈希值和零知识证明。
    
    计划来自黑暗森林的博客
    零知识证明最大的缺点是,它们的生成是相当密集的计算。例如,现在生成一个 zkSNARK,在一个现代设备上可能需要几秒到几十秒。虽然,它甚至可以委托一个远程方代表你生成零知识证明。
    在每一种情况下,对于实时游戏来说,在接下来的几年里生成零知识证明将需要缩小到几秒钟以内,希望我们能达到这个目标。
    延迟问题
    考虑到成千上万的用户通过调用公共 RPC 端点,每秒产生数十万个智能合约的读取。这可能会迅速升级为网络过载的事件,从而降低游戏中的延时。在理想的情况下,每个用户都应该能够在他们的浏览器/设备上运行他们的本地节点。
    此外,链上游戏的安全假设可能比链上金融相关的活动要弱,因为伪造攻击的经济损失要小几个数量级。因此,从安全的角度来看,运行一个本地的轻型节点可以说是足够好的。
    以太坊的无状态客户端加 Verkle 树,Mina 的递归 zkSNARKs,以及波卡的 Substrate Connect 都是走向这条道路的方法。
    然而,RPC 拥堵问题只是延迟问题中的一个。由于网络的点对点性质,玩家可能因为网络拓扑结构而遭受高延迟。
    我们读到的一个解决延迟问题的方法是 Xaya 团队的开放游戏通道。作为状态通道,玩家可以打开一个直接的链下通信通道,在那里他们将进行他们的动作,同时不时地更新链上的状态(如果合约状态需要根据游戏规则被覆盖)。
    这将允许实时互动,直到参与各方之间地理距离的最小延迟限制。
    
    玩家在链下的直接通信渠道中进行互动,只有在需要时才在链上结算
    然而,在两方之间开设链下通道可能会引入两个主要的缺点:
    
  • 在没有中心化机构存在的情况下建立事件的秩序
  • 防止拒绝服务

    考虑一个第一人称射击(FPS)游戏的两个玩家之间的游戏通道,两个对手之间有一些延迟。在某个时刻,他们来到对方面前,同时扣动扳机。从玩家 A 的角度来看,他先开枪。但玩家 B 却看到了相反的情况。我们如何确定谁先开枪?上述情况又回到了分布式系统中的根本时间问题。除此之外,当打开一个直接通道时,玩家会将他们的 IP 暴露给对方,从而使他们有可能受到拒绝服务攻击。
    目前还不清楚这些缺点将如何以可扩展和信任最小化的方式得到解决。
    在比特币的闪电网络上,第三方可以运行 Watchtowers,以检测和防止不诚实的交易方在出现漏洞时脱机或无法回应时窃取用户的资金。
    我们以类比的方式,让受信任的第三方作为游戏渠道内的计时机构,可以成为解决坚决纠纷的满意方案。实施一个带有链上削价机制的 n-of-m 方案甚至是可能的。在每一种情况下,都可能出现一个提供这种服务的有信誉的各方市场。
    即使上述方案会在游戏中引入一个中心化的组件,这些第三方可能造成的最大伤害是通过提供不正确的信息来影响游戏回合的结果,但绝不会窃取用户的资金。而且,如果被发现有不诚实的行为,他们可能会失去他们的声誉,他们的客户,甚至是他们的质押代币。
    结论
    上述清单只是链上游戏所面临的全部挑战中的一个子集。我们还没有触及还原交易、数据存储和其他一些问题。构建者将不得不把他们的游戏与区块链架构的技术挑战和负外部性结合起来。
    尽管如此,链上的可组合性和互操作性是令人难以置信的强大手段。一个全新的人类协调、元游戏和机会将在未来几年内出现。
    在 Dialectic,我们在过去两年中对区块链游戏相当热衷。我们一直在投资了不起的初创公司,如 Sky Mavis、Ember Sword 和 Guilds of Guardians。虽然单个区块链的限制迫使建设者通过为他们的游戏开发一个混合堆栈来进行妥协。
    现在,区块链的扩展正在慢慢成为现实,而强链上游戏似乎将是一个自然的转变,特别是在高度可扩展的环境中。
    我们已经投资了像 Topology 这样的互操作性协议(这个网站的所有内容都是从 StarkNet 上的链上合约中提取的)和其他一些协议来追求这个愿景。
    我们可能会继续走这条路。我们对链上游戏领域在未来几年的发展方向感到兴奋。