炮轰 SUI 代币经济学:Cy
模块化 vs. 单体化架构已死
作者:Avi Zurlo;编译:Block unicorn
自从 Rollups 的兴起以来,区块链的扩展一直集中在模块化与单体化的争论上。最初,这种二元对立是一种有用的思维模型,用于推理区块链的可扩展性,但是现在,这两个阵营都已经超越了它。
如今,模块化与单体化的对比给我们的可扩展性思维模型带来了不必要的限制。
那么,还有什么替代方案呢?
在本文中,我们将展示水平扩展与垂直扩展一直是区块链可扩展性的基本框架,并解释采用水平扩展与垂直扩展如何带来更好的扩展解决方案。
理解模块化 vs. 单体化
首先,是一些定义:
模块化链将区块链的核心功能分离为不同的层。
单体化链将所有核心功能集成到单一的、相互连接的层中。
我们可以将“层”视为“机器”——单体化链有一个运行所有任务的单一验证器节点,而模块化链有多个(2-3个)运行不同任务的全节点。
例如,Rollup 通常有两个运行节点:一个用于执行的 Rollup 全节点,以及一个用于结算+数据可用性(DA)的以太坊全节点。而 validium 可能会利用三个运行节点:一个用于执行的 Rollup 全节点,一个用于结算的以太坊全节点,以及一个用于 DA 的备用数据可用性层全节点。
模块化将区块链的任务分配到至少两个全节点上。通过这样做,模块化区块链在构建每个区块时可以利用多台计算机的计算能力。
这是水平扩展的一种形式。
模块化在思考区块链扩展性时很有用,因为它是一种水平扩展的类型。
另一方面,大多数单体化阵营选择通过软件优化、实现并行虚拟机、数据管道、更快的网络协议和(最值得注意的是)更强大的硬件来扩展。从本质上讲,单体化链试图从单个全节点中提取尽可能多的计算能力。
这是垂直扩展的一种形式。
批评者认为,这种方法趋于集中化:如果依靠增加单个节点的功率来扩展,则不可避免地会遇到底层硬件的物理限制,并被迫增加硬件要求以进一步扩展。
然而,这种批评是不正确的,因为并非所有的单体化链都只依赖于垂直扩展。
例如,Near 是一个基于分片网络架构构建的单体化 L1 区块链。这意味着 Near 的全节点负责所有任务(即执行、结算和数据可用性),但它们只负责 Near 全局状态的一小部分。因此,Near 通过根据状态而不是任务来分配工作,从而利用了多台计算机的计算能力(就像模块化链一样)。
我们可以看到,无论是单体化链还是模块化链,在它们实现的扩展技术方面都没有限制。两者都可以进行水平扩展和/或垂直扩展。
此外,模块化与单体化的争论始终植根于水平与垂直扩展的框架中。从严格的技术角度来看,模块化倾向于水平扩展,这是其设计所固有的,而单体化则倾向于垂直扩展。
现在我们已经成功推出了模块化链,额外的扩展优势不再在于“更加模块化”。现在的焦点是链如何利用水平或垂直扩展技术。
采用水平 vs. 垂直的思维模型使我们能够轻松推理每个链在此过程中所做的权衡。
重新定义对话:水平 vs. 垂直扩展
在深入研究水平 vs. 垂直扩展框架之前,重要的是要承认它的起源可以追溯到 20 世纪 70 年代,当时分布式计算研究为水平扩展概念奠定了基础。如今,所有的扩展技术都可以归类为水平或垂直扩展。
垂直扩展
垂直扩展会增加每个节点的硬件利用率或硬件要求。在区块链中,这通常是通过并行虚拟机(即多线程进程)等软件优化来完成的。
一个常见的例子是 EVM 与 SVM。
EVM 按顺序执行事务,而 SVM 则是并行执行事务。SVM 通过利用更多的 CPU 核心来实现这一点,因此 SVM 每秒可以比 EVM 处理更多的事务。注意:这种垂直扩展类型是 Eclipse L2 背后的基础。
在权衡方面,垂直扩展受到可用硬件的限制,由于硬件需求的增加而趋于集中化,并且与水平扩展相比可扩展性较差。
水平扩展
另一方面,水平扩展通过将工作负载分散到多个节点上来增加系统可以访问的机器数量。如前所述,模块化链本质上是将任务分配到多台机器上。然而,链通常可以通过分片实现更大程度的水平扩展。
=nil; 这里提供了一个有用的例子。
去年11月,=nil; 基金会推出了一种可验证的分片架构,称为 zkSharding,它是新的以太坊 L2 的基础。=nil; 设计的核心是将其全局状态划分到多个分片上。每个分片均由 =nil; 的去中心化委员会运行,他们构建区块并管理跨分片交易。此外,每个分片都会生成一个有效性证明,该证明会发送到主分片进行聚合,然后在以太坊上发布和验证。=nil; 通过两种方式利用水平扩展的能力:
首先,=nil;是一个模块化区块链,它利用以太坊的强大共识和数据可用性作为保证,从而将任务分配在多个全节点上。
其次,=nil;是一个分片区块链,因此将部分状态分布在许多全节点上。