# 从零学习以太坊（四）——以太坊扩容

By [半刻.eth](https://paragraph.com/@0moment) · 2023-10-26

---

1 **第四章 以太坊扩容**
---------------

随着以太坊上的活动和用户数量的增加，网络的性能限制开始变得明显。当大量用户同时进行操作时，以太坊网络会经历“拥堵”现象，导致交易确认时间延长，并伴随着Gas费用的上升。

1.1 **以太坊的Gas费用机制**
-------------------

由于以太坊支持多样化的智能合约交易，每笔交易的复杂性和数据使用量都不尽相同，因此，一个区块能处理的交易数量（TPS）依赖于包含的各个交易的数据大小。这种灵活性导致了以下的Gas费用机制：

以太坊设置了每个区块的Gas上限为3000万，以防止区块大小过大导致的网络问题。同时，为了维持网络的流畅性，设定了一个目标Gas用量，即每个区块的Gas用量目标是1500万。

如果某个区块消耗的Gas超过了1500万的目标，下一个区块的基础Gas费用将自动增加12.5%。相反，如果消耗的Gas少于目标值，则下一个区块的基础费用会相应减少。这一机制自动调节Gas费用，旨在高交易量时期通过提高交易成本来减轻网络拥堵，而在交易量较低时期通过降低费用来鼓励更多的网络活动。

1.2 **以太坊的TPS**
---------------

此外，以太坊的TPS并不是固定的，但据了解，其峰值可达每秒45笔交易。显然，这样的处理速度远远不能满足“世界计算机”的需求，因此，提高以太坊的处理能力成为了一个迫切的任务。

1.3 **以太坊扩容的常见四种方式**
--------------------

以太坊网络的扩展是一项挑战性任务，它要求在去中心化、安全性和可扩展性之间达成均衡。以下是实现以太坊扩展的核心途径和策略：

**分片（Sharding）：**

以太坊2.0的重大进步之一是引入了分片技术。分片是将以太坊的主数据和计算分散到多个小的分区（或“分片”）中，每个分片都可以独立地执行交易和智能合约。这种做法旨在增加网络的整体吞吐量，使得大量交易能够并行发生，减少网络拥堵并加快交易速度。在以太坊2.0的构架中，每一个“分片”都是一个单独的链条。初始阶段，系统预计将包含64个分片。这一机制直接针对以太坊的可扩展性问题，因为它通过分片大幅提高了网络的处理能力。关键在于，每个以太坊节点只需要负责一个分片的运行。这意味着节点只需存储部分数据，不需要高性能的硬件也能轻松参与。这样的门槛降低了参与难度，预计会吸引更多的节点加入，从而增加去中心化程度和网络安全性。

**Plasma：**

Plasma是建立在以太坊主链上的第二层扩展技术，它允许建立“子链”或“Plasma链”。这些子链可以处理大量非关键性的交易，在必要时才与主链同步，这大大减轻了主链的压力。目前，POLYGON链就是一个著名的实例，它是基于Plasma技术构建的以太坊侧链。

**状态通道（State Channels）：**

状态通道是另一种二层方案，它允许参与者在链下进行交易，在必要时（如出现争议或通道关闭时）才将最终状态提交到以太坊主链上。这种方式减少了对主链的直接压力，实现了实时交易，避免了高额的交易费用。

**Rollups：**

Rollups通过在链下处理计算和数据存储，然后将累积的交易结果“卷”回主链的方法来实现扩容。Rollups主要有两种形式：ZK-Rollups利用零知识证明来验证链下交易的准确性；Optimistic Rollups则采用一种更简化的欺诈证明系统。

---

*Originally published on [半刻.eth](https://paragraph.com/@0moment/WUfznS6ItAzpeWenbYgz)*
