---
title: "Ethereum sidechains 与 layer 2s：有什么区别？"
description: "定义、区别，以及如何解决扩容问题"
---

# Ethereum sidechains 与 layer 2s：有什么区别？

随着数百万用户加入 Ethereum 网络，开发者每天都在[构建 Ethereum 应用](https://www.alchemy.com/ethereum/?a=7e5de6cfc2)，Ethereum 受限于其交易数量。Ethereum 处理交易的能力，也就是交易吞吐量，被限制在每秒 15 笔交易，这导致费用越来越高，也常常因为过于拥堵而让许多人无法使用。

Ethereum 网络是主链，直接发生在主链上的所有交易都是“链上”交易，其他任何形式都被视为“链下”。侧链和二层（layer 2）等链下方案有助于 Ethereum 扩容，提高交易速度，增加网络能够处理的交易数据量。本文将介绍侧链和二层方案是什么，以及它们如何帮助解决扩容问题。

## 侧链和二层解决了哪些问题？

**侧链和 Ethereum 二层方案要解决的是帮助 Ethereum 扩容的问题**。试图在链上提升性能的方案往往需要在去中心化和可扩展性之间做取舍——这就是所谓的可扩展性三难困境（Scalability Trilemma）。

提高 Ethereum 一层的复杂度并不理想，因为这会增加平台在持续讨论、决定和实施新改进上的治理开销。侧链和二层方案则允许持续、渐进地进行创新，在维持安全性和去中心化的同时改善 Ethereum 对所有人的体验。

### 侧链和二层方案的主要区别是什么？

**侧链与 Ethereum 二层方案的主要区别在于，二层继承了 Ethereum 主网的安全性，而侧链依赖的是自身的安全性。**

## 什么是 Ethereum 侧链？

**Ethereum 侧链是一个与 Ethereum 主链并行运行的独立区块链网络。**侧链通过双向锚定（two-way peg）系统与主链连接，使资产可以在链间进行交换。

侧链基本分为两种类型：一种是一条链依赖于另一条链，另一种是两条链相互独立。

当一条链依赖于另一条链（如 Ethereum）时，可以将其视为该父链的子链。通常，子链不会创建自己的资产，其资产来自从父链的转移。

<ImageBlock
  src="https://media.alchemy.com/1704207927-ethereum-sidechain.png"
  alt="通过双向锚定连接到主链的 Ethereum 侧链示意图"
  width={720}
  height={321}
  caption="来源：EthHub 文档"
/>

侧链拥有自己的共识协议，通常针对特定类型的交易进行设计，使其更快、成本更低。然而，这也意味着它们通常不会继承 Ethereum 的安全属性——使用侧链时，你会失去对资金的托管权，只能完全依赖侧链自身的安全性，包括参与其共识协议的节点。

侧链减少了主链的拥堵，降低了所有人的成本，提升了 [Ethereum 生态系统](https://www.alchemy.com/dapps/ecosystem/ethereum)的可用性和可扩展性。开发者也可以利用侧链来探索和测试主链上尚不支持的新功能和使用场景。

常见的侧链包括 Polygon PoS、Skale 和 Rootstock。Ethereum 2.0 有自己的侧链变体，称为[分片链](https://www.alchemy.com/overviews/ethereum-2-0-your-guide-for-2022#thirteenth_header)，它们连接到最近上线的[信标链](https://www.alchemy.com/overviews/what-is-the-ethereum-beacon-chain)（Beacon Chain），后者的目标是最终成为基于权益证明（PoS）的 Ethereum 的主链。

## 侧链是如何工作的？

**侧链通过双向锚定系统或桥接方式连接到主链。**在主链上，你可以将 Ethereum 发送到一个出口地址，该地址充当保险箱，使你无法在其他地方使用这笔资产。

一旦这笔交易完成，并且经过“争议期”（为了额外的安全性），会生成一份称为“简单支付验证”（Simple Payment Verification，SPV）的凭证。这会触发侧链上保险箱中相同价值资产的释放，该过程通过智能合约完成。当从侧链“转移”回主链时，会经历完全相同的过程，只是方向相反。

## 如何在侧链上开发？

侧链基于 [**Ethereum 虚拟机（EVM）**](https://www.alchemy.com/overviews/what-is-the-ethereum-virtual-machine-evm)构建，EVM 是 Ethereum 的计算引擎，这种与 Ethereum 虚拟机的兼容性意味着开发者在将应用用于侧链时无需做任何改动。只需部署相同的代码即可，因为它们都共享相同的 [Solidity](https://www.alchemy.com/overviews/solidity) 软件层，并且可以通过相同的 Web3 API 访问！

## 什么是二层协议？

二层协议是运行在 Ethereum 链内部的链，但能够通过一个附属框架实现更高的可扩展性。通过将大部分活动放到第二层处理，减轻了主层的拥堵。与侧链不同，二层通常继承主链的安全属性。

一层是基础区块链。Ethereum 是一层区块链，因为它是各种二层区块链构建其上的底层基础。简单来说，二层将成批交易压缩后提交给 Ethereum 主网。

## 有哪些二层扩容方案？

**二层扩容方案包括状态通道（channels）、Rollups 和 Plasma。**下面逐一介绍这些方案。

### 1. 状态通道

在状态通道中，用户之间直接进行链下交易，只将最重要的信息保留在链上。具体而言，区块链的一部分会通过智能合约锁定，使交易参与方必须在更新前完全达成一致。

参与方之间通过创建并签署可提交至区块链的交易来更新状态。一旦你想停止使用该通道，就退出并将最后一次状态更新提交到主链，从而重新解锁该状态。

<ImageBlock
  src="https://media.alchemy.com/1704207938-ethereum-state-channels.png"
  alt="Ethereum 状态通道将交易在参与方之间转移至链下的示意图"
  width={720}
  height={321}
  caption="来源：EthHub 文档"
/>

### 2. Rollups

Rollup 在 Ethereum 主链之外执行交易，然后将多笔交易打包，再发送回 Ethereum 主网。Rollups 依靠证明来让 Ethereum 无需处理交易本身即可验证其正确性。

#### Rollups 有哪两种类型？

**一般来说，Rollups 分为两种类型：零知识（ZK）Rollups 和 Optimistic Rollups。**

##### **1. 零知识 rollups（ZK rollups）**

**零知识 Rollups（ZK rollups）**使用有效性证明。每一批交易都包含一种称为简洁非交互式知识论证（Succinct Non-Interactive Argument of Knowledge，SNARK）的密码学证明，该证明由 Ethereum 主层上的合约进行验证。

由于主链上只需存储有效性证明，而无需存储庞大的交易数据，这种链下计算节省了大量的处理时间和算力，使得[零知识 rollups](https://www.alchemy.com/blog/zero-knowledge-rollups)更快、效率也更高。

##### **2. Optimistic rollups**

**Optimistic Rollups** 使用欺诈证明。顾名思义，它们默认所有交易都是有效的，无需任何初始证明就提交批次。系统设有一个挑战期，在此期间其他人可以检测并证明某批次中的数据存在欺诈。

如果该批次被证明存在欺诈，Optimistic rollups 会执行欺诈证明，并利用 Ethereum 主链上可用的数据重新运行正确的交易计算。要求参与方质押 ETH，并根据其行为获得奖励或被罚没，从而激励良好行为。

像 [Optimism](https://www.alchemy.com/blog/alchemy-optimism) 这样的公司通过提供更高的吞吐量、更低的延迟和更低的 gas 费用来帮助 Ethereum 扩容。截至撰写本文时，Optimism 的 gas 费用比 Ethereum 便宜多达 10 倍！

### 3. Plasma

可以把 Plasma 看作 Ethereum 原生的侧链，它结合智能合约与 Merkle 树，创建出可无限分支的子链结构。这些子链是 Ethereum 主链的更小副本，拥有自己的共识机制。

计算所需的带宽和交易数据从父链上卸载，但会定期发布到根链上。每条子链都依靠一种类似 rollups 的欺诈证明系统来保障安全，其中设有一个任何人都可以质疑其有效性的时间窗口。

与其他侧链的关键区别在于，每个 plasma 链区块的“根”都会发布到 Ethereum 上，这意味着它确实继承了主链的安全性。

<ImageBlock
  src="https://media.alchemy.com/1704207950-plasma.png"
  alt="从 Ethereum 主链分支出的 Plasma 子链示意图"
  width={713}
  height={400}
  caption="来源：Nirolution"
/>

像 Polygon 这样的公司，为开发者和终端用户提供更快的交易速度和更低得多的 gas 费用。这些明显的优势使得在 plasma 上构建极具吸引力，也不难理解为什么它们会出现[爆发式增长](https://www.alchemy.com/case-study/polygon/?a=7e5de6cfc2)。

## Alchemy 支持哪些侧链和二层？

[获取免费的 Alchemy 开发者账户](https://www.alchemy.com/?a=7e5de6cfc2)，即可开始在 Ethereum 或以下侧链和 Ethereum 二层上进行构建：

- Polygon（侧链）
- [Arbitrum](https://www.alchemy.com/arbitrum)（二层）
- Optimism（二层）
- Starknet（二层）

大规模采用侧链和二层（状态通道、optimistic rollup、zk rollup 以及 Plasma）等扩容方案的实施，减轻了 [Ethereum 主网](https://www.alchemy.com/rpc/ethereum)的压力，从而帮助更多用户加快较慢的交易速度、降低高昂的交易费用，同时仍然保持（在二层方案的情况下）与 Ethereum 一贯以来相同的安全保证和去中心化应用。
