什么是Layer 2?

  • Chainlink
  • 发布于 2023-05-25 22:55
  • 阅读 97

本文介绍了Layer2的概念、必要性以及工作原理。Layer2是为了扩展区块链能力而构建在区块链之上的链下网络或技术,通过继承底层区块链的安全性来实现更高的交易吞吐量和更低的费用。文章详细讲解了支付通道和Rollups两种Layer2解决方案,并深入探讨了Layer2安全性的重要性,包括故障证明和有效性证明。

定义

二层网络是构建在区块链之上的任何链下网络、系统或技术,以帮助扩展其功能。

二层网络是指构建在 区块链(通常称为一层网络)之上的任何链下网络、系统或技术,以帮助扩展底层基础层网络的功能。二层网络可以支持任何区块链,以引入更高的交易吞吐量等增强功能。

要被认为是二层网络,一个网络、系统或技术的一个核心要求是它继承了其构建之上的区块链的安全性。交易数据必须以某种形式由底层区块链网络验证和确认,而不是由一组单独的节点验证和确认。例如,侧链通常不被认为是二层网络,因为它们通常部署自己的共识机制和验证器,从而导致与基础层链不同的一组安全保证。

对于牺牲可扩展性以实现更高程度的去中心化和安全性的区块链,二层网络可以实现更高的交易吞吐量,从而降低费用。二层网络可以被视为解决可扩展性问题的一种方案,从而实现快速且可扩展的执行,同时不影响去中心化或安全性。

对二层网络的需求

自从 2008 年区块链技术出现以来,成千上万的研究人员和开发人员一直致力于解决区块链可扩展性方面存在的迫切限制,以适应日益增长的应用。 历史上,这些限制导致了高额的费用和缓慢的执行时间,削弱了区块链大规模运行的能力。

以太坊联合创始人 Vitalik Buterin 提出的 区块链可扩展性三难困境 认为,区块链无法在保持底层网络安全和去中心化的同时有效地扩展。相反,必须在这三个特性之间进行权衡——今天的区块链网络可以满足这三个条件中的两个,但不能同时满足所有三个条件。

区块链可扩展性三难困境图

二层网络是一种新兴技术,建立在区块链承担了太多任务的前提下,从而导致了可扩展性限制。这是因为今天的区块链履行着三个核心功能:执行、数据可用性和共识。

  • 执行——交易处理和吞吐量。通过区块链每秒可以处理的计算次数(交易是其中的一个子集)来衡量。
  • 数据可用性——网络上节点和验证器对交易、状态和其他数据存储的要求。以标准存储术语(如兆字节、吉字节等)衡量。
  • 共识——节点和验证器对网络状态和交易顺序的广泛共识。根据去中心化和最终确定时间(即所有节点就特定状态变化达成一致所需的时间)来衡量。

注意:就本文而言,我们将只关注执行层。要深入全面地了解区块链的扩展,请查看这篇关于 区块链可扩展性 的博客文章。

二层解决方案的工作原理

注意:大多数二层解决方案的实现仍处于早期阶段,许多二层协议设计的要素仍未经测试或验证。

从高层次上讲,二层网络通常有两个部分:一个处理交易的网络,以及一个底层区块链上的 智能合约,用于解决任何争议,并通过将其固定到区块链来就二层网络的状态达成共识。

二层网络是快速执行交易和计算的地方。它们在实现这种吞吐量的方式上可能差异很大。然而,每个二层环境之间的一个共同点是,在寻求在基础链上结算时,二层网络必须向区块链提供某种加密且可验证的“证明”,以预先或追溯地证明所提议的状态变更的完整性。

同样,底层智能合约的实现方式也可能因二层网络而异,但智能合约的核心功能始终是:

  1. 持有和释放转移到二层的资金
  2. 接收由二层生成的某种证明,验证它,解决争议,然后最终确定交易

概念化这两种动态的一个好方法是采用现有的二层实现的两个示例——支付通道和 Rollup。

支付通道

支付通道通过预先将流动性资金注入通道,实现在链上代币在两个或多个用户之间的链下转移。

Alice 和 Bob 通过将集体资金锁定在一个智能合约中,并通过密码签名同意每个人可以访问多少资金来创建一个支付通道。例如,如果双方都锁定了 50 美元的资金,总计 100 美元,他们很可能会同意每个人都可以在支付通道中使用 50 美元。

一旦支付通道建立好,Alice 和 Bob 就可以通过签名消息自由地进行链下交易,而无需将交易提交到底层区块链。Alice 可以向 Bob 付款,反之亦然,零成本且延迟极快。在通过双向支付通道进行通信时,Alice 和 Bob 的交易不会发布到底层区块链上;只有当他们共同决定关闭通道时,最终结果才会传输到区块链并结算。

该系统的最终结果是,Bob 和 Alice 只需要支付两笔链上交易的费用来打开和关闭支付通道。当支付通道打开时,可以直接在点对点之间以零成本和亚秒级的速度进行数百万次转账——这是一个经典的可扩展性示例。

打开时,支付通道可以零成本和极快的速度促进交易。

打开时,支付通道可以零成本和极快的速度促进交易。

Rollup

乐观 Rollup 和零知识 Rollup 通过在链下执行智能合约状态更改并在链上证明它们来提供更高的吞吐量和更低的成本。Rollup 的可扩展性是通过以下三种方法实现的。

  1. Rollup 执行链下交易,要求底层基础区块链只需要执行小规模的证明来验证网络活动并存储原始交易数据。
  2. Rollup 在提交到区块链时批量处理交易数据,以便链上 gas 成本分摊到多个交易中。
  3. Rollup 只需要至少一个诚实的 验证器来向基础层区块链证明交易的有效性,从而允许更小的验证器集和更高的硬件要求,而不会显着降低安全性。

链下执行

Rollup 的一个关键特性是它们执行链下交易。这意味着二层网络代表基础区块链处理交易,无论是与其他用户还是与智能合约进行交易。 结合具有更好硬件的更小的验证器集,与基础区块链相比,这在进行二层网络上的交易时提供了更高的吞吐量。

基础区块链只需要执行提交到 Rollup 智能合约的证明来验证二层网络上的活动(在乐观 Rollup 的情况下,仅在发生争议时)并将原始的、未执行的交易数据存储为 calldata。 简单来说,这意味着区块链需要为在二层上发生的交易做更少的工作并存储更少的数据,从而降低了每次交易的总成本。

批量交易

另一种降低成本的方法是批量处理交易。这可以被认为是礼品包装。在区块链上,每笔交易都是一份单独的礼物,并以单独的盒子交付。这使得运输成本很高,因为每次你想发送礼物时都必须支付运费。使用 Rollup,你以较低的频率将许多礼物装入一个更大的盒子中,并将更大的运费分摊到多个礼物上。

更准确的技术解释是,Rollup 将原始交易数据批量处理为 calldata。Rollup 交易不需要像链上交易那样进行验证;相反,批量处理的交易数据只是一种将数据存储在基础链上的方式,以便在必要时,验证器或 Rollup 参与者可以随时重建二层网络的状态。 然而,核心逻辑仍然相同——主链上的一个批量交易存储了有关多个 Rollup 交易的数据。

这是一种清晰而直接的降低交易费用的方法,这些交易费用会抑制区块链上的可扩展性,并且与数据压缩相结合,与在基础区块链上进行交易相比,它在执行成本方面提供了显着的改进。

zk-Rollup 和乐观 Rollup 都以类似的方式批量处理交易。

更少的验证器

如前所述,2 层网络继承了其底层区块链的安全保证和去中心化。 下面将对此进行详细说明,但核心思想是 2 层网络必须向其底层区块链提供一种证明形式,以证明其提议的状态变更有效。

这使得rollup可以使用更少的验证器来处理二层网络上的所有交易。验证器可以是许可的实体,并且通常具有更复杂的硬件,可以更快且以更低的成本计算交易。之所以可行,是因为验证器不提供共识——共识通过基础链上的智能合约来实现,而智能合约需要证明。

二层安全:证明的重要性

“证明”的概念对于二层网络至关重要,这样它们才能继承基础链的安全保证。在现实世界中,证明可以采用多种形式。武器上的指纹和事件发生时的相机录像都是证明的例子。

加密证明的工作方式类似,但内容比在实体法庭中可接受的内容客观得多。用密码学证明某件事可以客观、可验证且防篡改地保证某件事是真实的。如果证明有效,则保证为真。在支付通道的情况下,交易上的密码签名提供了智能合约解决任何争议所需的明确真相。

每个二层网络都依赖于某种形式的密码学证明来解决基础链上的争议。 当今最突出的证明是故障证明和有效性证明(也称为零知识证明),它们是现代乐观 Rollup 和 zk-Rollup 的基础。

支付通道签名消息

假设在关闭支付通道时,Bob 或 Alice 恶意行事并试图拿走不属于他们的资金。任何一方都可以通过向智能合约提供支付通道“账本”的过时副本来实现这一点。

支付通道的一个关键设计要素是交易必须始终经过密码签名。这成为一种与底层智能合约兼容的证据形式,用于解决争议。例如,如果 Alice 提出一个过时的账本副本,该副本给予她的资金多于她应该获得的资金,则 Bob 可以对结算交易提出异议并提供一个较新的账本副本。然后,智能合约可以确定正确的金额。Alice 还必须为她的不诚实行为支付费用。

底层智能合约的裁决过程正是使支付通道成为二层网络的原因。考虑这个问题的一个简单方法是从“证明”的角度来看待它。一旦支付通道打开,Bob 和 Alice 都必须对他们进行的每笔交易进行密码签名,并存储另一方的签名副本。

这就是支付通道内活动的证明,但仅仅拥有证明是不够的。需要强制执行真相,就像法官在提供证据且陪审团达成裁决后做出决定一样。在这种情况下,智能合约执行判决并通过将正确的金额返回到每个参与者在基础链上的钱包来结算帐户。

这就是继承底层区块链的去中心化和安全保证的含义。支付通道处理链下的大部分计算和执行,但在需要达成共识以结算通道的情况下,底层区块链的强大共识层会做出最终决定。

乐观 Rollup 故障证明

故障证明本质上很简单。使用故障证明的二层网络默认情况下假定所有交易都有效。但是,存在一个争议期,在此期间,任何网络参与者都可以提出争议,并向智能合约提供证据,证明交易数据和提议的状态更改是错误的。当发布故障证明时,Rollup 交易将在链上部分或完全重新执行,并将生成的状态更改与原始声明进行比较。如果重新执行导致不同的结果,则原始声明将被视为无效并被撤消。

该系统目前被乐观 Rollup 使用。“乐观”来自故障证明的哲学观点:智能合约“乐观地”假定所有交易都有效,直到另有证明(在被证明有罪之前是无辜的)。回到不诚实的验证器的示例,任何网络参与者只需要在争议期内向智能合约提交有效的故障证明,即可在交易最终确定之前使验证器的行为无效。

乐观 Rollup 使用故障证明来确保最终确定的交易正确反映 2 层网络上的活动。

乐观 Rollup 使用故障证明来确保最终确定的交易正确反映 2 层网络上的活动。

zk-rollup 有效性证明

有效性证明可以被视为与故障证明具有相反的哲学观点,在这种观点中,所有计算和执行都受到质疑,并且必须提前证明是真实的。

简而言之,有效性证明证明某件事是正确的。在 zk-Rollup 的情况下,这必然是指在 2 层网络上发生的交易和计算。因此,相应的链上智能合约可以验证 2 层的有效性证明以批准状态更改。在验证器的上下文中,一个功能齐全的 zk-Rollup 实际上使得有缺陷或恶意的交易不可能在基础链上结算,因为每个批次都必须具有相应的有效性证明。

有效性证明预先证明 2 层网络活动的有效性。

有效性证明预先证明 2 层网络活动的有效性。

扩展区块链

支付通道、Rollup 和更广泛意义上的二层网络都是以可持续和长期导向的方式解决区块链可扩展性问题的方法——既支持 Web3 应用程序的不断增长的应用,又增强用户体验。

作为一项新兴且不断发展的技术,包括基础区块链和二层网络在内的大多数 Web3 基础设施组件尚未达到明确知道哪种方法最适合市场需求的拐点。但是,成千上万的开发人员和研究人员继续不懈地努力,通过当今存在的庞大的区块链网络、DAG 解决方案和二层网络生态系统来寻找可行的解决方案,以便将 Web3 的承诺带到社会的最前沿。

混合智能合约

2023 年排名前 6 的智能合约语言

Chainlink VRF 启用的 35 多个区块链 RNG 用例

Chainlink 自动化解锁的智能合约用例

智能合约自动化解释

Chainlink VRF 启用的 35 多个区块链 RNG 用例

如何审计智能合约

混合智能合约

智能合约自动化解释

智能合约平台

Chainlink 自动化解锁的智能合约用例

2024 年排名前 6 的智能合约语言

什么是二层网络?

  • 原文链接: chain.link/education-hub...
  • 登链社区 AI 助手,为大家转译优秀英文文章,如有翻译不通的地方,还请包涵~
点赞 0
收藏 0
分享
本文参与登链社区写作激励计划 ,好文好收益,欢迎正在阅读的你也加入。

0 条评论

请先 登录 后评论
Chainlink
Chainlink
顶尖的智能合约去中心化预言机网络解决方案 https://chain.link/