# 产研3：L2赛道上技术篇

By [Liheli](https://paragraph.com/@liheli) · 2023-02-03

---

### Layer2概念

Layer 2指基于底层区块链（注：通常也称为“Layer 1网络”）的链下网络、系统或技术，目的是为了扩展底层区块链网络。Layer 2网络可以提升任何底层区块链的吞吐量以及其他性能。

Layer 2网络、系统或技术的核心价值是能够利用底层区块链的**安全性**。其交易数据必须以某种形式被底层区块链网络验证并确认。其和侧链不同，侧链有自己的安全机制。

以太坊交易贵，但以太坊生态有是最完善的生态，拥有最大的用户和项目数量及活跃度。为了利用以太坊主网的去中心化和安全性，通过低手续费更快的效率，捕获以太坊的溢出价值。因此诞生大量基于以太坊的Layer2.项目。

### Layer2技术原理

以太坊联合创始人Vitalik Buterin首次提出了“区块链不可能三角”的概念，认为区块链无法同时兼顾可扩展性、安全性和去中心化三个维度。开发者不得不在这三者之间进行取舍。如今的区块链网络最多只能同时满足其中两个维度。 当前区块链有三个核心功能，即：执行交易、数据可用性以及达成共识。

*   执行交易——处理并完成交易。衡量指标是区块链每秒可以完成的计算次数（其中包含交易数量）。
    
*   数据可用性——网络中的节点和验证者需要储存交易、状态以及其他数据。衡量指标是标准存储单位，比如MB和GB等。
    
*   达成共识——节点和验证者需要针对网络状态和交易排序达成共识。衡量指标是去中心化水平和终局速度，或所有节点针对某一状态变更达成一致意见所需的时间。 Layer 2解决方案大致可以分为两个部分：一个是负责处理交易的网络；另一个是部署在底层区块链上的智能合约，负责解决任何分歧，并将Layer 2网络达成的共识传输到底层区块链进行验证。 Layer 2网络上可以快速执行交易并开展计算。不同网络会通过完全不同的方式提升交易吞吐量。但这些Layer 2网络有一个共同点，那就是在结算时都会向底层区块链提交某种可验证的加密证明，以证明状态变更的真实性。有些Layer 2会提前创建证明并提交至底层区块链，而另一些则是之后再创建追溯性的证明。
    

### Rollup技术介绍

以太坊的Layer2主要有Polygon、Arbitrum、StarkEx、Optimism、Loopring、Metis、zkSync、Boba Network、ZKSpace、Aztec、StarkNet等。这些生态采用不同的rollup方案，生态也各有特色。

所谓rollup就是在**Layer2上把多笔交易打包起来**，**作为一个整体提交到主网进行验证结算**，而不是一笔一笔处理，以此来提升交易速度。

**降低成本：链下执行**

rollups的一个关键特质就是在链下执行交易。这意味着Layer 2网络可以代替底层区块链处理与其他用户或智能合约的交易。由于验证节点数量较少且硬件更强大，这将大幅提升Layer 2网络相较于底层区块链的交易吞吐量。

底层区块链只需要计算提交至智能合约的证明，就可以验证Layer 2网络中的活动,并将未执行的原始交易数据作为calldata储存起来。区块链不再需要执行那么多计算任务，也不需要储存那么多Layer 2上的交易数据，因此可以降低每笔交易的成本。

**降低成本：打包交易**

rollups将原始交易数据打包成calldata。Rollup交易的验证方式与链上交易不同，交易数据被打包只是为了将数据储存在底层区块链上，验证节点或rollup参与者如果有需要的话随时可以重建Layer 2网络的状态。然而，核心逻辑仍然没有改变，即：主链上的一个打包交易中储存了多笔rollup交易。

**降低成本：减少验证节点数量**

**Layer 2必须向底层区块链提交某种证明，以证明其发起的状态变更是有效的。**

因此，**rollups就可以减少Layer 2网络中负责执行交易的验证节点数量**。验证节点可以是获得许可的实体，这些节点通常拥有更强大的硬件，以更快的速度和更低的成本来计算交易。之所以能做到这一点，是因为验证节点不负责达成共识，共识是由底层区块链达成的，底层区块链上的智能合约需要验证Layer 2提交的证明。

### Rollup分类

“证明”对于Layer 2来说至关重要，因为Layer 2需要通过提交证明来利用底层区块链的安全保障。每个Layer 2网络都需要提供某种加密证明，以解决底层区块链上的分歧。

rollup根据验证方式和数据可用性（DA）的不同可以分为4类。验证方式分为有效性证明（Validity Proof）和欺诈证明（Fraud Proof）。数据可用性（DA）分为链上和链下。

![](https://storage.googleapis.com/papyrus_images/38cf7e2c542687c0b5ebf5407984915ae7332d3fafae0b58b5ad46358a88cce8.png)

两种主要的证明类型：

*   有效性证明 - 这是一种利用零知识 (ZK, zero-knowledge) 密码学以确保交易有效性的数学证明。zk-rollups
    
*   欺诈证明 - 这种证明引入了一种所谓的争议时间延迟 (Dispute Time Delay, DTD)，一旦证明提交至 L2，验证者留有一定的时间以标记出无效的证明；无效证明可能包含着不正确的状态转换，因而会对涉及的验证者施加惩罚；随后状态回滚至最近的有效快照状态处。Optimistic Rollups。 数据可用性存储在链上或链下是什么意思呢？
    
*   链上：状态数据连同所有交易的所有执行的 calldata (智能合约函数调用、原生代币转移、签名) 一起放入交易捆/rollup 的加密证明中，这使得可以在链上访问和验证所有数据。
    
*   链下：执行的 calldata 和状态由 L2 处理并存储在链下。这使得这个方案不够安全和去中心化。然而，链下存储数据方案更容易将更多交易打包进一个 rollup 中，也因此比链上调用数据证明方案的速度快许多。 上述4类Rollup方案中，ZK Rollup的安全性最高，Plasma速度最快，Optimistic Rollup和Validium是折中方案。
    

### Rollup提交证明解决方案

**支付通道签名消息**

假设在关闭支付通道时，Bob或Alice发起恶意攻击，并试图取走不属于自己的资金。他们中任何一个人都可以向智能合约发送一个之前版本的支付通道“账本”。

支付通道的关键是每笔交易都必须附上加密签名。这可以为底层区块链上的智能合约提供证明，以解决分歧。比如，如果Alice提交了过期的账本副本，拿走了不属于她的那部分钱，那么Bob就可以对结算交易发起挑战，并提交最新的账本副本。然后，智能合约就可以判定正确的金额。而且Alice还会因为不诚实的行为被罚款。

由于底层区块链智能合约会进行裁决，因此支付通道也是一种Layer 2方案。一个简单的评判方法就是看有没有“证明”。支付通道创建后，Bob和Alice都必须对他们发起的每一笔交易附上签名，并储存一份对方的签名。

这就是支付通道中交易的证明。但光有证明还不够，还需要执行事实，这很像法官在得到证据和陪审团审议结果后做出裁决的过程。同样地，智能合约也会执行判决结果，将正确的金额打到各方在底层区块链上的钱包中，以进行结算。

**Optimistic Rollups的错误性证明**

错误性证明其实很简单。采用这种证明方式的Layer 2网络会默认所有交易都是有效的。然而，网络会设置一个挑战期，任何参与者都可以发起挑战，并向智能合约提交证明，表明交易数据或状态变更是错误的。当错误性证明发布后，rollup交易会部分或全部在链上重新计算一遍，最终的状态变更会跟原来的结果进行比较。如果重新计算的结果不一样，原来的结果将被认为是无效的，并被撤回。

**zk-rollup的有效性证明**

有效性证明则是另一种截然不同的哲学视角，默认所有计算结果都是存疑的，必须先被证明才能接受。

简而言之，有效性证明的作用是证明某件事是正确的。对于zk-rollup来说，证明的就是Layer 2网络中的交易和计算。因此，底层区块链上的智能合约可以验证Layer 2网络提交的有效性证明，以批准状态变更。对于验证节点来说，功能完备的zk-rollup将不允许任何错误的交易在底层区块链上结算，因为每一批交易都必须附上相应的有效性证明。

### 产品篇

**layer2 代表项目费用 15-60倍**

![](https://storage.googleapis.com/papyrus_images/805f527be3f18a852699891da0099498899ec1ee708bc99b0c5834a6620caf7c.png)

下期产品篇，我们将梳理Polygon、Arbitrum、StarkEx、Optimism、Loopring、Metis、zkSync、Boba Network、ZKSpace、Aztec、StarkNet等主流L2赛道的公链性能和性能生态。

### 资料来源

[https://web3caff.com/zh/archives/18799](https://web3caff.com/zh/archives/18799)

[https://bitalknews.notion.site/Layer2-d384fc37cb6140cc83a8053a14609f00](https://bitalknews.notion.site/Layer2-d384fc37cb6140cc83a8053a14609f00)

[https://www.ethereum.cn/Layer2/the-ultimate-guide-of-l2s-on-ethereum](https://www.ethereum.cn/Layer2/the-ultimate-guide-of-l2s-on-ethereum)

[https://l2fees.info/](https://l2fees.info/)

[https://www.coinvoice.cn/articles/24385](https://www.coinvoice.cn/articles/24385)

[https://l2beat.com/scaling/tvl](https://l2beat.com/scaling/tvl)

[https://dune.com/optimismfnd/Optimism-Overview](https://dune.com/optimismfnd/Optimism-Overview)

[https://blog.chain.link/what-is-a-layer-2-zh/](https://blog.chain.link/what-is-a-layer-2-zh/)

---

*Originally published on [Liheli](https://paragraph.com/@liheli/3-l2)*
