被三箭资本 diss 后,V 神提出了新的以太坊改进提案(EIP-4488)。这个提议的目的是使第二层(Layer 2)扩容解决方案(Rollups)变得更经济可行。因此,为了减少这些 Rollups 可能消耗的大量区块空间,引入了一个新的区块大小数据限制。我们将解释 Rollups 工作的基本原理,并讨论以太坊可能面临的一些由新的区块大小限制引起的挑战,我们认为这甚至可能会破坏 EIP-1559 带来的部分优势。
EIP-4488 提议将以太坊区块链中一个字节的交易调用数据(calldata)的成本从 16 gas 降低到 3 gas,进一步降低第二层 gas 费。这样做的目的是降低 Rollups 的成本。以太坊上的 Rollups 会占用大量空间,这是扩容的关键。许多人认为以太坊的费用太高,无法吸引新用户,交易通常要花费数百美元,据说这将促使用户转向 Solana或 Avalanche 等替代系统。
使用“第二层”解决方案,如 Rollups,可以显著降低 gas 费用,而如 Aribitrum 的这样多轮交互式 Rollups 方案也正开始获得关注。与我们交谈过的许多正在开发中的 DeFi 项目,在构建阶段已经转向使用 Rollups,而像币安这样的交易所将接受 Rollup 存储。然而,可能减少的 Rollups 费用只有 10 倍左右,一些用户仍然需要支付相当高的费用。因此,EIP-4488 被提出作为一个快速解决方案,至少在短期内,它有可能将这些费用降低到另一个数量级。由于“第一层”以太坊交易也使用交易调用数据(calldata),因此也会降低少量的费用,可能约为 2%。
如果交易调用数据(calldata)的 gas 成本降低,以太坊区块可能会变得更大,这可能会导致太多的中心化压力。目前的 gas 上限是 3000 万个单位,目标是 1500 万。因此,区块的最大大小为 1.875 MB。Gas 费用降低到 3,将最大区块大小增加到 10 MB,这已经太大了。因此建议还提出一个新的限制,就是一个 1 MB 的交易调用数据(calldata)区块大小限制。
这个新的 1 MB 限制有点讽刺,因为比特币多年来一直在争论旧的 1 MB 区块大小限制。当然,以太坊中的目标区块时间远低于 10 分钟(现在约为 13 秒,过渡到以太坊 2.0 后约为 12 秒),因此 1 MB 的区块大小并不是一种直接比较。
使用 Rollups,交易在链下被处理和执行,但交易数据仍然包含在以太坊主链上,因此 Rollups 的结果没有明显地节省区块空间。通常,在以太坊世界中,当使用“链下”(off-chain)一词时,它意味着另一个链。因此,Rollups 是一种侧链系统,它是比特币开发者 Johnson Lau 在 2013 年最初提出的想法的最新版,可能也是最先进的迭代。Rollups 侧链与 EVM(以太坊虚拟机)兼容,可以使用 Solidity 智能合约。因此,需要区块链才能获得以太坊的全部功能。
此举的优点是可扩展性。侧链没有主链的严格计算 gas 限制,因此吞吐量更高,交易更便宜。Rollups 的缺点是侧链需要新的共识代理,而且这些代理有能力订购交易。还有一个从侧链向主链转移资金的问题,出于安全原因,交易速度必然是缓慢的。
在以太坊上产生的最令人兴奋的 Rollups 类型是 Optimistic Rollups。其工作的方式是用户假设 Rollups 状态是有效的,但如果 Rollups 被认为无效,侧链验证者可以向主以太坊链提交欺诈证明。然后,该证明可以由所有主链以太坊节点进行验证。将原始 Rollups 交易数据放入以太坊链的实体的同时也需要以太坊债券做抵押。如果他们提交了一个无效的状态,这被证明将失去他们的债券。这种激励结构的设计是为了保证 Rollups 侧链的安全。这与股权证明制度和对不良行为的惩罚有一些相似之处。
这种债券类型机制可能看起来复杂、不必要,甚至有点弱。例如,系统设计者如何确保债券有足够的价值来阻止欺诈,同时又确保实体有足够的流动性?鉴于该领域的资金流动规模巨大且波动很大,这可能具有挑战性。假设如下,来证明这样一个机制是必要的:
侧链上的吞吐量很高,以至于没有多少实体运行完全验证的侧链节点,而且侧链系统过于集中而不安全;
在主链上存储数据很便宜,但计算时系统的容量受到限制。
在这种情况下,这种复杂的债券机制可能是有意义的,而侧链本身被认为是不安全的,但由于有欺诈证明和债券机制,侧链安全度足够。以太坊目前可能处于一个“舒适期”,人们对 Optimistic Rollups 相当兴奋,许多人认为它们对以太坊的扩容至关重要。
有一种讽刺手法,叫在比特币语境中评估 Rollups。多年来,一些所谓的“比特币最大化论者”认为,以太坊的一个主要弱点是,智能合约是在链上处理的。他们声称,这个过程应该发生在链下,而只有这些计算的数据和结果应该出现在链上,而这正是 Rollups 所做的。然而,我们并没有看到很多“比特币最大化主义者”因为这种发展而对以太坊持更积极的态度。与此同时,我们也没有看到很多以太坊开发者感谢比特币多年来为其推广这一想法。
“比特币也能 Rolllups 吗?”答案是肯定的,从理论上讲,比特币可以做到。
事实上,如果有人试图在比特币上执行这些类型的智能合约,那么它必须进行 Rollups,因为没有办法让现有的比特币完整节点验证这些复杂的智能合约。因此,唯一的方法是将智能合约数据放在比特币区块链上,并让运行侧链的其它节点软件执行和验证智能合约交易。从技术上讲,为了成为一个真正的 Rollups,第一层交易必须能够强制执行第二层交易,然而在比特币上你不能这样做,也许在比特币语境下,它不应该被简单称为 Rollups,而应该是“比特币特色 Rollups”。然而,在比特币中,通过这种类型的侧链构建,仍然可以实现几乎任何事情,包括让系统以太坊虚拟机(EVM)能够使用 Solidity 智能合约。当然,这样的系统在比特币的基础上可能不是有效或高效的,但在理论上它是可行的。
与以太坊不同,在比特币之上创建这种侧链 Rollups 类型系统的一个缺点是,你永远无法实现欺诈证明和Optimistic Rollups 类型系统。然而,我们并不清楚这是否需要或可取。在比特币之上构建这些 Rollups 的目的是在比特币上添加以太坊之类的智能合约功能。相比之下,在以太坊上 Rollups 的目的是提高容量,而不是改进智能合约能力。因此,在这个理论性的比特币构建中,用户可以选择是否要验证主链之外的侧链,而不需要欺诈证明系统。比特币上的存储并不便宜,我们一开始也没有假设侧链需要非常高的吞吐量,这样中心化程度就太高了,这样我们就会因为缺少验证者而面临重大安全风险。在我们看来,对于以太坊来说,Optimistic Rollups 是有意义的,但这种明显的优势可能不会持续太久。
EIP-4488 的一个潜在问题是创建了新的 1 MB 交易调用数据(calldata)限制。因此,以太坊区块有两个限制,gas 限制和交易调用数据(calldata)限制。区块的构建现在可能变得更加复杂,因为区块生产者在选择收益最大化交易时需要考虑多维度的问题。由于矿工可提取价值 (MEV)等因素,区块生产已经非常复杂。这两个区块约束的问题远比生产区块时如何提取 MEV 的问题简单,因此认为这两个限制并不会增加区块生产创建者的区块创建复杂性。
然而,我们仍然认为这两个限制可能会增加用户和钱包的复杂性,因为它们需要决定他们的交易的费用。当将其与比特币进行比较时,这就更具讽刺意味了。SegWit 是解决比特币规模问题的解决方案,其升级让比特币的区块中有更多的交易,但它限制链比特币可以处理的交易数量,其主协议最大区块大小为 1 MB,这将限制比特币的潜在增长,并阻止比特币成为一种可用的大额支付系统,所以受到了市场的批评。
尽管当时的批评是不正确的,然而,基于我们对这个新的以太坊限制的理解,我们现在实际上面对的是一系列相关的“经济复杂性”。不过,如果我们不完全理解 EIP-4488,我们可能会犯与那些 SegWit 批评者相似的错误。
新的区块大小限制也可能在一定程度上削弱 EIP-1559。EIP-1559 引入了区块 gas 限制目标和基本费用。基本费用根据 gas 使用量高于或低于目标而调整。据我们所知,这个新的交易调用数据(calldata)限制没有调整机制。因此,如果 calldata 限制发挥作用,收费市场可能会再次出现波动,EIP-1559 的优势可能会弱化。
以太坊区块目前的大小通常约为 80 KB,10 分钟内约为 4 MB。然而,当涉及到同步以太坊节点时,区块的大小从来不是重点。比较以太坊和比特币的区块链大小,比特币的区块链实际上比以太坊更大。然而,这并不意味着比特币比以太坊更难同步或验证,实际上以太坊更难验证,根据我们最近的经验,在类似机器上,它可能比比特币花费大约 10 倍的时间。我们的观点是,以太坊问题从来都不是来自区块大小。如果 Rollups 提高作用,情况可能会改变。
至于两个区块限制和收费市场的复杂性,也许可以考虑一个更简单的解决方案,比如将一个字节的交易调用数据(calldata)的 gas 成本降低到 8 而不是 3。这将把最大区块大小限制在 4 MB 左右,同时避免了两个限制的复杂性,还将调用数据的成本降低了 50%。EIP-4488 并不意味着是一个长期的扩容解决方案,但它是一个快速修复解决方案。Optimistic Rollups 本身并不能解决以太坊的扩容问题,它只会让区块变得更大,直到它们的大小成为下一个新问题。目前将需要部署更多的技术来扩展以太坊,这是一个巨大的挑战。