模块化区块链与单体区块链

  • Alchemy
  • 发布于 2022-07-09 16:45
  • 阅读 55

本文介绍了模块化区块链和单体区块链的概念及其区别。模块化区块链专注于处理特定任务,并将其他任务外包给其他层,而单体区块链则在同一层处理所有任务。文章详细解释了共识、执行、数据可用性和结算等区块链的核心任务,并探讨了以太坊向模块化框架过渡的方式,最后对比了两种架构的优缺点,以及适用的场景。

Alchemy 编写

Brady Werkheiser headshot

Brady Werkheiser 审核

发布于 2022 年 7 月 8 日,阅读时长 10 分钟


每个区块链都具有相同的核心任务:提供共识和安全性,保证数据可用性以及执行交易。通常,大多数区块链在同一层上处理这些职责——这些区块链(例如比特币)被称为“单体区块链”。

自第一个加密货币出现以来,单体区块链一直是行业标准,但是这种情况正在Swift发生改变。越来越多的证据表明单体设计的性能欠佳,模块化区块链正日益普及。模块化链仅专注于特定任务,而将其余任务分流到其他层。

本指南提供了对模块化区块链概念的高级介绍。我们将解释模块化区块链如何工作,它与单体区块链的区别以及模块化设计对于区块链采用的重要性。

什么是模块化区块链?

模块化区块链是一种专注于处理少数选定职责,并将其余职责外包给一个或多个单独层的区块链。要了解模块化区块链如何运作,我们必须首先评估常规区块链的“职责”:共识、执行、数据可用性和结算。

1. 共识

共识是指节点就区块链上的哪些数据可以被验证为真实和准确达成一致的机制。共识协议确定交易的排序方式以及如何将新区块添加到链中。

2. 执行

执行是指区块链上的节点如何处理交易,以使区块链在状态之间转换。参与共识的节点必须使用其区块链副本执行交易,以便在验证区块之前进行证明。

3. 数据可用性

区块链强制执行要求交易数据可用的规则。这意味着区块生产者必须为每个区块发布数据,以供网络对等方下载和存储;这些数据必须应要求提供。

4. 结算

最后,区块链提供“最终性”——保证已提交到链历史记录中的交易是不可逆转的(或“不可变的”)。为此,区块链必须确信交易的有效性。因此,结算功能要求链验证交易、验证证明并仲裁纠纷。

在探讨了区块链的关键功能之后,我们现在可以回顾模块化区块链设计的机制。

模块化区块链如何工作?

模块化区块链基于模块化原理运作,模块化是指将系统划分为不同的组件,这些组件可以以各种方式组合以实现特定目标。模块化依赖于专业化:每个组件只能做几件事,但必须做好。你可以将模块化组件视为可以组合以形成不同结构的乐高积木。

模块化链是区块链的更大的“模块化堆栈”中的一个组件,可以组合以实现不同的目的。模块化区块链充当“可插拔模块”,可以根据用例进行更换或相互合并。

什么是模块化区块链架构?

可以将模块化区块链设计为处理以下一项或多项任务:

  • 执行:支持交易的执行,并支持智能合约的部署和交互。

  • 数据可用性:保证交易数据的可用性。

  • 共识:就交易的内容和排序达成一致。

  • 结算:提供用于最终确定交易、解决争议、验证证明以及在不同执行层之间架桥的层。

模块化区块链堆栈中不同层的描述。来源:Celestia模块化区块链堆栈中不同层的描述。来源:Celestia

Rollup 是模块化区块链的一个例子。Rollup 链处理交易(执行),但将共识、数据可用性和结算外包给父链。我们将在本文的后面高亮显示更多模块化区块链的示例,并了解它们如何处理这些功能。

模块化链通常可以执行两个或多个功能,尤其是在它们相互依赖的情况下。例如,数据可用性层还必须就数据的排序达成共识,否则将无法知道哪些数据代表历史的正确版本。

以太坊如何在模块化环境中工作?

与比特币和许多第一代区块链一样,以太坊被设计为单体区块链。但是,为了提高可扩展性和可持续性,以太坊网络目前正在向模块化框架过渡。以下是以太坊在模块化环境中的工作方式:

分片

分片是将系统(例如,数据库)拆分为多个部分以协同工作的一个过程。通过在多个组件之间拆分功能,系统比所有部分都在同一职责上协同工作时获得更多的输出和效率。在区块链网络中,分片将区块链拆分为多个子链,每个子链处理不同的网络活动部分。

以太坊正在采用一种分片设计,其中 64 个分片链将并行运行。分片可以并行处理交易(执行分片),也可以用作存储不同区块链数据块的“仓库”(数据分片)。使用数据分片,以太坊节点将仅存储在其分片链上发布的数据;这与其当前结构相反,当前结构要求所有节点存储相同的数据。

显示分片以太坊区块链架构的示意图。来源: vitalik.ca显示分片以太坊区块链架构的示意图。来源: vitalik.ca

以太坊分片是一种模块化形式,其中不同的组件(分片链)处理不同的职责。在数据分片中,分片链存储以太坊数据的不同部分,而执行分片允许每个分片链处理其自身的交易集,从而提高数据吞吐量并缩短处理时间。

Rollup

一些开发人员采用了以 rollup 为中心的方法扩展以太坊。与纯粹的链下扩展解决方案(例如侧链)不同,Rollup 与父链紧密结合。如果有什么不同的话,Rollup 是主链的扩展,旨在扩展后者的吞吐量。

以太坊区块链将计算外包给 Rollup,同时专注于结算、共识和数据可用性。Rollup 可以通过具有更快的区块时间和更大的区块来积极地优化执行,而无需损害去中心化或安全性。这是因为以太坊充当位于Layer2的 Rollup 的基础层(或“Layer1”)。

一个图表,显示了以太坊(Layer1基础层)和 Rollup(Layer2)如何在模块化区块链架构中发挥作用。一个图表,显示了以太坊(Layer1基础层)和 Rollup(Layer2)如何在模块化区块链架构中发挥作用。来源: Celestia

模块化区块链设计有哪些优势?

模块化区块链设计具有以下优点:可扩展性、灵活性以及启动新区块链的能力。

1. 可扩展性

区块链不可能同时拥有三种可能品质中的两种,但绝不可能同时拥有全部三种:去中心化、安全性和可扩展性。优化某些品质(可扩展性)会导致在其他领域(安全性和去中心化)进行权衡,这就是扩展区块链困难的原因。

但是,扩展困难主要发生在区块链试图在单个层下立即处理所有活动时。将模块化应用于区块链(在不同层之间分离任务)可在不引入有害信任假设的情况下提高规模。

例如,专注于执行的 Rollup 比常规链提供更大的可扩展性。尽管如此,它们仍通过依赖以太坊来实现共识和数据可用性来获得高度的安全性。

2. 启动新的区块链

由于需要建立其安全属性,因此启动新的区块链可能很困难。权益证明链可能需要建立广泛的Token分布以避免中心化风险,而工作量证明链可能需要吸引矿工以防止少数方控制网络的哈希率。

但是,如果开发人员可以专注于最少的事情(例如执行),并插入另一个模块化区块链组件来处理特定的任务(例如安全性)怎么办?通过利用模块化设计,新的区块链可以更快地启动,而无需担心架构的每个部分都正确。

3. 灵活性

模块化提供了单体链根本无法提供的灵活性。比特币专注于去中心化和安全性,自动排除了可扩展性,而高吞吐量链通常会牺牲一定程度的去中心化和安全性。

专用模块化链在权衡和设计实现方面提供了更大的灵活性。例如,模块化区块链系统可能包括专注于安全性和数据可用性的模块化链,而其他模块化链则专注于执行。以下是两者如何从模块化设计中受益:

  1. 安全性和数据可用性层受益于额外的可扩展性,因为交易是分开处理的。它只需要强制执行链下执行的有效性,并保证链下数据的可用性。这就是以太坊的可扩展性如何从使用 Rollup 中受益的。

  2. 通过利用父链的属性,执行层(针对可扩展性进行了优化)受益于额外的安全性。这就是Layer2如何从以太坊的去中心化中受益的。

模块化区块链有哪些缺点?

模块化区块链设计具有以下缺点:安全性、复杂性和Token价值。

1. 安全

与单体链不同,模块化链无法保证其自身的安全品质。如果安全层(通常处理共识和数据可用性)无效,则模块化链将面临失败的风险。

2. 复杂

实施模块化区块链设计会引入新的复杂性。例如,以太坊的数据分片计划依赖于数据可用性采样来确保一个分片上的节点不隐藏数据。同样,执行层必须要求某些复杂的机制,例如欺诈证明和有效性证明,这些机制使安全层可以强制执行链下状态转换的有效性。

3. Token价值

由于其有限的应用程序,某些模块化链可能无法吸引价值到其原生Token。例如,与执行层相比,纯粹专注于共识和数据可用性的层可能会看到其实用程序Token的使用较少。吸引参与者加入此类网络也可能更加困难。

模块化区块链平台示例

以太坊

如前所述,以太坊对数据分片和以 rollup 为中心的计算的依赖使其成为一种模块化链。它在第一种情况下分离了共识和数据可用性,并在第二种情况下外包了执行。

Celestia 和 Polygon Avail

Celestia 和 Polygon Avail 是两个新的模块化区块链,主要关注共识和数据可用性。Celestia 和 Polygon Avail 节点仅负责存储和排序交易;它们不解释交易数据以供执行。预计这些链将充当其他执行层(例如,Rollup)的数据可用性层。

Celestia 模块化区块链网络

Validium

Validium 类似于零知识 Rollup:它在链下执行交易,并将它们(分批)连同有效性证明一起提交给父链。区别在于 validium 链将链下数据存储在其他位置,而不是父链。这可以通过数据可用性委员会或由权益证明验证器组成的数据可用性网络来实现(Celestia 是基于 PoS 的数据可用性网络的一个例子)

validium 的模块化堆栈如下:

  • 执行层(validium 链)

  • 结算和安全层(父链)

  • 数据可用性和共识层(DAC 或 PoS 验证器网络)

Rollup

如前所述,Rollup 设计(Optimistic Rollup零知识 Rollup 项目)采用模块化方法。运行 Optimistic Virtual Machine 的 Optimistic Rollup 或 运行 zkEVM 的 ZK-Rollup 充当执行层(执行智能合约、处理交易)。但是,它们依赖以太坊的其他功能:

  1. 数据可用性和共识:Rollup 将交易数据作为 CALLDATA 发布到以太坊主网。这允许任何人执行 Rollup 的交易并在必要时重建其状态。

  2. 结算:所有 Rollup 交易都在以太坊上最终确定。对于零知识 Rollup,这发生在验证零知识证明之后。Optimistic Rollup 用户等待挑战期过去,或者在欺诈证明计算后交易被认为是有效的。

什么是单体区块链?

“单体”是指“由单件组成”,这解释了它在描述采用统一结构模型的区块链中的用法。单体链是节点负责共识、数据可用性和执行的链。由于交易是在链上验证的,因此单体链也充当结算层。

单体区块链如何工作?

在单体链中,所有任务都在单个层或在同一层上运行的一组紧密耦合的链上处理。后一个区别值得注意:处理所有角色的互连区块链网络(例如 Polkadot 的平行链或 Avalanche 的子网)不符合模块化架构的条件。

为了了解单体链如何工作,我们将以比特币协议为例:

  1. 比特币节点从另一个对等方接收交易,验证签名,并确保其满足共识规则。

  2. 如果交易有效,则节点将其添加到内存池(否则,它将删除该交易)。

  3. 矿工从内存池中获取交易并将其添加到候选区块。

  4. 如果矿工成功找到候选区块的 nonce(如工作量证明规则所规定的),则他们可以将该区块广播给对等方。其他节点重新执行交易以确保有效性,如果一切都已批准,则将新区块添加到链中。

  5. 此过程与其他矿工重复进行,最终通过在先前添加的区块上构建新区块来增加链。

显示如何在单体链上执行交易的示意图。来源:Euromoney显示如何在单体链上执行交易的示意图。来源:Euromoney

什么是单体区块链架构?

上一节介绍了在工作量证明链上进行交易的工作流程,但是它如何转化为单体架构?以下是单体链上的节点为每个交易执行的操作列表:

1. 数据可用性

每个节点都持有整个区块链的副本并存储每个交易。对等方始终可以从其他节点请求交易数据。

2. 执行

所有节点都会重新执行交易以检查有效性。在基于帐户的区块链上(通常是支持智能合约的区块链),节点执行交易以计算新的网络状态。

3. 共识

节点就将为新区块处理哪些交易以及它们包含的交易的排序达成一致

4. 结算

结算需要将交易永久地提交到链的历史记录中。提议交易的节点必须对区块的完整性进行经济押注。对于工作量证明区块链,这种“押注”是花费在挖掘新区块上的能量,而权益证明区块链则要求验证者在区块的有效性上下注Token——这些Token可以从试图将虚假或不准确的交易写入链的不良行为者那里没收

单体区块链架构要求节点执行所有这些角色。这与模块化链不同,后者将执行与结算、共识和数据可用性分开。

单体和模块化区块链网络的比较。[来源: Celestia]单体和模块化区块链网络的比较。[来源: Celestia]

单体区块链设计有哪些优势?

单体区块链设计具有以下优点:安全性、实用性和简单性。

1. 安全

单体区块链的优势在于能够强制执行其自身的安全性。节点可以查看在链上执行的交易并在达成共识之前检查其有效性。解决数据可用性问题也很简单,因为区块链数据冗余地存储在多个节点上。

2. 实用性

除了其他职责外,单体区块链还处理执行,因此具有更好的价值主张。由于用户购买本地Token用于多种用途,因此从长远来看,它可以积累更多价值。

3. 简单

单体区块链更容易设计和实现,因为开发人员拥有多年的区块链技术实验经验可供借鉴。设计安全高效的模块化链需要更高的技能水平,并为设计过程引入了更多的考虑因素。

单体区块链有哪些缺点?

单体区块链设计具有以下缺点:执行效率低下、资源限制、灵活性、可扩展性、安全性和去中心化。

  1. 执行效率低下:单体链上的节点必须重新执行交易以验证有效性。

  2. 资源限制:节点资源(例如存储和带宽)的限制会影响区块链的效率。

  3. 灵活性:单体链不灵活,无法在不权衡另一条链的情况下针对所需的品质进行优化。

  4. 可扩展性:为了实现更高的吞吐量,单体链实现了更快的区块时间和更大的区块大小。这给节点带来了更高的硬件要求,并减少了可以验证链的节点的数量——从而导致中心化和更大的安全风险。

  5. 安全性和去中心化:为了实现高度的去中心化,单体区块链限制了区块时间和区块大小。这增加了验证节点的数量,但是让每个节点处理交易会导致较低的吞吐量。

  6. 状态膨胀:在链上存储交易数据会导致区块链的大小随着时间的推移呈指数增长。这可能会给节点带来更高的硬件要求并损害去中心化。

单体区块链平台示例

比特币

比特币是原始的单体链,要求节点根据其区块链副本执行每个区块。尽管这提高了去中心化和安全性,但它限制了比特币支持高吞吐量或扩展以接受更多用户的能力(比特币区块链每秒处理 5-7 个交易)。

以太坊 1.0

没有分片和 Rollup 的以太坊以单体链的形式存在。这说明了其慢速的交易速度(每秒 15-20 个交易)以及对去中心化和安全性的更大强调。

Solana

Solana 是另一个单体链,在一个位置处理执行、数据可用性和共识。与以太坊不同,Solana 针对可扩展性进行了优化,并声称速度最高可达每秒 65,000 个交易。不出所料,这些可扩展性优势是以牺牲去中心化和安全性为代价的——特别是由于运行验证器节点的硬件要求很高,许多验证器运行的是裸机环境而不是云基础设施。

如何选择:模块化 vs. 单体区块链

单体链和模块化链都有其优点和缺点。选择任一选项都需要了解你的项目需求和可接受的权衡。高价值的 DeFi 应用程序可能会选择单体链的安全性保证,而需要更便宜和更快的操作的项目(例如,高频交易)可能更适合针对执行进行优化的模块化链。

Alchemy 提供对在单体区块链上构建的支持,包括 以太坊SolanaCrypto.org。你还可以利用模块化区块链的强大功能,例如 Optimistic Rollup(例如 OptimismArbitrum)和 ZK-Rollup/Validium(StarkNet)。

增压 | Alchemy | Substack

使用 Alchemy 的基础设施和开发者工具免费开始构建 dApp 获取你的 API 密钥

📚 目录


  • 什么是模块化区块链?
  • 模块化区块链平台示例
  • 什么是单体区块链?
  • 单体区块链平台示例
  • 如何选择:模块化 vs. 单体区块链

分享:

概览卡片背景图形

相关概览

特色内容卡片叠加层\ \ Layer2\ \ Rollup 即服务提供商比较:如何选择合适的 RaaS 合作伙伴\ \ 探索行业领先的 RaaS 提供商以及选择 RaaS 时要考虑的因素。 特色内容卡片叠加层\ \ Layer2\ \ 什么是 ZKsync Era?以太坊开发人员概览\ \ 了解 ZKsync Era - 为以太坊扩展提供支持的 EVM 兼容 ZK Rollup。 特色内容卡片叠加层\ \ Layer2\ \ 什么是 Rollup 即服务 (RaaS)?\ \ 了解 Rollup 即服务在以太坊Layer2生态系统中的位置

桌面部分背景图片

构建区块链魔法

Alchemy 将最强大的 web3 开发者产品和工具与资源、社区和传奇支持相结合。

获取你的 API 密钥

  • 原文链接: alchemy.com/overviews/mo...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Alchemy
Alchemy
江湖只有他的大名,没有他的介绍。