在介绍以太坊前,我们先来了解一些区块链技术的基础知识。

什么是区块链?

区块链是一种分布式账本技术,它通过去中心化的方式,将交易记录以区块的形式链接在一起,并通过共识算法确保数据的安全和一致性。区块链的最著名应用就是比特币。

区块链的核心特点是去中心化和安全性。

  • 去中心化:没有中心机构控制整个系统,而是由网络中的节点共同维护和验证数据。
  • 安全性:通过共识算法和加密技术来保证,使得数据不可篡改和抵御恶意攻击。

什么是以太坊?

以太坊(Ethereum)由 Vitalik Buterin(V神) 在2015年创立,用户可以在没有第三方中介的情况下创建和执行代码(即“智能合约”)。这使得以太坊不仅是一个交易平台,更是一个全球化的开放网络,任何人都可以在上面发布代码、开发应用。从最初的ICO(首次代币发行)热潮,以太坊已经成为去中心化金融(DeFi)、NFT、DAO等应用的核心平台。

为什么需要 Layer2?

随着应用和用户的增加,以太坊主网的拥堵和高昂的交易费用(Gas费)成了一个痛点。这就引出了 Layer 2 (L2)的概念。

Layer 2 的概念是相对 Layer 1(L1)来说的,Layer 1 是指区块链的基础层,也称为主链或基础协议层,比特币和以太坊就是典型的 Layer 1 区块链。

因为在 Layer 1 上进行交易和智能合约执行需要全网节点的参与,所以会面临一些挑战,如低吞吐量、高交易费用和延迟较高。这些挑战对于一些需要高性能和低成本的应用场景来说是不利的,比如支付、游戏和去中心化交易所等。

Layer 2 技术的出现就是为了解决 Layer 1 的这些瓶颈和挑战,Layer 2 技术通过将一部分交易或计算迁移到 Layer 2,可以大大提高系统的吞吐量和性能。同时,由于 Layer 2 不需要全网节点的参与,所以可以降低交易的成本和延迟。这使得区块链技术更加适用于各种实际应用,并能够满足更多用户的需求。

Layer2 的不同实现方式

  1. 状态通道

状态通道是最早由 Lighting Network 在 2015 年提出的链下扩容技术,它通过链下交易链上清算来提高交易吞吐量。参与者可以安全地进行链下交易,将最终结果发布到区块链,最大限度地减少与主网的交互。

技术原理:

  1. 打开通道:参与者质押一定链上资产在多签合约中以打开状态通道;
  2. 使用通道:参与者在通道中自由进行交易,本地更新状态,不提交到链上;
  3. 关闭通道:在所有参与者一致同意后,提交最终状态到链上进行最终清算,一定时间内无人质疑即完成交易。

解决交易结算不及时,手续费比较高

  1. 侧链

侧链是一项起源于比特币社区的技术,于2013 年 12 月提出,2014 年 4 月由 Blockstream 公司主导研发,在 2014 年 10 月正式公开。

侧链是与主链兼容的区块链网络,运用跨链机制实现从主链到侧链的资产转移,并在侧链上部署应用,解决主链网络拥堵的问题。且与主链相比,侧链是独立的系统,技术和理念上有进一步的优化空间,支持使用更高效处理交易的共识算法。

技术原理:

  1. 创建侧链:参与者们一起创建一个独立的区块链X,该区块链具有自己的共识机制和规则。
  2. 锁定资产:参与者们在比特币一层网络上锁定一定数量的BTC,并在侧链X上生成相同数量的侧链版BTC(SideBTC)。
  3. 侧链交易:在侧链X上,参与者们可以进行各种交易和操作,包括代币转移和智能合约执行等。
  4. 转移资产:当参与者们希望将侧链资产转移到比特币一层网络时,他们将相应数量的侧链资产锁定,并在比特币一层网络上生成相应的解锁交易。
  5. 解锁资产:解锁交易在比特币一层网络上确认后,相应数量的BTC就在比特币一层网络上解锁并可用。

解决状态通道个数过多难以维护,和状态通道支持的交易种类过于局限的问题。

  1. Optimistic Rollup

Optimistic Rollup 的概念最早由 Joseph Poon 在 2018 年提出。这种方法基于一个“乐观”的假设,即在主链上提交的交易默认是有效的,只有在出现争议时才进行验证。这一设计理念旨在提高交易吞吐量,减少主链上的负担。

技术原理

  1. 构建侧链:首先,创建一个独立的侧链,通常基于以太坊虚拟机(EVM)的兼容链。这个侧链可以是一个独立的区块链,也可以是一个分区(rollup)。
  2. 执行和验证:在侧链上执行智能合约的交易,并验证其执行结果。验证过程通常是通过在侧链上运行一些验证节点来完成的。
  3. 状态提交:在侧链上执行和验证完交易后,只需将状态的提交信息发送到以太坊主链上。这个提交信息通常包括侧链上的状态根哈希和一些证明数据,用于证明侧链上的计算是正确的。
  4. 争议解决:一旦状态提交到以太坊主链上,就进入了一个争议解决期。在这个期间,任何人都可以提出对状态提交的争议,并提供相关的证据。争议解决机制通常是基于可选的仲裁者或社区投票来决定提交是否有效。
  5. 回滚和奖励:如果没有争议或争议被解决并确认为无效,侧链上的状态转移将被视为有效。在这种情况下,侧链上的交易将被批准,并且参与者将获得相应的奖励。如果争议被解决并确认为有效,那么侧链上的状态转移将被回滚,并可能导致相关参与者的处罚。

它解决了纯粹的侧链容易被节点联合作恶的问题。

  1. ZK(Zero-Knowledge) Rollup

ZK Rollup 的起源可以追溯到以色列公司 StarkWare,该公司由以色列工程师 Eli Ben-Sasson 和 Alessandro Chiesa 等人于 2018 年创建。ZK Rollup 使用零知识证明(Zero-Knowledge Proofs)来证明交易的有效性,同时不揭示具体的交易信息。这种方法强调隐私和安全性,并且不依赖于主链的验证。

技术原理:

  1. 构建侧链:首先,创建一个独立的侧链,通常基于以太坊虚拟机(EVM)的兼容链。这个侧链可以是一个独立的区块链,也可以是一个分区(rollup)。
  2. 执行和批量提交:在侧链上执行智能合约的交易,并将这些交易按照一定的规则进行批量提交。每个批次通常包含多个交易。
  3. 状态转移和合并:在每个批次提交时,侧链上的状态转移被记录,并与之前的状态进行合并。这样,侧链的状态会逐步更新和累积,反映所有已提交的批次的状态转移。
  4. 零知识证明:在每个批次提交时,为了确保侧链上的状态转移的正确性和可验证性,使用零知识证明来证明每个批次的交易执行是正确的,而无需公开详细的交易内容。这样可以保护交易的隐私。
  5. 主链提交:定期(通常是每个批次或一定的时间间隔)将侧链上的状态根哈希和相应的零知识证明提交到以太坊主链上。这个提交信息作为一个摘要,证明了侧链上的状态转移是有效的,并且可以在主链上进行验证。
  6. 主链验证:在以太坊主链上,验证人(validators)可以验证提交的状态根哈希和零知识证明,以确保侧链上的状态转移是正确的。验证人可以根据需要进行验证,并有机会参与主链上的共识机制。

它解决了 Optimistic Rollup 持续被挑战带来的持续争议问题,以及为了保证安全导致的挑战期过长问题。

本篇文章内容摘自 HackQuest 的以太坊基础课程。原文中对 Layer2 的不同实现方式进行了更为详细的讲解,不仅通过实例说明,还介绍了每种实现方式的代表性项目。课程都是免费的,太香了!