跳到主要内容

什么是第 2 层区块链?

第 1 层与第 2 层

第 1 层

第 1 层区块链(也被称为父链或根链)通常是用来描述主区块链网络协议的名称,如以太坊或比特币。第 1 层区块链只是第 2 层扩展解决方案所依附的主网络,以提高主链或第 1 层的可扩展性和交易吞吐量。第 1 层的名称来自于它与第 2 层扩展解决方案的关系,如状态通道、滚动和等离子体侧链,所有这些我们都会详细介绍。

把第 1 层看作是我们迄今为止一直在研究的标准区块链技术,而第 2 层是建立在该区块链之上的扩展,以增加功能。

第 2 层

第 2 层指的是建立在现有区块链系统之上的二级框架或协议。以太坊等主要加密货币网络面临交易速度和扩展的困难。比特币和以太坊仍然无法每秒处理成千上万的交易。此外,这些第 2 层解决方案通常提供更好的交易费用。

第二层协议是专门设计的,与底层区块链整合,以提高交易吞吐量。它们依赖于主链的共识机制和安全性。第 2 层的操作通常可以独立于第 1 层进行。这就是为什么这些有时被称为 "链外 "解决方案。虽然主链/第 1 层可以提供区块链固有的安全性,但第 2 层可以提供速度。

由于第 2 层的交易发生在不同的链上,所以会定期打开一个连接,将这些交易转移到主区块链上。这种连接有时被称为桥梁,或通道。因此,第 2 层解决方案的一个主要考虑因素是在将交易转移到主链之前如何验证和确认。

第 2 层的扩展解决方案

现在有许多第 2 层的扩展解决方案,或者正在开发。我们将对它们进行广泛的研究。

第 2 层的扩展解决方案主要有两个方面的区别。第一个是交易执行,第二个是数据可用性。

交易执行策略涉及到交易如何运行,在哪里运行,信任环境是什么,安全和分散环境是什么,等等。

数据可用性策略涉及第二层解决方案是否在第一层主链上提供其交易数据。

我们将看一下以下几类。

  • 状态信道
  • 侧链
  • 卷积
    • 乐观的滚动(ORs)
    • 零知识卷积(ZKRs)
    • ZKR vs OR
  • 等离子体
  • 有效的
  • 志愿

状态通道

状态通道是区块链的第一个广泛的扩展方法。当两个或更多的用户想在一个可信任的环境中做一堆交易而不需要每次都支付汽油时,就会使用状态通道。

这方面的一个简单例子是区块链上的井字游戏,有赌注。

假设 Alice 和 Bob 想投入 10 个 ETH 来玩一个井字游戏。另外,我们假设 Alice 和 Bob 互相信任。我们可以设计一个智能合约,让每一步棋都记录在区块链上,在游戏结束时,Alice 或 Bob 都会收到他们的赢利。但这将是一个昂贵的游戏,因为每一步棋都要花费 Alice 或 Bob 的汽油费。这可以用状态通道来解决。

我们不是设计一个智能合约来支持井字棋的每一步棋,而是设计一个智能合约,允许打开和关闭状态通道。一旦打开,状态通道将拥有游戏的默认开始状态,Alice 和 Bob 可以在上面做动作而不需要支付气体费用,因为打开的状态通道将是链外的。每一步棋都不会被写到主链上。当通道关闭时,游戏的结束状态被写入主链,同时处理游戏的赢利。所以,不是把每一步棋都写到区块链上,而是只把游戏的开始和结束写到区块链上,从而节省大量的交易费用。tac tac toe 的动作数量可能不多,但想象一下国际象棋或围棋的游戏,你就会发现这可以节省多少钱。

在涉及货币/加密货币转移的应用中,有时这些被称为支付渠道。

对于支付,另一个很好的使用国家渠道的例子是获得音乐的版权费。例如,假设一个艺术家希望每月收到他们的歌曲在音乐服务(如 Spotify)上被收听的报酬。该艺术家希望以此获得 ETH 支付,但他们并不真的想做这方面的工作。一家公司可以为该艺术家提供这样的服务。如果艺术家每听一首歌都能收到 ETH 转账到他们的钱包,转账费用将远远超过听歌的利润。使用国家渠道,公司可以在月初打开一个渠道,代表艺术家收取当月的版税,然后在月底关闭渠道,将所有版税的 ETH 一次性发送给他们,当月只支付一次转账费用。这样既节省了转账费用,又保证了安全。

状态通道仍然利用区块链方法,如使每个状态的变化都是加密的。

除了对速度的潜在收益和较低的费用外,国家渠道还有一些其他的好处。由于游戏的开始和结束都写在主链上,但在状态之间却没有,所以有可能有更多隐私。状态通道只是在爱丽丝和鲍勃之间,但由于每一步都没有发布到区块链上,所以每一步都不公开。

这种方法也不是没有挑战。状态通道有用的核心假设是,状态通道的参与者相互信任,在链外进行这些交易。由于要打开通道,Alice 和 Bob 都必须投入 10 个 ETH。这笔钱被锁定在智能合约中,直到状态通道被关闭。然而,如果 Alice 在移动中下线,Bob 将永远无法拿回他的钱。因此,如果 Bob 不信任 Alice,状态通道并不是最好的方法,因为任何一个玩家都可以锁定智能合约。

ethereum.org 上的状态通道

侧链

侧链是一个独立的与 EVM 兼容的区块链,它与主区块链平行运行,并有一个通往第一层的通道。侧链有自己的验证者和添加区块的共识方法。侧链快速而廉价地积累交易,并通过桥梁或通道将其汇总到主链。

由于侧链是基于 EVM 的,你可以把它们看作是迷你以太坊区块链。侧链带有 EVM 的所有好处,就像在 solidity 中编写智能合约一样,并使用 web3 API 与链进行交互。

侧链的缺点是,它们可以更加集中化。例如,如果他们的共识协议为了有更高的交易吞吐量而使用不那么安全或不那么分散的方法,而这些节点串通起来进行欺诈。

需要注意的是,与下面的其他解决方案不同,侧链在技术上不是第二层,因为它们不使用主链的安全性,但经常被称为第二层。

进一步阅读 侧链在 ethereum.org 上

卷积

Rollups 是在第 2 层执行交易的解决方案,但将交易数据以捆绑或总结的形式发布到第 1 层。可以把 Rollups 看作是一个 "压扁和合并 "的操作。通过将计算移出链外,它们释放出更多的链上空间。链上数据的可用性是至关重要的,因为它允许以太坊重复检查滚动交易的完整性。与状态通道不同,rollups 在主链上发布的交易数据可以被验证为正确或不正确,而且 rollup 的执行不需要发生在一个可信任的环境中。

滚动的工作方式是在第 1 层部署一组智能合约,负责存款、提款和验证证明。证明是不同类型卷积的主要区别。一般来说,有两种卷积。乐观的卷积和零知识卷积。

乐观的卷积

在乐观的滚动中,成批的交易数据被发布到主链上,并被默认为是有效的(因此被称为乐观的),但可以被其他用户质疑。

理论上,任何人都可以通过提交索赔(也称为欺诈证明)来挑战他们,以证明提交到链上的批次包含无效的状态转换。如果欺诈证明是有效的,这些无效的状态转换将被回滚。如果没有人质疑该交易,它将被提交到主链上。为了让用户有足够的时间对交易提出质疑,从交易发布到它被提交到主链上有很长的等待时间,通常是几天,但也有可能是一周。在这段时间内,你不能把你的资金撤回到主链上。

值得注意的是,当挑战发生时,主链总是可以验证潜在区块中交易的真实性。但这些验证需要工作,因此需要收费。

有什么可以阻止坏的行为者用坏的交易来干扰卷积网络,或者用欺诈证明的验证来干扰网络?还有,如果有人提出质疑,第 1 层验证交易的钱从哪里来?为了回答这个问题,我们介绍了这个领域的 3 个参与者。

  • 断言者 - 试图在主链上发布交易证明的提议者,从而断言其有效性
  • 挑战者 - 试图证明断言者发布的证明是虚假的用户
  • 验证者 - 主链上的智能合约,验证证明并检查其有效性。

断言者必须提供保证金以提出一个交易区块,通常是以一些 ETH 的形式。挑战者也需要提供保证金(通常是 ETH)来进行挑战。验证者将验证主链上的交易。

如果挑战者被发现有欺诈行为,他们将失去部分保证金。核查者因处理核查而获得断言者的部分保证金,挑战者因发现欺诈而获得断言者的另一部分保证金作为奖励。

如果断言者被发现不是欺诈,挑战者将失去部分保证金。核查员得到挑战者的部分保证金,用于像以前一样处理核查,这次断言者得到挑战者的部分保证金,作为对其麻烦的奖励。

ZK 卷轴

ZK 代表 "零知识",它是一种方法,一方(证明者)可以向另一方(验证者)证明一个给定的声明是真实的,而证明者除了声明确实是真实的这一事实外,避免传达任何其他信息。更多关于零知识证明的内容

在这种滚动中,没有个人做验证。相反,每个提议将一组新的滚动交易添加到主链上的人都会为它构建一个零知识证明。这可以由控制向主链添加交易的智能合约自动验证。因此,与 Optimistic Rollups 相比,ZK Rollups 没有挑战者的角色,每一个发布在主链上的证明都在发布时被验证。

特别是,提出者构建了某种零知识证明,称为 zk-SNARK,它是一种非交互式的零知识证明,意味着这种证明不需要证明者和验证者之间的交互。

关于 zk-SNARKs 的深入研究,请参考 David Wong 的系列文章《zk-SNARK 的缺失解释》

ZK 与乐观主义

乍一看,ZK 滚动似乎在各方面都比乐观的滚动好。毕竟,交易可以被自动验证,不需要挑战者,而且断言者在提交交易前会证明自己的交易。此外,他们支付气体来处理智能合约中的证明,所以如果他们提交了一个无效的证明,只有他们会输。

那么,为什么要有乐观的滚动?

ZK 滚动的问题是,从数学上讲,很难构建这些证明。每个用例都需要研究时间来找到一个匹配的加密证明,这可能需要很长的时间来找到。

此外,ZK 证明往往很复杂,因此验证起来也很昂贵。智能合约包含的操作越多,其运行成本就越高。此外,智能合约的空间也是有限的,所以证明必须在少于一定数量的操作中运行。

等离子体

Plasma 是一个用于构建可扩展的第 2 层应用程序的框架。Plasma 在其应用中使用了很多上述的想法。Plasma 的构建模块是链外执行、状态承诺和进入/退出主链。等离子体链是一个独立的,被锚定在以太坊主链上的子区块链。等离子体链使用各种欺诈证明来仲裁争端,就像乐观的卷积一样。像侧链一样,等离子体链有自己的共识算法,并创建交易块。在固定的时间间隔,每个区块的压缩表示被提交给以太坊的智能合约。Merkle 树使创建这些链的无限堆栈成为可能,这些链可以努力从父链(包括 Mainnet)卸载带宽。Plasma 链在链外做尽可能多的工作。Plasma 的实现使数百个侧链交易能够被离线处理,只有侧链区块的一个哈希值被添加到以太坊区块链中。

Plasma 链只与主链互动以提交其状态,或促进进入和退出。由于等离子体的大多数实现是一个完全不同的区块链,它必须促进从主链进入和退出链,这是由智能合约促进的。实际上,等离子体网络的一个大缺点是,从它那里提取资产到主链比较困难。提款会延迟几天,以允许挑战,就像乐观的滚动一样。对于可替换的资产,这可以由流动性提供者来缓解,但有一个相关的资本成本。这是因为等离子体网络上的资产与主链上的资产不完全相同。例如,你在等离子体上不持有 ETH,你通常持有 wETH(包裹的 ETH),它与 ETH 的价值是 1:1。

等离子体的实现也依赖于验证者来观察网络并确保安全。当资金被提取时,也有一个等待期,以允许挑战。与侧链一样,等离子体的好处是更高的吞吐量和更低的每笔交易成本。这对两个用户之间的交易来说是非常好的。然而,Plasma 的缺点是它不支持像主链允许的那样复杂的计算,尽管许多解决方案正在努力解决这个问题。

要使用 Plasma,你可以整合几个已经实现 Plasma 的项目之一,例如 Polygon,它的正式名称是 Matic。

要深入了解 Plasma,请查看 Plasma 白皮书

其他一些关于 Plasma 的有用文档有:Learn PlasmaPlasma Docs on ethereum.org

数据可用性

到目前为止,我们一直在讨论各种扩展解决方案所采取的不同的交易执行方法,以及这些交易运行的信任和安全环境。

然而,第二层的另一个维度是数据的可用性,在这个维度上,第二层有不同的权衡。在主链上,我们习惯于将所有数据公开发布在区块链上。然而,这伴随着重大的隐私问题。

例如,如果一家专业的交易公司在 DEX 上进行大量的资金交易,他们很可能不希望他们的交易策略被公开,否则对他们就没有用了。

第二层解决方案属于这些数据可用性的情况之一:

注意:这里的链上和链下特别指的是第一层的主链。On-chain 意味着数据在第一层主链上是可用的,off-chain 意味着它在第一层主链上不可用,尽管它在第二层链上可能是可用的。

两种卷积技术都是通过在主链上发布可验证的证明来存储数据,但 ZKR 使用的是在发布时被验证的有效性证明,而 OR 则是依靠挑战者来捕捉欺诈性证明。

另一方面,Plasma 链将大部分数据存储在主链之外,通常只有在出现争议时才需要接触主链。充其量,他们会将快照发布到主链上,而不附加证明。因此,如果你信任 Plasma 链,那么只有快照才有帮助。与 OR 的类似,快照被认为是默认有效的,除非有争议提出。

现在我们来看看 Validiums 和 Volition。

有效链

Validium 的工作原理与 ZK rollups 非常相似,只是数据被存储在主链之外。由于交易数据不在主链上公布,这就引入了新的信任假设,因为用户必须信任运营商在需要时提供数据。这通常是通过一个由已知实体组成的委员会来实现的,这些实体将他们的商业信誉押在可靠的数据提供者身上。如果一个 L2 节点运营商停止服务提款请求,这个委员会将公开提供其数据的副本。

需要注意的是,Validium 是一种数据可用性的情况,并不关注交易如何执行。通常情况下,你可以使用 Validium 的方法与基于 ZKR 的交易执行。

在 ethereum.org 上的 Validium

志愿链

Volition 链是那些是 Rollups 和 Validium 数据可用性方法的诞生。从本质上讲,它们允许混合数据可用性的场景,用户可以决定他们在主链上想要什么,以及他们在主链上不想要什么。

例如,一家大型交易公司可能不希望它的每一笔交易都在主链上公开,但在一周结束时却要求在主链上发布证明,以继承它的安全优势。所以他们可以在链外存储每笔交易的数据,但在链上存储整个星期的盈亏和余额变化。

同样,与 Validiums 类似,这只是一个数据可用性的情况,并不涉及交易的执行方式。通常情况下,你可以对 ZKR 的使用 Volition 方法。

第二层的例子

Immutable X

Immutable X 是 Ethereum 上 NFTs 的第二层扩展解决方案。它允许开发者建立市场、游戏、应用程序等。以太坊每秒只能处理约 15 笔交易,并遭受高额的气体费用,而像 Immutable X 这样的第 2 层解决方案每秒可处理 9000 笔交易,且气体费用为零。它利用以太坊完善的安全、连接和生态系统来帮助开发者。

Polygon(以前的 Matic)

Polygon 是一个基于等离子体的、兼容 EVM 的、第二层的扩展解决方案,它利用了股权证明、侧链等。它是目前最流行的以太坊二层解决方案之一。关于它的简单介绍,你应该阅读Polygon 新手?Polygon 架构

我们将在未来的模块中提供更多使用 Polygon 的实际例子。

Arbitrum

Arbitrum 是一个乐观的滚动解决方案,用于 Ethereum 上的通用智能合约。它与 EVM 兼容,开发者可以轻松地将他们现有的 Solidity 代码移植到 Arbitrum。

Optimism

Optimism 也是一个针对 Ethereum 上通用智能合约的乐观滚动解决方案。它也与 EVM 兼容,开发者可以将他们现有的 Solidity 代码移植到 Optimism。

Arbitrum 和 Optimism 在一些低层次的细枝末节的技术细节上有所不同,但从表面上看,它们都在同一类别中运作。

zkSync

zkSync 是一个针对以太坊的 ZK-Rollup 解决方案。由于通用的 ZK-Rollups 非常困难,目前 zkSync 支持 ETH 和 ERC20 代币转移、NFTs、原子互换和基于订单簿的 DEXs。

以及更多... 这并不是一个详尽的清单,还有很多第二层解决方案在争夺注意力和市场份额,在低层实现的技术细节上有所不同。如果你在网上寻找,你可能可以找到数百个。

推荐观看

以太坊第 2 层的扩展说明 解释一下卷积的情况 不同的扩展方案概述

ETH 网络升级和第二层的

随着我们越来越接近 ETH 网络的升级(以前称为 Eth2),一个常见的问题是 "第 2 层还会有意义吗?"

简短的回答是肯定的。

长的答案需要我们看一下 ETH 升级带来了什么,以及为什么它有利于第二层。

目前,ETH 作为一个单一的、分布式的 "世界计算机 "运行。所有的交易都是连续执行的,并且有一个单一的共享状态,在所有的以太坊节点中维护。这有它的优点,但缺点是,当很多用户想要平行交易时,气体费用会激增,这可能会使交易非常昂贵。最近,对 Ethereum dApps 的需求导致了相对较高的气体费用。你可以整天争论安全和去中心化的好处,而不是成本,但对于一个普通的新人来说,使用它仍然是昂贵的。

第二层的解决方案,如 rollups,通过在主链上做交易执行来帮助缓解成本。相反,他们在第二层做计算,然后将加密证明发布到主链上,任何人都可以验证。由于任何人都可以检查所发布的证明是否有效,他们可以放心地知道交易是正确执行还是不正确的。由于这一特性,卷标继承了主链的安全优势,而不需要为主链上的计算和执行支付气体费用。

随着 ETH 的升级,ETH 专注于实现数据分片。从本质上说,这意味着网络的单一状态将被分解成更小的数据集,称为分片,其目的是通过让网络更容易获得存储来降低存储成本。这样做的后果是,当滚动链将证明发布回主链时,滚动链这样做将更便宜。

目前,卷积链上的气体成本受限于主链上的存储气体成本。即使第 2 层的计算非常便宜,但将证明发布到主链上仍然需要在以太坊上支付气体来存储证明。如果以太坊的存储成本下降,那么使用卷积链的成本也会下降,因为证明可以以更便宜的价格发布。这将激励更多的人使用第二层链,以太坊数据存储的直接需求将下降,这将进一步降低以太坊的存储成本,等等。

因此,ETH 的升级实际上将帮助安全的第 2 层解决方案获得采用,并使其使用成本更加低廉。