polynya:分形扩容是最佳扩容方式,但区块链真正的瓶颈并非扩容
原文作者:polynya,由 DeFi 之道翻译编辑。
关于 L3,StarkWare 已经很好地谈到了这个主题,并且最近 Vitalik 也写了一篇关于 L3 的详细文章。那有什么好补充的吗?我一直认为我没有,这就是为什么我从来没有写过这个话题。自从我第一次和 StarkWare 的人讨论这个话题以来,已经过去了整整 10 个月的时间。但在今天,我想我也许可以从另一个角度来谈论它。
首先,我们需要了解的是,“web2”是在全球 1 亿台服务器上运行的,而“Web3”是一个相当愚蠢的模因,因为它显然是“web2”的一个子集。但让我们假设这种区块链网络可以创造其小型的、可持续的但有利可图的利基市场,吸引那些严格要求分布式信任模型以及相对最小计算量的场景。假设我们只需要“web2” 0.1% 的计算能力,那就需要 10 万台服务器来建立一个小众市场。
现在,让我们考虑一条像 BNB Chain 或 Solana 这样的高 TPS 单体链。尽管像比特币这样以安全和去中心化优先的区块链看起来令人印象深刻,但它必须使用的是中档服务器,因为你必须让数百或数千个实体同步。今天,高端的服务器将是 128 核,而不是 12 核,其拥有 1 TB RAM,而不是 128 GB 等。事实上,一款真正的链上游戏如果要成功,可能需要多个具有 10 倍 Solana 计算能力的高端服务器。
下一步是 rollup,虽然专用执行层的设计空间很广,而且它还在不断发展,但我所说的是具有 1-of-N 信任假设的 rollup。由于 1-of-N 信任假设,网络不再需要运行数千个节点。因此,在同等条件下,rollup 可以升级到性能更高的服务器。ZK rollup 有一个特别的优势,因为许多节点可以简单地验证有效性证明,所以你只需要少数具有高性能服务器的全节点。是的,你需要 prover,但这些证明只需要生成一次,并且证明时间随着软件和硬件的进步而不断减少。
但是,在某些时候,rollup 节点会成为一个瓶颈。目前,最强的瓶颈是状态增长。让我们假设解决了状态增长,接下来的事情变得有点模糊,根据具体情况,有一些带宽/延迟或计算的组合。根据 Dragonfly 的基准,即使对于 AMM 交易这样计算密集度很低的用例,这个限制也达到了 BNB 链的 195 TPS 以及 Solana 的 273 TPS。如前所述,由于要同步的节点少得多,rollup 可以进一步缓解带宽瓶颈,但你很快就会遇到计算瓶颈。Solana 的 devnet 实际上证明了这一点,它运行在更类似于 rollup 的配置中,并且执行的 TPS 为 425 而不是 273。
然后是并行化。StarkNet 和 Fuel V2 等 rollup 集中于并行执行;而对于 Optimism 这样的团队,并行化也在其路线图上。理论上,你可以在多个核心上的不同收费市场上与不同的用户运行多个不同的dapp,但在实践中,这样做能获得的收益预计非常有限。MEV 机器人将随时访问所有状态,费用将根据链的财务活动而定。所以,实际上,你会遇到一个核心瓶颈。这是智能合约链的一个基本限制。这并不是说并行化无济于事(它会产生帮助)。例如,StarkNet 的乐观并行方法肯定是净正的 - 如果 tx 不能被并行化,它将返回到主核心。
64 核 CPU → 64 倍潜在吞吐量的想法是非常错误的。首先,如上所述,并行执行仅在某些场景中有帮助。然而,更大的问题是,64 核 CPU 的单线程性能明显较低。例如,64 核 EPYC 以 2.20 GHz 或 3.35 GHz(超频)的时钟频率运行,而基于相同架构的 16 核锐龙 9(Ryzen 9)的时钟频率为 3.4 GHz,超频最高为 4.9 GHz。因此,对于很多事务,64 核 CPU 实际上要慢得多。作为一个补充说明,几周后发布的最新第 7 代锐龙 9(Ryzen 9)在每个核心的基础上提高到 5.7 GHz,速度提高了 15% - 因此,是的,随着时间的推移,每个个体的计算能力都会随着时间的推移而提高。但远没有很多人相信地那么快,如今要实现翻倍需要 4-5 年的时间。
因此,由于快速主核心的重要性,你最多可以扩展到 16 核,如上所示。(顺便说一句,这也是为什么便宜的 Ryzen 5 在游戏中提供的 FPS 是 64 核 EPYC 的 2 倍。)所以我们最多只能看到 2-5 倍的提升,对于任何计算密集型的东西,我们最多只能考虑几百 TPS,以实现最快的执行层。
一个诱人的解决方案可能是 ASIC VM,所以基本上你有一个比普通 CPU 内核快 100 倍的庞大单核。一位硬件工程师告诉我,将 EVM 变成闪电般快速的 ASIC 是很简单的,但需要花费数亿美元。也许这对于解决 EVM 上的金融活动来说是值得的?不利的一面是,我们需要首先解决状态管理和有效性证明(即 zkEVM)的僵化规范,但这可能是 21 世纪 30 年代需要考虑的问题。
回到现在,如果我们把并行化的概念提升到一个新的水平呢?与其试图把所有东西都塞进一台服务器,为什么不把东西扩展到多台服务器上呢?这就是我们获得 L3 的地方。对于任何计算密集型应用,应用特定的 rollup 是非常必要的。这样做有几个优点:
针对一个应用程序进行微调,虚拟机开销为零;
没有 MEV,或有限的 MEV,通过简单的解决方案来减轻有害的 MEV;
专用费用市场也有很大帮助。此外,你可以为最佳用户体验提供新颖的收费模式;
为特定目的选择微调硬件(而智能合约链总是有一些不适合你的应用的瓶颈);
你可以不收取费用,或者收取可忽略不计的费用,但仍然可通过有针对性的 DDoS 缓解措施来规避垃圾交易。这是可行的,因为用户总是能退出到结算层(2 或 1),来保持审查抗性;
那么,为什么不使用特定于应用的 L1,例如 Cosmos zone、Avalanche 子网或 Polygon supernet 呢?答案很简单:社会经济与安全性碎片化。让我们重新审视问题陈述:如果我们有 10 万个服务器,且每个服务器都有自己的验证器集,那么这显然是行不通的。如果你有重叠的验证器,每个验证器将需要运行多台超级计算机。或者,如果每个都有自己的验证器集,则安全性很低。目前,欺诈证明或有效性证明是唯一的方法。为什么不使用类似 Polkadot 或 NEAR 的分片?存在严格的限制,例如每个 Polkadot 分片只能做到几十 TPS,而它的分片只有 100 个。当然,它们很适合转向分形扩容方法,我希望它们能够这样去做。
需要注意的是,欺诈和有效性证明执行层的设计范围非常广泛,因此并非所有的事都需要 Rollup。对于大多数用例来说(例如由一个应用或公司运行的低价值交易或商业交易),validium 就是一种出色的解决方案。只有需要完整以太坊安全性的高价值去中心化金融产品,才需要真正用到 Rollup。随着 adamantium 和 eigenDA 等诚实的少数数据层想法的成熟,从长远来看,它们几乎可以与 Rollup 一样安全。
我将跳过有关它(L3)如何工作的部分,例如来自 StarkWare 的 Gidi 以及 Vitalik 比我解释地更好。但要点是:你可以在 一个 L2 上拥有 1000 个 L3、L4 或其他任何东西,并且所有这些都通过一个简洁的递归有效性证明来解决,只有这一点需要在第 1 层结算。因此,你可以通过一个简洁的有效性证明进行验证,从而实现数以百万计的 TPS(如上所述具有不同的属性)。因此,整个“层”术语是相当有限制性的,如果我们达到 100,000 个服务器的目标,就会有各种疯狂的结构。让我们只考虑 rollup、validium、volition 或其他,并讨论它们各自的安全属性。
现在是房间里的大象:可组合性。有趣的是,经过有效性验证的执行层可以与它的结算层单向地原子组合。要求是每个区块都生成一个证明——我们显然还没有,但它是可能的——证明生成可以简单地并行化。因此,你可以让 L3 与 L2 原子地组合。问题是,你需要等待下一个区块组合回来。对于许多应用来说,这根本不是问题,它们可以愉快地保留在智能合约链上。如果 L2 提供某种形式的预确认,这也可能得到解决,因此 L3 和 L2 之间的事务实际上可以原子组合。
当你可以让多个定序器/节点组成一个统一的状态时,争夺圣杯的竞争就开始了。我知道至少来自 StarkWare、Optimism 以及 Polygon Zero 的团队正在研究相关的解决方案。虽然我对实现这一目标所需的技术工程一无所知,但它似乎确实在可能的范围内。事实上,Geometry 已经在与 Slush 合作以实现这一目标!
这就是真正的并行。一旦这一点得到解决 - 你实际上可以在对安全性和可组合性方面做出最小妥协的情况下进行大规模的分形扩容。让我们回顾一下:你有 1000 个定序器组成一个统一的状态,一个简洁的有效性证明,这就是验证所有这 1000 个定序器所需的全部内容。所以,你从以太坊继承了信任根,你保留了完全的可组合性,有些继承了完全的安全性,有些继承了部分安全性,但在每种情况下,在可扩展性、安全性、可组合性和分散性方面,与运行 1000 个高度分散的单体 L1 相比,这绝对是巨大的净收益。
我预计今年晚些时候,第一个特定应用的 L3 将在 L2 StarkNet 上线。当然,我们首先会看到现有 L2 采取行动。但真正的潜力将通过我们以前从未见过的新颖应用释放出来,这些应用只有在分形扩容下才真正可行。链上游戏或类似 Topology 的 Isaac 或 Briq 等项目可能会是第一批部署自己的 L3 的项目。
鉴于目前 rollup 的费用只有几美分(实际上,Immutable X、Sorare 的费用要更低),我们在这里讨论的分形扩容其实显得有些多余。这表明区块链领域真正的瓶颈其实是新颖的应用。这不再是先有鸡还是先有蛋的场景,我们现在有了大量空余的区块空间,但我们缺乏需求。现在是我们专注于构建利用区块链优势的新型应用,并创造一些真正的消费者和企业需求的时候了。我还没有看到行业或投资者做出足够的承诺——自 2020 年以来,应用层创新几乎不存在(将现有的“web2”概念克隆过来并不重要)。而没有应用,任何类型的扩容方式(分形扩容还是其他),都是没有意义的。