OP Stack创新者对话:Plasma Mode如何改变链游未来

DEVS ON DEVS: TDOT和BEN JONES的对话

在这期特别的Devs on Devs对话中,我们邀请了Plasma Mode的核心协议开发者tdot(同时也是Redstone的开发者),和Optimism的联合创始人Ben Jones。Optimism是OP Stack的核心推动者。Plasma Mode允许开发者在OP Stack上构建,但不需要将数据发布到L1,而是可以灵活地切换到链下数据提供者,从而节省成本并提高可扩展性。在本次对话中,他们探讨了Redstone和Optimism合作的起源、复兴Plasma的重要性、将实验性协议引入生产环境的必要性、Plasma Mode和OP Stack的未来路线图,以及他们对全链游戏领域发展的兴奋之情。

01. 如何使用Plasma模式改进OP Stack

Ben: 开始改进OP Stack的过程是什么样的?

tdot: 我大约一年前加入Lattice,专门负责Plasma Mode。目标非常明确:我们有很多MUD应用程序,它们消耗了大量的gas,同时我们试图将大量数据放到链上,所以需要一种既支持这些需求同时又便宜的解决方案。Lattice团队已经在OP Stack上做了一些试验,比如原型化一些链上世界并部署在OP Stack上。我们发现OP Stack已经非常好用了。

于是我们问自己,"怎么才能让它更便宜?" 基本的假设是,"我们认为OP Stack是最符合以太坊理念且完全兼容EVM的框架。" 在主网上运行的东西可以同样在OP Stack上运行,这是理想的解决方案。但我们希望它更便宜。

当时,calldata仍然是OP Stack链的数据可用性(DA)来源,这非常昂贵。所以我们显然无法用calldata来启动一个L2,因为我们的全链游戏和MUD世界需要更高的吞吐量。因此,我们决定开始尝试其他数据可用性(Alt DA)方案。实际上,在最初的OP Stack文档中已经提到要探索Alt DA。

于是我们问自己,"如果从链下DA开始会怎么样?" 我们希望整个安全模型和所有内容都能依赖L1以太坊。因此我们避开了其他Alt DA解决方案,决定将数据存储在中心化DA存储中,然后在L1上找到一个有效的安全模型。

这就是我们为何要重新使用一些旧的Plasma概念并将其放在rollup之上。这里有一些不同。最大的疑问是,如何在现有的OP Stack上实现链下DA和链上数据挑战?我们的目标是尽量少改动OP Stack,对rollup路径没有任何影响,因为我们不想影响使用OP Stack的其他rollup链的安全性。

在设计rollup时,你不会想着,"如果有人改变了数据生成流程以从其他地方存储数据会发生什么?" 即使有这些改动,OP Stack仍然非常强大,开箱即用效果很好。这是我们所做的第一个改动。

之后,我们需要编写合约来创建这些挑战。有用于强制将数据上链的DA挑战。这是第二步,将合约集成到流程中。我们必须在派生过程中构建整个集成系统,这样你就可以从一个链外的DA来源以及一个L1 DA挑战合约中派生数据,以防数据在挑战解决过程中提交到链上。

这就是事情的要点。很复杂,因为我们希望保持事情的优雅和稳健。同时,这是一个相对简单的概念。我们没有尝试重新发明一切或改变整个OP Stack,而是尝试在一个复杂的环境中保持事情的简单。所以总体来说,这是一段非常酷的工程旅程。

Ben: 我可以从OP的角度来谈谈。你提到了一些Lattice早期的工作。恰好在同一时间,我们Optimism几乎对整个OP Stack进行了端到端的重写,这次发布我们称之为Bedrock。

基本上,在构建rollup两年之后,我们退后一步,反思说:"好吧,如果我们要把学到的所有经验都用到极致,这会是什么样子?" 这演变成了最终被称为Bedrock的代码库,这是我们对网络进行的最大升级。

在那个时候,我们与你们合作了一个叫OPCraft的项目,我认为Biomes是它的精神继承者,这是我们在链上玩得最开心的一次。同时,我们也松了一口气,因为其他人也可以使用OP Stack进行开发。我认为在过去几年里,扩容的另一个重要转折点是很多人可以运行链。

并不是只有那些开发了庞大复杂代码库的人才能做到这一点。当我们开始合作时,看到别人能够接手这个代码库并做出一些非常了不起的事情,这是一种极大的肯定。然后看到这种情况在实际应用中扩展到Plasma上,真是太酷了。我甚至可以稍微谈谈那段历史。

在Optimism成为Optimism之前,我们实际上在研究一个叫Plasma的技术。当时我们承担的任务远超当时扩容社区的能力。你在早期的Plasma设计中看到的设计,可能与今天的Plasma并没有直接的对应关系。

今天的Plasma要简单得多。我们将状态验证的证明和挑战与数据的挑战分开来看。最终,我们几年前认识到Rollups比Plasma要简单得多。我认为,当时社区的结论是"Plasma已死"。这是那个时期以太坊扩容史上的一个梗。

但我们一直认为"Plasma并没有死,只是我们可以先尝试一个更简单的任务"。现在我们使用不同的术语。比如,当时有退出(exits)等概念,现在你可以回过头来看,说"哦,那是一个带有一些额外步骤的数据可用性挑战"。所以看到不仅OP Stack被其他人使用,还被演化成我们最初尝试但以非常混乱和不成熟的抽象方式做的事情,真是令人惊叹。我们已经完成了一个完整的循环,你们围绕它们做了非常棒的抽象,并使其以一种合理和理智的方式工作。这真的很酷。

02. 最重要的是尽快进入生产环境

tdot: Plasma模式仍然存在一些挑战和未解决的问题,我们还在努力解决。关键是如何避免耗费长达十年的时间?你懂我的意思吧?我们需要尽快达到可以交付成果的阶段。

这就是我们的想法。我们已经有很多基于MUD开发的应用想要立即上线主网。我们需要尽快为这些游戏准备一个主网。人们已经在等待,并且准备好了。你需要一个快速上线并能运行的链,来运行所有这些应用程序,这样这些应用可以在我们解决问题的同时并行发展,变得更好。从研发到实现生产稳定性需要很长时间。

要将某个东西上线主网,使其无许可、稳健和安全,需要耗费大量时间。看到我们实现这一目标的整个过程已经很令人惊叹了。这就是为什么我们需要保持高度的敏捷,因为事情太多了。整个生态系统发展得非常快。我认为每个人都在交付大量的创新。这就是为什么你必须跟上,但你也不能在安全性和性能上妥协,否则系统就无法运行。

Ben: 或者说是技术负担。你提到的最小改动原则,这是我们进行Bedrock重写时的核心理念之一。我谈到了整个端到端的重写,但更重要的是,我们减少了大约50,000行代码,这本身就非常有力。因为你说得对,这些事情确实很难。

每增加一行代码都会让你离生产环境更远,使得事情更难以经过实战测试,并引入更多的错误机会。所以,我们非常感谢你们在推动这一过程中的所有努力,尤其是为OP Stack的新操作模式做出的贡献。

tdot: OP Stack确实创造了一种方式,使你可以在这类事情上快速推进。协调大家非常困难,因为我们显然是两家不同的公司。在Lattice,我们正在构建一个游戏,一个游戏引擎,以及一条链。

而你们正在构建成百上千的东西,并且定期交付所有这些产品。从协调方面来看,这确实非常不易。

Ben: 是的,确实还有很长的路要走。但这正是模块化的核心魅力所在。对我来说,从OP Stack的角度来看,这是最令人兴奋的事情之一,暂且不提现在在Redstone上构建的那些令人惊叹的游戏和虚拟世界。纯粹从OP Stack的角度来看,这是一个非常有力的例子,证明了很多优秀的核心开发者已经加入进来并对这个栈进行了改进,这非常了不起。

这是第一次,你可以通过一个关键的布尔值显著改变系统的属性。能够彻底做到这一点,正如你所说,确实还有很长的路要走。但即使是接近有效地做到这一点,也需要模块化的支持,对吧?对我们来说,看到你们实现了这一点,而不需要例如重写L2 Geth,真是让人松了一口气。对我来说,这证明了模块化正在发挥作用。

tdot: 现在情况变得更好了。从这个例子来看,你们把所有东西都变成了独立的小模块,可以进行调整和改变属性。所以我非常期待看到还有哪些新功能会被集成进来。我记得我们曾经担心的是,我们有一个分叉,包含所有对OP Stack的改动,需要将其合并到主干中。我们当时想,"天啊,要审查所有内容会很疯狂。"

我们不得不将其分解成更小的部分,但整个过程进行得非常顺利。我们和团队的合作氛围非常好,所以审查过程也很愉快。这感觉非常自然。而且我认为在审查和解决一些潜在问题方面,这个过程进行得非常快。一切都出乎意料地顺利。

Ben: 这真是太好了。今年我们的一个重点是为OP Stack创建贡献路径。所以我非常感谢你们参与测试,推动这些流程。我很高兴这些流程并没有让人难以承受,并且我们取得了一些成果。说到这,我很好奇,从你的角度来看,接下来这项工作会如何发展?你接下来最期待开发的是什么?

tdot: 有很多不同的工作方向。主要是与故障证明机制的集成。我们采用一种渐进的方法来去中心化整个技术栈,并增加其无许可特性,最终目标是实现无许可和强制退出等功能。

我们有这个终极目标,并在保持安全性的同时逐步实现。一个挑战是,有时候不上主网会更容易,因为这样就不需要进行硬分叉。你可能会想,"哦,我只要等到一切都完全准备好再发布,这样就不需要进行硬分叉,也没有技术负担。"但是,如果你想快速上线主网,就必须处理这些复杂的升级,并且频繁发布。做到这一点并保持高可用性总是一个挑战。

我认为在故障证明机制和所有这些部分都准备好之后,Plasma模式方面会有很多升级。我认为在批量提交commitment方面仍有一些优化空间。现在我们做得很简单,每笔交易一个commitment。而commitment只是链下存储的输入数据的哈希值。

我们暂时保持尽可能的简单,这样审查起来便可以简单且快速,并且对OP Stack没有大的差异。但是现在有一些优化可以使其更便宜,比如将commitment进行批处理或者将它们提交到blob中,或者采用其他不同的方法。所以我们肯定会研究这一点以降低L1的成本。

这是我们非常兴奋的事情。当然,我们也非常期待即将到来的所有互操作性相关的内容,并能够在所有链之间进行交互。弄清楚这对用户来说将是一个巨大的进步。

很多这些工作肯定要由你们来实现。但是我们希望弄清楚这些在Plasma模式下是什么样子,并且具有不同的安全假设。

Ben:

OP4.62%
MODE-1.87%
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 6
  • 分享
评论
0/400
GateUser-0717ab66vip
· 7小时前
收费多少啊这
回复0
无常损失恐惧症vip
· 21小时前
气氛组看戏来了
回复0
just_another_walletvip
· 21小时前
plasma还能救?
回复0
Blockchain解码vip
· 21小时前
从技术角度来看,选择性L1数据发布作为折中方案是否真的合理?
回复0
暴富型韭菜vip
· 21小时前
埋伏op半年了 到底能不能爆呀
回复0
薛定谔的gasvip
· 21小时前
谁来算算这玩意儿的gas省多少 等我画个模型
回复0
交易,随时随地
qrCode
扫码下载 Gate APP
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)