您是否应在您的下一个链上游戏中使用Redstone?

新手Jan 26, 2024
本文列举了L2 Redstone的当前数据存储解决方案,并比较了它们各自的优缺点。
您是否应在您的下一个链上游戏中使用Redstone?

您是否应在您的下一个链上游戏中使用Redstone?

难度:新手

标签:以太坊

元描述:

本文列举了L2 Redstone的当前数据存储解决方案,并比较了它们各自的优缺点。

Lattice团队最近宣布推出了Redstone - 他们使用OP Stack的新贡献构建的新L2(该堆栈驱动了Optimism L2)。

因此,所有人心中的问题是,“应该在这个L2上构建链上游戏吗,它与其他方案相比如何?”鉴于我们是链上游戏的顶级开发者之一、拥有在多个链上运行的游戏,因此许多人一直在向我们的Paima Studios团队咨询我们的意见,我们将尽力深入了解其中的差异。

注:

在撰写本文时,Redstone刚刚公布。Web3是一个发展迅速的领域,因此我们鼓励您以对Redstone持开放态度的心态阅读本博文,因为不可避免地,他们肯定会发布更多与他们工作相关的信息。

要理解Redstone以及它存在的原因,首先必须了解它如何能与市场上其他正在积极使用的替代方案相比,以及它们的权衡。值得注意的是,在本博文中,我们将重点放在为您提供正确思维模型上,以便您能够了解Redstone所提出的东西,而不管他们下一步会宣布什么。

一切的起源

那么,为什么你不能直接部署你的游戏到以太坊?你可能知道这是因为成本太高(在撰写本文时,每个游戏动作的成本超过1美元),但你知道为什么成本如此之高吗?事实上,有两个主要成本:执行成本和数据存储成本——这两者对于游戏来说都是难以承受的高额开销。然而,就像CPU比硬盘更贵一样,执行成本远远高于存储成本。那么,如果我们能找到一种将执行成本转化为存储成本的方法呢?好消息是:Rollups正是做到了这一点。

Rollups 作为扩展解决方案

Rollups有很多形式,每种都以自己的方式将执行成本转化为存储成本:

  1. 乐观Rollups:在链下运行计算,然后存储执行函数所需的所有数据(仅数据,没有执行),以及你本地计算的结果的值。只有在有人认为你发布的结果是不正确的情况下才实际运行执行(”欺诈证明”)。

热门项目:Arbitrum、Optimism

  1. ZK Rollups:在链下运行计算,然后存储执行函数所需的所有数据(仅数据,没有执行),以及你本地计算的结果的ZK证明。

热门项目:ZK Sync、Starknet、Polygon zkEVM

  1. 主权Rollup:在链下运行计算,然后存储执行函数所需的所有数据(仅数据,没有执行)。 \
    热门项目:Rollkit、Paima Engine

利用这些解决方案将你的游戏的交易成本降低到约0.05美元(请参阅l2fees以获取最新值),这无疑是朝着正确方向迈出的一大步。

降低 L2 成本

显然,降低这些 L2 的成本是游戏成功的关键。虽然 Rollup 肯定会变得越来越便宜(计算机变得更好,ZK 技术变得更好等),但主要成本不是运行链下计算,而是将数据发布到 L1 的成本。

为了解决这个问题,以太坊将引入一种更便宜的新方法来存储数据(称为EIP4844)其中数据仅临时存储(实际上,大约 2 周,以便足够长的时间来发布任何欺诈证明并由世界各地的节点复制数据)。

但 EIP4844 有一些缺点:

  • 数据只是暂时的(您需要找到另一个存储解决方案来保持其托管)
  • 数据有限,每个区块上限约为 2 MiB(在以太坊上的所有汇总之间共享)

正如您所看到的,尽管正在努力降低成本,但鉴于人们对区块链空间的兴趣持续增长(采用速度快于技术创新的速度),这些努力还不足以使链上游戏在 L2 上可行)

替代方案#1:将数据存储在中央服务器(或一组服务器)上

保持低成本的一种替代方法是简单地将数据存储在人们信任你操作的中心化服务器中,并且只在链上发布数据的哈希值。使用一组独立运行的机器聚合为多重签名是根据此想法演变来的。这样的方案被称为“数据可用性委员会”(DAC),这是Arbitrum Nova、Arbitrum Orbit和Polygon CDK所使用的方案。

这些方案要便宜得多(如果忽略费用市场,Arbitrum Nova 的价格为 0.001 美元/交易),以换取更加中心化的网络。主要风险是,如果 DAC 停止托管数据(例如:它们发布哈希值并且从不共享该哈希值的数据),则网络将停止运行。

关于 Arbitrum 的特别说明

您可能好奇为什么 Arbitrum 在列表中出现两次。 Arbitrum 目前提供 3 种主要产品:

  • Arbitrum One(主要 Arbitrum 网络,是以太坊上数据的完整汇总)
  • Arbitrum Nova(使用 DAC 的 L2)
  • Arbitrum Orbit(为 Arbitrum One 创建 L3 的堆栈)

正如你所看到的,Nova 的问题在于没有好的方法在你的游戏中利用 DeFi(用户必须经过Nova -> ETH L1 -> One,并花费大量的 Gas 来桥接),而新的Orbit堆栈可让您轻松前往Orbit -> One。此外,由于 Orbit 是用于创建 L3 的堆栈,因此您可使用现有的 L3(例如 Xai Games)来为其自己的 DAC 提供动力,或者启动您自己的 L3(尽管如果您有一个特定于游戏的 L3,其与以太坊的唯一连接偶尔会发布哈希值,也许使用 web2.5 可能会更好)。

替代方案#2:将数据存储在另一个去中心化网络中

Celestia、Avail 和 EigenDA 等其他项目没有等待 EIP4844 在主网中以有限的带宽实现,而是决定将类似的概念实现为单独的链(称为数据可用性(“DA”)层),并纯粹专注于在此用例中,它们提供的数据限制也高于以太坊主网计划支持的数据限制。这些平台不支持智能合约,而是纯粹用作 L2 的数据层。

值得注意的是,可以使用 Celestia 上的数据创建 OP Stack,也可以使用 Celestia 上的数据创建 Arbitrum Orbit。这确实需要一些权衡:

  1. 信任。您的汇总现在依赖于以太坊之上的 DA 层来确保安全(但可以说比 DAC 更好)
  2. 成本。您的汇总现在需要向 DA 网络支付其安全费用(您必须以 DA 层的本机代币支付)
  3. 速度。 Celestia 出块时间为 15 秒,Avail 出块时间为 20 秒。例如,数据需要先传输到 Celestia,然后才能桥接到具有Celestia 区块流合约的EVM。不过,请对这一点持保留态度,因为所有 L2 一般都会模拟比以太坊真正提供的更快的区块时间(考虑到以太坊的区块时间只有 15 秒,尽管 Arbitrum 使用的区块时间比这更快)。

这种设置主要由Mantle(OP 堆栈 + EigenLayer DA)和Manta Pacific (OP Stack + Celestia).使用。这些的成本还有待观察,但 Celestia 宣称成文约为 0.001 美元,这意味着 DA 层的存储成本(相对于 EVM 端收费市场的执行成本)是最低的。

替代方案#3:将数据存储在可质疑的 DAC 中

最后,我们可以谈谈Redstone提供的功能。如果您不喜欢在 DA 层上存储数据的权衡,但不喜欢 DAC 的中心化,那么您可以构建一个 DAC,如果委员会不提供数据,您可以对委员会进行经济惩罚。

为了帮助理解这一层含义,让我们回顾一下 DAC 协议的工作流程:

如何写入数据

  1. Restonte排序器收到您的交易
  2. 排序器将数据发送到 DAC 进行存储
  3. DAC 返回数据已存储的确认信息
  4. 排序器将数据的哈希值发布到 L1

如何读取数据

  1. 同步以太坊链,查找提交给汇总合约的哈希值
  2. 从 DAC 查询哈希数据
  3. 根据此数据计算 L2 的状态

Redstone 改变了什么

读取数据时,如果数据不可用,您可以通过宣称 DAC 未提供数据(即数据无法从其服务器下载)来质疑 DAC。

为了适当地激励每个人诚实行事,我们设置了以下罚没规则:

  1. 如果质疑者不诚实(数据确实可用),他们就会被罚没(否则,您可以通过质疑每个区块来对网络进行经济攻击)
  2. 如果 DCA 不诚实(数据不可用),则会被罚没。

这看起来是一个简单的解决方案,但困难在于:如果出现问题,要找出是谁的错。考虑以下场景:

  1. 排序器发布哈希值而不共享真实数据
  2. 有人质疑排序器
  3. 排序器发现了质疑,并提供了数据

如果你是一个没有实时监控链的外部观察者,那么数据看起来是可用的(如果你事后查询 DAC,你会得到预期的数据),所以即便质疑者是诚实,他们看起来在撒谎。

如果您解决此问题的方法是假设排序器永远不会只为游戏撒谎,那么为什么不使用标准 DAC 来代替呢。此外,假设排序器是诚实的,并不能很好地与共享排序器“超级链”的概念相结合,这意味着资产不能使用共享排序器在 OP Stack 链之间转移(所以你会遇到与 Arbitrum Nova 相同的问题,除非 Redstone 部署为 L3)

随着更多文档和路线图信息的发布,Lattice团队计划处理这个问题方式将成为需要关注的重点。

替代方案#4:使用 ZK

请注意,影响Redstone的数据未共享问题(数据保留攻击)并非乐观汇总所独有。其数据存储在链外的 ZK Rollups(称为“Validiums”)也遇到同样的问题,这就是为什么人们通常对 rollups(将所有数据发布到链上)更感兴趣。

因此,ZK rollups 通常不会帮助您安全地降低游戏的数据成本。它们绝对可以通过许多其他方式帮助扩展您的游戏(将更多计算转移到用户的本地计算机,使用递归证明将许多交互批量处理在一起,无论是汇总样式还是状态通道样式等),但这一主题将在未来的文章总讨论。

如果 Solidity 本身就是问题,我怎样才能让我的游戏成本更低?

我们在整篇博客文章中讨论了如何处理存储成本。然而,某些游戏可能会受到 CPU 限制(即使它们在它们运行的中心化 EVM 链中运行也是如此)。如果您也遇到这一问题,您可能会想使用主权rollup 来扩展您的游戏,使其超出使用 Paima 引擎的 EVM 的限制。

Paima Engine 允许在 Javascript 中创建特定于应用程序的状态机,您可以将其部署到您选择的任何 EVM 链(包括 Redstone!)。这些主权汇总可以访问 EVM 信息(包括 MUD 引擎数据),因此可以成为使游戏的任何部分运行得更快、更便宜的好方法。

结语

综上所述,降低数据成本是降低链上游戏成本最重要的一步。目前已有许多不同的解决方案,它们的权衡不同,Redstone将自己定位为比标准 DAC 更安全的方案,但它是否更安全以及其差异是否足以成为可行的替代方案,这还有待观察 DA 层支持的解决方案。对于需要在数据之上扩展计算的项目,像 Paima Engine 这样的解决方案可以解决这一问题。

最后,我免责声明,请记住Redstone细节尚未完全公布。本文为您提供正确的思维模型,以理解Redstone未来的公告,所以让我们保持开放的态度,看看他们未来的提议。

Paima Studios​​

Paima Studios 成立于2022年4月,是 Paima Engine 的核心开发人员。Paima Engine 是一种使用新颖的第2层技术构建的 Web3 引擎,允许构建链上游戏、游戏化和自治世界。 Paima Engine 是一种安全且简单的进入 Web3 的方法,因为它可以与 Web2 技能一起使用,并且不会让用户或开发人员面临常见的 Web3 风险和黑客攻击。

您还可以从我们的社交媒体了解更多信息:

想加入我们一起共事吗?请随时通过以下链接联系我们:https://paimastudios.com/contact/

声明:

  1. 本文转载自[blog.paimastudios],著作权归属原作者[paimastudios],如对转载有异议,请联系Gate Learn团队,团队会根据相关流程尽速处理。
  2. 免责声明:本文所表达的观点和意见仅代表作者个人观点,不构成任何投资建议。
  3. 文章其他语言版本由Gate Learn团队翻译, 在未提及Gate.io的情况下不得复制、传播或抄袭经翻译文章。
Lancez-vous
Inscrivez-vous et obtenez un bon de
100$
!
Créer un compte