探索以太坊前沿技术:四个扩容团队聊 EOF、4844、模块化和去中心化 Sequencer
来源:Zhixiong Pan
在「以太坊上海升级峰会」活动中,我们邀请到了以太坊生态中,四个完全截然不同的扩容方案团队,来聊聊以太坊的前沿技术。
特别是可能会在下次升级(坎昆)中包括的 EOF 和 EIP-4844。另外,去中心化 Sequencer 和模块化区块链的叙事也是研究员比较关注的新方向。
这四个团队有自己显著的特点,比如专注零知识证明领域(特别是 zkEVM)、专注 WASM 和动态扩容、专注 Move 语言和模块化、专注泛用型存储。除此之外,他们在其他的技术细节中也存在着大量的差异。
参与此次讨论的分别是:
Dorothy Liu from AltLayer
Jolestar from Rooch Network
Qi Zhou from EthStorage
Ye Zhang from Scroll
TLDR
- EOF 升级对应用开发者的影响较小,但对Rollup和zkEVM存在一些影响。对于 EOF 是否会进入下一阶段的升级,可能还会有一定的争议。
- 去中心化 Sequencer 的几种方案:拜占庭容错(BFT)、MEV 拍卖、共享 Sequencer(Flashbots)、VDF 等。另外公平排序可能并不公平,需要针对应用采取不同的策略。
- EIP-4844 的目的并非扩容,而更多是为了实现未来 Danksharding 所需的一整套概念,包括 Blob 及其 Data Hash。提前实现这些概念,以便在实现 Danksharding 时无需进行合约升级。EIP-4844 并不会比当前的以太坊数据上链方式带来显著改进,它们所带来的带宽基本上处于同一个量级。
- 对于模块化区块链大家有完全不同的视角:有人认为在胖应用时代,需要提供更多样的选择;有人认为应该借鉴成熟的计算机体系,但也有人认为不应该过度模块化,以太坊才是最重要的数据层。
硬核学习资料
以下为讨论的全文,因经过 OpenAI Whisper 转译,并通过 GPT-4 处理后形成,有部分调整和删减。
话题一:EOF(以太坊对象格式)
Zhixiong Pan:
以太坊对象格式(EOF)原本计划在上海升级中实现,但现在已经被推迟。EOF 的本质是为以太坊的自字节码提供一种前置的数据结构,有利于未来EVM的字节码特性和智能合约的升级。
请问此次升级是否会对整个 Layer 2 或 Rollup 生态产生更多影响?特别是 Rollup 生态本质上也会部署一些智能合约到以太坊 Layer 1 上,那么这次升级是否会影响到 Layer 2 相关的技术选择和路径?
Dorothy Liu:
在 AltLayer 团队看来,EOF 并不是一个非常重要的创新。尽管它对 EVM 的分装模式有重要的改进,但它对 Solidity 语言的编写并无直接影响。因此,从应用开发和普通开发的角度来看,这个改变对他们的影响不大,甚至很多开发人员可能不了解这个事情,也不会造成问题。
然而,对于 Rollup 来说,影响非常大,因为 Rollup 本质上是以太坊的执行层。当以太坊发生改变时,Rollup 也需要相应地进行调整。这个 EOF 的改变可能会对 zkEVM 产生更大的影响,因为 zkEVM 在技术难度上相对更高。它们在 EVM 兼容性分类中属于 Type-3,因此,在追求更高兼容性的过程中,他们需要付出更大的努力。甚至可能需要重写或进行非常大的改变。
然而,对于我们这些做 Optimistic Rollup 的项目,无论是使用 WASM 编写还是使用 EVM 编写,我们都是 Type-1 的兼容性,即完全与 EVM 兼容。因此,对我们来说,这个难度是很低的。尽管我们需要进行一定的修改,但难度相当低。另外,我们自己的生产证明都在 WASM 里面,所以对我们来说,实际影响并不大。
Ye Zhang:
首先,我认为 EOF 确实是一个重要的技术发展。之前有一个观点认为,由于 EVM 核心升级较少,因此 zkEVM 不需要频繁改动。但最近有了 EOF,之后可能还会有其他升级对 EVM 的核心逻辑进行改动,这确实会对 zkEVM 产生影响。然而,目前来看,因为 EOF 是前向兼容的,所以对之前的合约仍具有一定的兼容性。至少对我们现有的合约以及开发者来说,直接影响较小。可能之后会有一些需要注意的地方,但至少对我们 Layer 1 的合约来说,影响不会很大。在 Layer 2 上,影响程度取决于我们对 EOF 的支持程度。我们肯定会稍微滞后一些,因为如果我们想要与 Layer 1 的 EVM 完全一致,我们需要支持 EOF。
实际上,我们在开发 zkEVM 时,已经关注到了 EOF 的核心升级,这比预想的要容易一些。因为我们在构建整个 zkEVM 时,采用了模块化的设计,可以方便地更新 Opcode。对于 EOF 来说,主要的改动是添加了一些版本控制和 Opcode,我们只需要实现这些新的 Opcode,并在版本控制方面做好相应的工作,例如在电路中添加一些标签和变量。这些改动是在 Opcode 级别进行的,需要添加一些电路。另外,EOF 还对字节码部署进行了一些检查,这会影响到 zkEVM 的一个子电路,即字节码电路。在这个电路中,我们需要对输入的哈希进行检查,然后输出相应的字节码。如果需要在这个环节进行检查,我们可能需要在该电路中添加一些约束。
总体来看,我认为改动是必要的,但不会达到需要彻底重构的程度。以太坊现在将 zkEVM 提到了一个非常重要的地位,他们自己也在引领一些关键的技术发展。我知道 Vitalik 和一些 EIP 核心团队的成员也在关心 zkEVM 团队的进展,包括与我们进行交流,了解这次升级对 zkEVM 带来的影响。因为 Layer 1 的每次升级都会带来一定的风险,之前有观点认为,每次升级可能是不可逆的。因此,我们希望 Layer 1 尽可能稳定,结算层越稳定越好,这样对应用程序和现有技术的影响也会越小。在 Layer 2 上,我们可以进行各种创新。然而,如果 Layer 1 确实需要改动,我认为 Layer 2 也可以跟随进行相应的调整,而且改动不会特别大。但我确信会有一定的延迟,因为我们需要实现这些改动,可能还需要进行审计。审计过程可能需要额外的时间来完成,因此我们总体上希望改动尽可能少。不过,我认为这些改动并不会对整个系统产生致命性的影响,不会导致严重的问题。
Qi Zhou:
关于 EVM Object Format (EOF),我注意到以太坊社区在之前的讨论中也涉及到很多相关话题。特别是在上海升级期间,我们可以看到以太坊对整个升级过程有一些不同的态度。例如,像 Danksharding 的创始人 Dankrad 就对 EOF 持有一定的质疑。他们认为,虽然 EOF 对开发者来说没有太大的变化,但主要是改进合约的安全性。在这方面,他们觉得现在不是以太坊扩容的最重要阶段。实际上,EOF 只是整个扩容计划中的一个非常小的部分,因此在这方面也产生了很大的争议。
然而,为什么现在想要将 EOF 纳入升级计划呢?这是因为 EOF 已经提出了非常长的时间,可能已经有四五年的时间了,而在之前的内部讨论中可能会有更长的时间。在对 EOF 进行分析之后,我们确实非常同意 Dankrad 的一些观点。虽然 EOF 为整个以太坊合约带来一定的安全性,比如取消动态跳转这个相对比较危险的操作,但实际上,在大量的以太坊实践操作和编写合约过程中,编译器已经把底层容易犯错的问题避免掉了。因此,我们在最近几年的开发过程中没有遇到过类似跳转导致的异常合约执行情况。
对于 EOF 是否会进入下一阶段的升级,例如坎昆,由于考虑到它可能对以太坊的 Layer 2 计算层产生一定的影响,我个人认为可能还会有一定的争议。相较于我们接下来要讨论的 EIP-4844,关于 EOF 的观点仍存在较多分歧。
Jolestar:
关于 EVM Object Format(EOF),它主要带来了两个优化。首先,它将智能合约代码的验证前置,在部署时进行验证。这对性能提升非常有效。目前,很多项目已经采用了这种方法,通过在部署阶段进行代码验证。其次,EOF 提供了一种扩展能力。虽然这次更新可能不会带来很大的改动,但是一旦提供了这种扩展机制,未来可能会面临很多扩展需求。这时候可能会面临一个抉择:是要创新的扩展还是兼容性。这实际上一直是所有软件系统要面临的一个困境。
通过这种方式,EOF 实际上为未来的变化打开了大门。例如,为了实现某个 Layer 2 特性,可以增加一个新版本并在智能合约代码中加入一些新的功能。这时候,与 Layer 1 的兼容性可能会受到影响。这种变化确实可能引发很大的争议。然而,从我的角度来看,我认为在这个阶段仍应将创新和演进作为优先考虑,还没有到完全冻结的情况。当然,对于 Layer 1 来说,这是另外一个维度,Layer 1 和 Layer 2 的判断可能不同。
话题二:去中心化 Sequencer(定序器)
Zhixiong Pan:
目前,大多数 Layer 2 网络的 Sequencer 仍处于较早阶段,大多数是单一 Sequencer。一些项目计划将来升级为去中心化的 Sequencer。
当前是否存在合理的去中心化 Sequencer 设计方案?
Layer 2 的原生代币是否可能成为实现去中心化 Sequencer 的必要条件?如 Optimism/Arbitrum,虽然有自己的代币,但仅可用来作为治理代币。
所以还有哪些前沿或早期的去中心化 Sequencer 方案值得关注?
Qi Zhou:
最近我们研究了一些相关话题,例如 Arbitrum 的 Sequencer。Arbitrum 社区面临着一个大问题,即大量节点(如1万个连接)连接到 Sequencer 以获取最新的交易信息并从中套利。我们内部经常开玩笑说,这个 Sequencer 是否类似于纽约证券交易所,因为在纽约证券交易所附近有许多量化机器人通过光纤快速获取交易数据并进行量化操作。这种 Sequencer 模型是否会导致我们退化成为一种非常集中化的系统?
我认为如何实现 Sequencer 的去中心化是一个非常重要的问题。我能想到的一些解决方案是借鉴权益证明(POS)机制,并将 Layer 2 的原生代币用作权益证明。通过这种方式,我们可以实现 Sequencer 的轮换,类似于以太坊最近正在进行的安全领导人选举(secure leader election)。结合这些技术,我认为我们可以找到一些成熟的方式来解决这个问题。
Dorothy Liu:
这个问题,我可以分享一些我个人对 Arbitrum 和 Optimism 发展历史的观察。去年年初,我去阿姆斯特丹参加了 Chainlink 举办的关于 Rollup 的活动,当时请到了 Arbitrum、Optimism、zkSync 和 Metis 四个团队。他们讨论的重点主要在扩容和性能上。我私下询问了他们对共识层的看法以及 Rollup 是否需要加共识层。他们表示目前只考虑扩容。Optimism 最早并没有考虑到这个问题,导致现在想改也无法改变。
从我们的角度来看,我们从项目一开始就设计了去中心化的 Sequencer。我们曾经做过两次 Dark Forest 游戏和两次 NFT Minting 活动,这些活动都是直接在以太坊主网上进行的,使用了去中心化的 Sequencer。在我们看来,这不是一个技术问题,而是一个历史发展的遗留问题。他们如何在一个正在运行的系统中更换引擎会比新项目一开始就有完整规划更困难。
关于代币问题,Arbitrum 和 Optimism 已经证明,可以不需要自己的代币就可以运行。如果想要有代币,可能需要一些设计,例如 Slashing 等。我们将在下个月发布去中心化 Sequencer 网络,这将是市场上第一个去中心化 Sequencer 网络。届时,我们会有一些包括 Staking 和 Slashing 在内的设计。
最后关于 MEV,虽然它与 Sequencer 是两个议题,但它们之间存在关联。去中心化的 Sequencer 网络或许能在一定程度上解决MEV问题。然而,这个问题可能永远无法彻底解决。目前,Arbitrum 团队采用了一些方法,如增加随机性改善,但他们无法完全解决这些问题。我们也可能会在硬件或其他方面提出一些 MEV 解决方案,这将在未来公布。
Ye Zhang:
我们已经对 Sequencer 进行了大量研究,尽管目前尚未公布具体方案,但我们确实在努力设计。目前有两种主要方向。第一种是基于拜占庭容错(BFT)的方案,例如利用 Tendermint 等选择一个leader来代替之前的中心化 Sequencer。这种方法需要 staking 和 slash,可能需要发行自己的代币来实现 PoS,或者与其他重押或类似机制结合。BFT 的优势在于可以提供非常快的预确认,保持良好的用户体验。
第二种更有前景的方案是 MEV Auction(拍卖)。Optimism 最早提出了 MEV 拍卖的概念,即谁给出最高价格就能获得出块权。然而,这种方案的缺点在于用户可能会被 MEV 机器人疯狂加价。
类似的方案包括 Justin Drake 之前提出的 Base Rollup,其核心思想是重用 Layer 1 的验证器来出 Layer 2 的区块。这样一来,构建 Layer 1 和 Layer 2 的区块的验证器可以在构建 Layer 1 区块时将 Layer 2 的验证交易放入 Layer 1 的区块,从而使整个出价更大,Layer 1 的区块更先被包含。这种方案的优点在于它与 Layer 1 的激励机制高度一致,但缺点是它不像BFT那样具有预确认,用户体验可能会变得较差。
因此,目前最有前景的方向是基于重用 Layer 1 验证器的方案,以及基于 BFT 的方案。我们正在努力解决这些方向上的问题,例如在重用 Layer 1 验证器的同时提供预确认。
还有一些关于去中心化 Sequencer 的方向,例如 Flashbots 等提出了一个名为共享 Sequencer(Shared Sequencer)的方案,Optimism 的 Superchain 中也有相似的设计。共享 Sequencer 的核心思想是通过使用固定的 Sequencer 集合来处理多条链上的交易,实现跨链 MEV,提高跨链 UI 的体验等。然而,这种设计方案目前还处于早期阶段,尚未解决一些关键问题,如 Sequencer 节点压力问题以及跨链交易的原子性问题。
共享 Sequencer 可能在将来对于许多特定应用场景(如小型实时资产应用)有价值,因为这些应用可能没有足够的能力去运行去中心化网络。然而,对于大型实时资产应用而言,说服它们使用共享 Sequencer 可能是一项挑战。
Flashbots 正在尝试通过构建一个隐私去中心化网络来实现共享 Sequencer,以解决信息获取带来的本质 MEV 问题,并为用户带来一定程度的价值。然而,由于该方案尚未完全公开,因此难以评估其是否能克服之前提到的问题。作为具有高正统性的 MEV 玩家,我们将在 Flashbots 公开其方案后对其进行详细评估。
关于是否需要 Token,我认为这主要取决于所使用的共识算法。如果采用 BFT 算法,很可能会需要 Token,但如果采用基于现有 Layer 1 验证器的方法,可能不一定需要 Token,因为可以重用其他人的资源。这样一来,价值来源就变成了谁在为你抵押,而 MEV 将直接流向网络验证器。因此,Layer 2 如何看待 MEV 的价值补充问题是决定因素。
关于 MEV 的处理方式,有一个观点认为公平排序可以在一定程度上解决 MEV 问题,但实际上它可能只是缓解了 MEV 问题。因为仍然可能有各种机器人在竞争优先权,这种情况类似于传统的交易公司。尽管已经引入了一些随机性,但目前还没有完全解决这个问题。事实上,有一项关于 MEV 的研究指出,公平排序并非公平。研究者通过构建一个攻击模型,证明了在公平排序情况下,用户的体验可能会更差。因此,为了实现真正的公平,可能需要针对不同的应用采用不同的排序策略。
Tarun Chitra: Ordering So Fair It Ain't Fair Ordering
还有有很多有趣的尝试。例如,通过加密技术(如VDF)对交易进行加密,并在交易被确认后进行解密。这样一来,就无法提前预测交易的内容。此外,还有诸如时间锁定等方法。总之,我们也在关注并改进这些方案。虽然我们已经有了一些大致的方向,但每个方向都存在各种问题。因此,我们希望在确定方案之前进行严密的分析,以确保方案的稳定性。Sequencer 涉及到诸如价值流向等众多问题,因此我们认为目前尚无完美解决方案。这也是为什么我们将 Sequencer 的研究放在后面的原因。
现在大家普遍觉得去中心化 Sequencer 可能有利于抗审查。但正如我今天的讨论所提到的,实际上通过桥接的方式,可以确保在第二层强制执行交易。更重要的是,大部分桥接设计都会规定,如果你不包含某个交易,可能在一天内会受到某种影响。但是,大部分去中心化金融(DeFi)可能会在下一分钟就将你清算完毕,然后直接拒绝你的交易,可能会给用户带来糟糕的体验。因此,实时抗审查对用户和 DeFi 来说非常重要。
另一个问题是矿工可抽取价值(MEV)的问题。例如,Arbitrum 现在实施先到先得的策略,它采用中心化的序列器。大家之前的观点是,如果你发现我在 MEV 中被利用,我可能会离开这个网络,导致大家不相信该网络的合法性。但一个巨大的问题是,当你的网络起步,网络效应逐渐显现,例如单一序列器,一旦生态发展到一定规模,你开始收费或考虑 MEV 时,实际上用户已经对你产生很大的依赖,他们很难再转移到其他平台。所以我认为这个威胁可能会在几年后出现,他们突然开始实施 MEV,这是一个潜在的威胁。
此外,还有合规问题。如果你的代币和权益证明(PoS)有关联,你可能会面临一定的合规风险。例如,如果你实行中心化,某个国家要求你关闭序列器或解决某些问题,去中心化可能会带来一定的好处。
因此,我们已经进行了非常详尽的分析,并在这个方向投入了大量精力。如果听众中有人对协议研究感兴趣,欢迎加入我们。我们正在招聘这方面的人才,我们后续会有更详细的分析发布。
Jolestar:
关于引入 BFT 作为 Sequencer,大家已达成共识。实际上,我们需要在 Layer 2 中引入一个 BFT 共识。我们关注的是这个共识决定的内容。如果它直接决定了结果,那么我们可以让它直接决定。我们希望 Layer 2 提供扩展性,所以我们从另一个角度考虑 Sequencer。我们的主要目的是什么?一个是为了安全。在 Layer 2 方案中,Sequencer和 其他方案如 Proposer 或类似的 Prover 或 zk,它们是不同的角色。Sequencer 和 Proposer 在操作情况下是分开的,如果要作弊,它们必须联合作弊。例如,Sequencer 隐藏交易,Proposer 制造一个虚假的 root。如果它们的角色分开并由不同的组织承担,那么安全性就有保障。
在 Sequencer 提交到 Layer 1 之前,交易顺序可以被 Sequencer 调整,这里可能存在作弊空间。为了消除这个问题,我们让 Sequencer 提供一个类似于欺诈证明的证明,叫做 Sequence Prove。你证明把交易放在某个位置上,给出一个承诺。如果最后上链的顺序与承诺不一致,可以挑战并惩罚 Sequencer。
最后,如果我们真的要引入 BFT 投票,我们应该决定交易的顺序,而不是交易的结果。现有的共识机制决定的是最后执行的结果投票,并不决定区块链的交易顺序。因此,在这种情况下,我们可能需要引入一个对顺序或公平性敏感的共识,让大家投票决定交易的顺序。这是我们目前正在探索的一个方向和与 Sequencer 去中心化的一种方案。
话题三:EIP-4844(Proto-Danksharding)
Zhixiong Pan:
除了 EOF,另一个重要的协议层升级与扩容的实现是 EIP-4844,特别是与 Layer2 团队密切相关。年初,KZG 的 Ceremony 已经启动,而协议层的加入可能会需要一些时间。对于 Rollup、ZK Rollup 或者扩容这样的方向,大家认为 Layer2 团队可能需要多长时间来集成 EIP-4844?
关于集成 EIP-4844,大家认为可能会遇到哪些难点?此外,有没有估算过,使用 EIP-4844 对 GAS 或整体扩容会产生哪些影响?
Jolestar:
在我理解中,集成 EIP-4844 与原先的 Rollup 方案并没有改变太多。我们一直在寻求更高 TPS 和更低手续费的解决方案,但仅依赖 EIP-4844 无法解决这个问题。实际上,它只是增加了一种交易类型,即 Blob 类型,而整体的区块大小限制仍受限于基础层。如果我们希望实现理想的 Layer 2,具备几十万或接近十万量级的 TPS,第一层的交易仍无法直接放在一个区块上。
因此,我们现在的目标是实现一种不同方案可组合的模式,以便在成本更低、简单易用且具有更大通量的方案之间进行选择。
Dorothy Liu:
首先,EIP-4844 升级对于我们的 OP 来说相对容易集成,而对于 zkEVM 可能难度较高。有关此升级的专业解答,Zhang Ye 可以为大家提供。此外,我想分享一个名为 Monad 的协议,其创始人名叫 Keone,大家可以在 Twitter 上关注他。Keone 曾是 Jump 的开发人员,他是一个数学天才,擅长计算。他在 Twitter 上发布了关于 EIP-4844 协议上线后的预测,预测 Arbitrum 的 TPS 能够提高到大约 160,但这个数字是否显著,仁者见仁智者见智。他的测算方法是否有改进空间也值得商榷,但我们认为 EIP-4844 仅能在一定程度上提升性能,最终仍需依赖于 EIP-4844 与 Rollup 的结合,可能需要多个 Rollup 来提升性能。EIP-4844 本身无法解决太多问题。
对于我们来说,我们提供的服务名为「Rollup as a Service」,正如 Zhang Ye 所提到的,许多应用(如游戏和 DeFi 协议)需要高吞吐量,而对组合性要求不高时,它们可以运行在一个 Rollup 上。这些 Rollup 将共享一个去中心化的 Sequencer 网络,Prover 和 Validator 网络也将是去中心化的。这是我们当前提供的服务设想,我们将在下个月提供更多细节。因此,我们认为现有的 EIP-4844 或单独的 Rollup 方案无法解决所有问题,依赖大量 Rollup 为不同项目和应用场景提供服务才是关键。
Ye Zhang:
关于 EIP-4844,我们正在研究。EIP-4844 肯定会降低一部分数据成本。最近推特上有一个关于 Polygon 和 zkSync 数据成本的讨论。我们和 Polygon 现在都在使用交易的原始数据直接上链。Optimism 和 Arbitrum 会进行一定程度的压缩后再上链,而 zkSync 和 StarkWare 则使用更节省空间的 State Diff 模式。针对同一账户的高频操作,State Diff 可能会节省很多空间。有人分析了 zkSync 在使用 State Diff 后的数据,发现它确实可以节省一定的费用。但如果在有 EIP-4844 或分片后,数据成本进一步降低,我们还是更倾向于直接上链交易原始数据,因为这样可以让其他人看到你的数据后更快地执行交易,获得更强的保证。
我们希望在数据成本变低后,再加入一些压缩算法,可能会达到与 State Diff 相似的效果。但目前我们更倾向于使用交易原始数据。至于 EIP-4844 对我们的影响,它会影响两部分:一部分是我们的桥接(Bridge)方面,我们已经开始探索在 EIP-4844 下的新桥接设计,会有一些影响,需要写一个新的规范。另一部分是我们的电路(Circuit)里面,因为在新的格式下,我们无法直接访问之前的数据,只能访问一个小的承诺(Commitment),所以我们需要在电路里证明这个承诺的开放性。这对电路肯定是有开销的,但我们认为这是可行的。
实施 EIP-4844 会涉及到一个域的问题,因为数据是在另一个曲线上的,可能与原生数据格式不太一样。很早以前,Vitalik 提出了一个证明等价性的概念,但后来发现如果域不一样,还是会有一些问题。Dankrad 和 Vitalik 提出了一个复杂的方式来将承诺的开放性纳入电路。我们认为这个改动是确定性的,需要时间,但并不是特别复杂,是可行的。我们需要协调 Layer 1 什么时候实施这个改动,然后我们再进行相应的调整。在此之前,我们会继续专注于当前的系统。
Qi Zhou:
关于 EIP-4844,我们进行了大量研究。实际上,EIP-4844 的目的并非扩容,而更多是为了实现未来 Danksharding 所需的一整套概念,包括 Binary Large Object(blob)及其 Data Hash。在合约中可以访问 Data Hash,提前实现这些概念,以便在实现 Danksharding 时无需进行合约升级。EIP-4844 并不会比当前的以太坊数据上链方式带来显著改进,我们进行了初步估算,它们所带来的带宽基本上处于同一个量级。
然而,根据 Danksharding 的规格说明,吞吐量级约为 20 倍。因此,假设我们在 EIP-4844 上实现 100 TPS 的速度,使用 Danksharding 理论上可以达到 2000 TPS,甚至更高。以太坊社区,包括 Vitalik Buterin 和 Danksharding 团队,非常关注 EIP-4844 升级,因为一旦升级,接下来的以太坊重大升级将无需对整个合约系统进行升级。
我们的存储合约直接针对 EIP-4844 进行设计,从开发实现和存储证明等方面来看,实际上可能会更简单。使用 EIP-4844 提供的 Danksharding,系统实际上已经预先计算好了,对我们来说是非常友好的一种存储方式。
对于 ZK 和 Optimism 等技术可能存在挑战,尤其是关于如何传递数据。以太坊现在已经有一些工具,包括随机评估方式,能够将 Blob 数据重新传输到 CoreData 中。我们需要进行一些挑战,证明这些交易是否正确。
我们计划提供一些通用库,类似 OpenZeppelin 库,方便大家在 EIP-4844 上的 data blob 进行各种操作。这将在审计和 Gas 消耗方面带来安全和效率的优势。
总之,EIP-4844 对于以太坊整个数据层的操作具有创新性和巨大的潜力。对于对 EIP-4844 感兴趣的人,建议研究以太坊相关代码和参数设计,以便更好地了解如何使用这一技术。
话题四:模块化区块链
Zhixiong Pan:
最后一个话题是与大家讨论模块化区块链,这是一个热门且与公链本身密切相关的大话题,可以说是一种新趋势。虽然从去年年初开始已有一年多的时间,目前一个较大的观点是区块链可能会逐渐分层,形成共识、执行、DA 或结算等各个层级。这样的大背景下,Layer 2 的协议是否将面临更大的挑战与竞争,以及整个行业的竞争格局是否会发生较大变化。
Jolestar:
我认为模块化的区块链是 Layer 2 思路的一个演化结果。既然在 Layer 2 上,我们将执行从 Layer 1 移到了 Layer 2,那么我们为什么不能将不同的模块拆开,让不同的系统承担。这引入了另一个视角,就是拿传统的分布式系统来说,在传统的分布式系统里,我们有一个共识层叫 Zookeeper 和 Raft,这样的共识层在区块链上相当于 Layer 1。但区块链的 Layer 1 与传统共识层不同,区块链 Layer 1 可以运行程序。所以现在我们将程序放在 Zookeeper 里运行,但发现全球共识执行效率太慢,我们需要将其移出,实现扩容。
另一个视角是从应用的角度来看,我们在构建应用时选择不同的系统组件来完成应用功能,如 Zookeeper 或 MySQL。实际上,这是我们在构建应用,而不是说 MySQL 是为 Zookeeper 扩容。这种模块化区块链的思路可以引入新的视角,即我们如何借助现有的 Layer 1 资源,以及存储和执行功能,组合起来构建一个基础化的 DApp。
这种新的视角与现有的公链和制作系统的组件并不冲突。我们认为,开发者首先需要选择一种适合的语言来构建应用,确保确定性和可验证性。我们选择了 Move 语言,以实现更好的扩展性。开发者使用这个语言构建应用,然后考虑如何实现去中心化。一开始可能不是完全去中心化的,但需要有去中心化的能力。例如,可以将交易公开,使任何人都可以验证。虽然仍然是中心化的,但至少可验证。随后,可以接入一个协议来保证安全,作为一种承诺。这种逐步完成的机制为中心化应用提供了一条新的发展路径。
Dorothy Liu:
我非常赞同 Jolestar 的观点,从去年开始,我们就意识到行业已经从胖协议瘦应用进化到胖应用瘦协议的阶段。现在的焦点从追求去中心化的乌托邦和科技进步转向实际应用场景。随着越来越多游戏、社交等新应用的涌现,大家更关注区块链应用能实现什么,而非仅仅扩容以太坊或推进某个技术方向。尽管以太坊是重要的 L1,但随着不同 L1 的涌现,大家愿意接受多链时代的取舍。
作为一个 Rollup 方向的公司或团队,我们并非仅服务于以太坊社区。我们希望建立一个可拆解、可组合的乐高式技术方案,以满足不同应用的需求。有些应用可能需要更大的区块限制,有些游戏公司可能想要一个兼容 Solana VM 的 L2,有人可能希望将 DA 放在 Celestia 或与 EigenLayer 兼容。我们想提供一个可组合的方案,根据不同应用的需求,为他们定制解决方案。我们可以将 L1 放在以太坊、BNB Chain 或甚至 Solana,或者我们自己的 Beacon Layer 上。从安全性角度来说,将证明放在以太坊上非常重要,但 transaction body(交易本体)未必需要放在以太坊上。脱离以太坊的 transaction body 会大大降低成本。
在这个胖应用时代,我们关注如何为每个应用提供最适合它的扩容方案,而非仅仅优化方向。对于 zkEVM 和 OP 之间的争论,我们可以支持双方。我们关注的是 zkEVM 的 prover 成本,例如 Scroll 可能需要花费 1 万美元一个月运行一个 prover,这对游戏厂商来说可能过于昂贵。他们需要更便宜的 prover 方案,我们可以提供使用电脑进行 prover 的解决方案,根据不同需求提供不同技术方案。这是我们的解决方案。
Qi Zhou:
从历史角度出发,我认同模块化的发展方向。这包括了网络中的 OSI 层级以及计算机体系架构。将以太坊或区块链视为一个世界计算机,我们可以借鉴现有计算机体系,以更好地扮演其中的角色。因为每个组件都具有巨大的市场价值,例如,以太坊的 Layer 1 可以类比为早期的 CPU,具有基本计算能力和有限的存储能力。另一方面,DA 则更像内存。
在内存和 CPU 之间,我们需要数据散列和预编译来传输数据。Coredata 类似于寄存器,我们还需要模块化插件,如 GPU 等高性能计算设备。在区块链网络中,通过 DA 和零知识证明等方式,实现计算数据的沟通。此外,我们还需要大量存储,将数据从内存复制到硬盘。最后,我们还需要鼠标、键盘和显示器等设备,类似于我们现在使用的 MetaMask 和 Web3 协议。
借鉴成熟的计算机体系并吸取经验,我们可以设想未来的计算机世界体系。当然,我们也可以将硬盘连接到其他计算机上,例如其他 Layer 1 设备。但是,如果一个 Layer 1 没有良好的 DA 层和内存,数据传输和存储的速度和带宽将受到很大限制。
一个没有 CPU 和内存的计算机是无法启动的,这是非常关键的一部分。在具备这些基本组件后,我们可以将 GPU、显示器和硬盘等设备组合在一起。在开发 EthStorage 和 Web3 协议时,我们支持多链并采用模块化方式接入其他网络。只要这些网络具备基本的执行层和 DA 层,它们可以是其他 Layer 1 或 Layer 2。在接入 Layer 2 时,EthStorage 实际上在某种程度上成为了 Layer 3。这是我们对未来世界计算机或区块链整体架构的展望。
Ye Zhang:
我认为模块化区块链目前确实是一个非常重要的叙事,即执行和数据分离。然而,至少对我们来看,我们目前仍然将以太坊视为最重要的数据层。关于 Rollup 的定义,有各种各样的解释,因为各种 Rollup 正在出现。目前,大部分社区接受的一个定义是,你至少需要将数据发布到 Layer 1,即使你不发布证明,你也需要将数据发布到以太坊上,这样才能继承以太坊的安全性。因为大部分人认为,只要数据上链了,无论是通过其他节点、全节点还是轻节点,至少能得到一个确定性的结果,它一定是最终确定的。
关于各种 Rollup,它们的思想主要是你是否相信这个结果取决于你自己的选择,你自己选择的全节点或轻节点。例如,Optimistic Rollup 会说「我来挑战你」,而 zkRollup 会说「我一直证明你是对的」。实际上,所有这些 Rollup 只是为了确定一个观点,决定我是否相信你的数据,以及我是否相信你的资金可以从你那里桥接出来。
因此,至少对我们来说,我们希望我们的平台始终信任以太坊的数据层,并坚持做一个 Rollup。我们也会努力推进数据分片(Data Sharding)的进程。我认为唯一需要关注的是这个时间点,即它到底什么时候能实现,以及需要多长时间。在此之前,我们是否需要采取过渡措施?这主要取决于我们对数据分片的时间线的估计。如果我们估计它需要五年才能实现,那么我们可能会采取一些中间措施。但如果我们认为它会在一个合理的时间范围内实现,我们仍然会坚持这个方向。
过度模块化可能并不是一个好事。之前我们观察 Layer 2 的情况时,可能只有九个 Layer 2,每个都有自己的安全属性,如合约是否可升级、Sequencer 是否去中心化、是否开源以及是否经过审计等。对于 Layer 2 来说,这些安全属性非常棘手。例如,合约可升级的情况下,如果一个不太合规的 Rollup 真的做了一些坏事,可能瞬间就被发现。如果大众不了解不同 Rollup 的属性以及它们之间的权衡,并且已经有 100 个 Rollup 可供选择,可能会出现一些安全性问题。因此,我认为最终可能还是会有几个主要的 Rollup 提供绝对的安全性,并且大家对其属性有一定的保证,同时具有良好的可组合性。在此基础上,无论是并行开发一些应用层的 Layer 2,还是在其上部署 Layer 3,都有可能缓解 Layer 2 的压力。这时候,他们可以选择使用其他的数据层或其他方式,只要社区形成共识,他们可以按照自己的想法进行创新。
然而,我们希望成为最符合社区需求的 Layer 2,并协助进行一些研究和推动一些工程方面的进展。我们希望我们的平台绝对安全、绝对去中心化,并在此基础上进行各种创新,无论是更疯狂的创新还是其他任何形式。