Layer2到底是什么?
背景
比特币与以太坊等主要加密货币网络依然面临着交易速度慢与扩展困难的问题,较之VISA之类的每秒处理成千上万交易的主流支付方式依然差距很远。
低效的网络让整个以太坊生态拥堵不堪,从Uniswap、Sushiswap这样的知名DeFi项目,到Game-Fi、NFT的应用,无一例外全部处于拥堵状态。
Layer 2是尝试改善以太坊网络状态的一系列链下扩展性解决方案的统称。该种拓展不影响公链本身而是通过其他方式实现可拓展性的提升。它们依赖于主链的共识机制和安全性,但通常操作可独立于Layer1进行,然后定期开放连接将这些交易数据转移到主区块链上,从而实现交易吞吐量的提升。因此「Layer 2」方案的一个核心就是要考虑交易在被转移到主链之前如何被验证和确认。
Layer 2的想法最早起源要大约追溯到2015年,闪电网络白皮书中曾提到Layer,就是“层”的意思,像比特币、以太坊这些公链统称为 Layer1,即「一层网络」,主要作用就是确保安全、去中心化及最终状态确定,而Layer 2 追求极致的性能,作为「二层网络」,可以替Layer 1承担大部分计算工作,将以太坊交易从主链上分离出来,降低一层网络的负担,提高业务处理效率,从而实现扩容。
下文主要介绍ETH扩展方案的发展与主流Layer2的基本原理。
链下扩容 vs. 链上扩容
当前,以太坊社区同时在使用链下扩容性策略和链上扩容策略。
链下扩容:指为以太坊等底层链提供外部执行的扩容方式。人们将这些创新称为「Layer 2」,也即将交易的执行放在以太坊之外的第二层网络进行,也就是我们介绍的主角
链上扩容:指为了提高区块链吞吐量而对进行的修改,如实现分片等,这是解决以太坊网络拥堵的长期性、本质性的策略。以太坊希望将一直以来的单一协议扩展到 64 条新的“分片链”上。通过这种方式将以太坊网络的负荷分布到这些分片链上,以太坊 L1 得以实现水平扩展,从而改善交易延迟和吞吐量能力,也就是ETH2.0
正如以太坊创始人 Vitalik Buterin 之前所讲的那样,“分片和 Rollups 带来的可扩展性好处相互叠加”
状态通道
状态通道技术,受启发于比特币的闪电网络。当多方想在一个可信环境中执行大量事务而不希望每次都支付Gas时,就可以使用状态通道。该方法由多签智能合约支撑,在状态通道网络中,ETH 等加密资产可以锁定在这些合约中,用于在用户之间创建双向支付通道。
换句话说,状态通道就像是在记账,用户彼此之间可以在链下进行数百次交易,然后通过向以太坊 L1 发送最后一笔交易来停止记账。
Alice 和 Bob 双方进行交互,他们首先在区块链的状态通道合约中存入一定资金,随后交换资金分配规则。这些规则可以基于简单的余额更新,也可以取决于复杂的事件,比方说由一盘棋类游戏的结果决定资金的分配。参与双方在互相发送协议更新之前要对状态附上自己的签名。当他们完成交易了,主链可以通过核实签名和最后结余来验证状态更新的有效性并完成分配。
一个经典的例子:Alice和Bob想玩一场井字游戏,赢家可以获得一个以太币。实现这一目的的最简单方法就是在以太坊上创建一个智能合约,实现井字游戏规则并跟踪每个玩家的动作。每次玩家想要移动时,他们都会向合约发送一个交易。当一名玩家获胜时,根据规则合约会付给赢家一个以太币。不过,我们可以使用状态通道使玩家在井字游戏的过程中产生尽可能少的链上操作。
首先,我们在以太坊主链上创建一个能够理解井字游戏规则的智能合约 “Judge”,同时它也能够认定爱丽丝和鲍勃是我们游戏中的两位玩家。该合约持有一个以太的奖励。然后,爱丽丝和鲍勃开始玩游戏。爱丽丝创建并签署一个交易,它描述了她游戏的第一步,然后将其发送给鲍勃,鲍勃也签署了它,再将签名后的版本发回并保留副本。然后鲍勃也创建并签署一个描述他游戏中第一步的交易,并发送给爱丽丝,她也会签署它,再将其返回,并保留一份副本,他们每一次都会这样互相更新游戏的当前状态。每一笔交易都包含一个“随机数”,这样我们就可以直接知道游戏中走棋的顺序。
到目前为止,还没有发生任何链上操作。Alice和Bob只是通过互联网向彼此 发送交易,但没有任何事情涉及到区块链。但是,所有交易都可以发送给 Judge 合约,也就是说,它们是有效的以太坊交易。你可以把这看做两人在彼此来回填写了一系列经过区块链认证的支票。 实际上,并没有钱从银行中存入或取出,但是他俩都有一堆可以随时存入的支票。当Alice和Bob结束游戏时(可能是因为Alice赢了),他们可以通过向 Judge 合约提交最终状态(比如交易列表)来 关闭通道,这样就只用付一次交易费用。Judge 会确定双方都签署了这个“最终状态”,并等待一段时间来确保没人会对结果提出合理质疑,然后向Alice支付一个以太币的奖励。
再比如一个艺术家希望每月收到他歌曲在Dapp上被收听的报酬,公司可以在月初打开一个渠道,代表艺术家收取当月的版税,然后在月底关闭渠道,将所有版税的ETH一次性发送给他们,当月只进行一次转账,从而节省了大量费用。
当然除了提高速度和降低费用之外,状态通道由于隐藏了中间状态,也实现了一定的隐私保护。
但这个方法也存在挑战,由于要打开通道,Alice 和 Bob 都必须投入一定的ETH,这笔钱被锁定在智能合约中,直到状态通道关闭。在双方合作的场景下,每一个参与者最后一步都显式地签署一份状态声明,告知合约状态敲定,通道关闭,实现即时取款。但是当有一方不作应答时就无法实现。如果Alice 在移动中离线,Bob将永远无法取回他的钱。当然我们也可以在区块链中强制设定一段挑战期等方法解决问题。比如:如果 Alice 不愿意关闭他们之间的状态通道 (出于恶意行为或由于技术故障),则 Bob 可以启动提款期 (withdrawal period);如果 Alice 在这段期间内 (比如7天) 还是没有向 Bob 提供票据,那么 Bob 就可以在到期后拿回他的所有钱。
一个好的通道框架需要同时涵盖上述两种情况,使得双方合作时能实现即时提款,在无应答时也有应对的提款步骤。
感兴趣的朋友可以在该org中获取更多详细资料:https://statechannels.org/
Plasma
Plasma 链是一种依赖于欺诈证明 (fraud proofs) 的扩容方案,将数据保存在链下。尽管是以太坊 L2 研究的最早领域之一,Plasma 未能像其他更新的扩容方案那样获得足够的吸引力。
2017 年 8 月 11 日,Vitalik Buterin 和 Joseph Poon(闪电网络创始人) 发表了一篇题为 Plasma: Autonomous Smart Contracts 的文档。区别于状态通道,Plasma 中能够运行智能合约,如果说状态通道是对交易吞吐量的扩容,那么它是对计算能力的扩容。
Plasma 采用了一种新思路,它是通过创建依附于“主”以太坊区块链的“子”区块链 。这些子链又可以循序产生它们自己的子链,并能依次循环往复。其结果是我们可以在子链层级中执行许多复杂的操作,在与以太坊主链保持最低限度交互的情况下,运行拥有数千名用户的完整应用程序。 Plasma 子链可以更快迁移并承担更低的交易费用,因为其上的操作无需在整个以太坊区块链上进行重复。
Plasma将计算和数据存储都迁移到 layer2 进行,由 layer2 的执行者周期性地向主链递交 Merkle 根形式的状态承诺。如果执行者递交无效的状态,用户可以向主链上的智能合约提供欺诈证明,一旦确认执行者出现欺诈行为,则智能合约会罚没他的保证金。
举个例子:试想你正在创建一个类似于炉石传说的NFT卡牌游戏,拥有一些可以让玩家相互对战的特征和属性,这类复杂操作在链上执行代价非常大,所以决定使用 Plasma 。
首先,我们在以太坊主链上创建智能合约,它们可作为 Plasma 子链的根节点 。Plasma 根节点包含子链的一些基本规则(比如交易无法消费已消费过的资产),也记录了子链状态的哈希值并建立以太坊主链和子链间转移资产的跨链桥。
然后我们创建子链,子链可以拥有自己的共识算法,我们假设它使用依赖可信区块生产者的PoA共识算法,一旦子链创建好并生效后,区块生产者会周期性的向根节点合约发出提交,提交某子链中当前最新的区块状态,这些被当做子链中事务证明记录在链上的 Plasma 根节点里。现在子链也准备好了,我们可以在以太坊主链上初始化NFT,然后由 Plasma 根节点转移到子链上。
注意,Plasma 可以扩展我们与基于区块链的数字资产之间的交互,但是这些资产应当是首先由以太坊主链创建的。然后,我们将实际的游戏应用程序以智能合约的方式部署至子链上,这样子链就包含了游戏所有的逻辑和规则。当用户想要玩游戏时,他们只需要与子链交互,例如购买、与其他用户对战以及其他游戏中允许的行为,这些过程都不需要与主链进行交互。这样只有很少的节点(比如区块生产者)才需要处理交易,费用就会降低很多并且操作也能更快。
但其中最重要的两个挑战是:
- 数据可用性 :因为该方案仅将批量交易的整体哈希值发布到 Layer 1 上,而不是每一笔交易均发布到底层公链,所以具体的交易数据不存在 Layer 1 上,用户需要自己存储具体的交易数据。
- 用户体验差 :为了避免恶意攻击,Plasma 在设计挑战期的机制的时候,用户需要定期上线网络,否则可能错过而遭受不必要的损失。
Plasma的技术细节并不简单,感兴趣的可以看看“深入理解Plasma系列”以及该方案的论文
Rollups
Plasma 和状态通道是“完全”的Layer2,因为其将数据和计算都移至链下。然而,这意味着这些方案不一定对于所有应用来说都是安全的(围绕“数据可用性”的基本博弈论问题)。Plasma 和通道方案的解决方式是依靠所有者完全知晓状态,但这也使得此类方案无法完全通用化。研究人员逐渐发现 Plasma 以及改进版本 Plasma Cash 存在的不少问题,制约了 Plasma 的发展。在 Plasma 诞生的一年后,名为 Rollup 的技术浮出水面。无论如何,如今研究以太坊扩容技术的开发社区,已经将更多精力切换到研究 Rollup 了。
Rollup是一种“混合型”的Layer2,将计算 (以及状态存储) 移至链下,但将每笔交易的一些数据放在链上。为了提高效率,这类方案借助了许多复杂的压缩技巧来尽可能的使用计算替代数据。虽然系统的扩容仍然受到底层区块链的数据带宽限制,但比较来看仍十分优秀:以太坊Layer1中 ERC20 代币的转移成本约为 45000 gas,而 Rollups 中的 ERC20 代币仅转移占用 16 字节的链上空间,成本不到 300 gas。
为了解释数据可得性,我们来打个比方。想象一下,我们正在参加数学测试,老师给我们每人发了一张卷子,上面列了 100 道计算量很大的除法题,我们的任务是解出尽可能多的题。但是,我们只能将最终的解和每个计算步骤写在一张答题纸上。几分钟后,我们就发现刚刚完成几道题之后,这张答题纸就已经被填写的满满当当了。其实在区块链中,这个答题纸就是以太坊区块,算术题就是智能合约交易。以太坊目前非常拥堵,每个区块内要包含的交易太多了。更糟糕的是,绝大多数交易都是计算密集型的,例如闪电贷和通过聚合器路由的交易。直到 Rollup 出现,将计算转移到链下,只将最少的事务数据存储在链上。从这个基本意义上来讲,Rollup 就是以太坊的草稿纸,将智能合约计算转移到链下,只将最少的事务数据存储在链上。即就 Rollup 而言,只有计算(数据处理)会被转移到链下。Rollup 所处理的每笔事务的输入数据(即 “调用数据”)仍存储在以太坊上。这意味着永恒链上数据可得性,Rollup 上的任何一个计算都可由以太坊基础层重复执行校验,从而引入了内置审查流程。
Rollup 链和传统区块链之间的主要区别在于出块方式,区块链由参与方通过共识创建区块,而在 Rollup 上,实际只有一方负责处理交易和生成区块,通过出块方面的中心化特性来提高效率。
Rollup如何工作
Rollup在链上有一份智能合约用来维护状态根,即 rollup 状态的默克尔根 (rollup 内部的账户余额等等)。
任何人都可以发布一个汇总交易 (batch),这是一个高度压缩的交易集合,其中包含之前的状态根、新状态根 (处理交易之后的新默克尔根)以及该组交易。该合约会检查汇总交易中的旧状态根是否匹配其当前的状态根,如果匹配的话,合约会对状态根进行更新。
为了支持存款和提款,我们增加了输入和输出在 rollup 状态“外部”的交易的功能。如果一个 batch 中包含来自外部的输入,则提交到该 batch 的交易也需要将资产转移到 rollup 合约。如果一个 batch 中包含来自外部的输出,则智能合约在处理该 batch 时会发起提款,这便是 rollup 的工作原理。
但还有一个重要的问题:**如何得知 batches 里的后状态根 (post-state root) 是正确的呢?**如果某人能够提交一个具备任意后状态根的 batch,而无需承担任何后果那么他完全可以将 rollup 中的所有代币都转移给自己。为了解决这个问题诞生了两种不同的解决方案,从而衍生出了两种不同的 rollups。
-
Optimistic rollups:其解决方案为欺诈证明 (fraud proofs),“乐观地” 假设这些交易都是有效的,如果任何人发现某个 batch 的后状态根不正确,他可以发布一个证明,证明该 batch 计算错误,合约会对证明进行验证,对提出者进行激励并且对该 batch 及其之后的 batches 进行回滚。
-
ZK rollups:其解决方案为有效性证明 (validity proofs):每个 batch 都包含ZK-SNARK证明 (例如使用 PLONK 协议),以证明后状态根是正确执行 batch 的结果。无论计算量有多大,该证明都能在链上得到极速验证。
特性 | Optimistic rollups | ZK rollups |
---|---|---|
每 batch 的固定 gas 消耗 | 约 40,000 (轻量交易,主要只是改变状态根的值) | 约 500,000 (验证 ZK-SNARK 所需计算量较大) |
提款期 | 约一周 (提款存在延迟,需要留出时间提交欺诈证明,如果发生欺诈需要取消提款) | 极快 (只需要等到下一个 batch) |
技术复杂度 | 低 | 高 (ZK-SNARK 是一种非常新的技术,并且数理复杂) |
通用性 | 易达成 | 较难达成 (使用 ZK-SNARK 证明的通用 EVM 执行相较简单计算证明难度更大) |
每笔链上交易的 gas 消耗 | 较高 | 较低 (如果一笔交易中的数据只用作验证,不引发状态改变,那么能够省去该数据,在 optimistic rollup 中则需要发布,因为有可能在欺诈证明中需要对其进行查验) |
链下计算成本 | 较低 (尽管需要大量全节点重新进行计算) | 较高 (专门针对通用计算的 ZK-SNARK 证明可能会很昂贵,比直接运行计算可能要贵数千倍) |
总的来说Vitalik认为:在短期内,optimistic rollup 的显著优势在于其通用的 EVM 计算,而 ZK rollup 更可能被用于支付、交易和其他特定用例。但中长期来看,随着 ZK-SNARK 技术的成熟,ZK rollup 会在所有用例中发挥出优势
Optimistic Rollups
Optimistic Rollup由Consensys研究人员John Adler在2019年7月的以太坊基金会研究论坛上提出,能够将Tps提升至3000,以太坊Layer 1能够较好地兼容基于Optimistic Rollup的DeFi应用。
正如上述所言,Optimistic rollup 的安全性保障在于如果有人在 rollup 中发布了一个无效的 batch,其他任何跟进该链的用户监测到欺诈行为都可以发布欺诈证明,向合约证明该 batch 的无效性,进行回滚并获得奖励。因此即使所有参与者都是恶意的,只要他们不是完全相互勾结,欺诈就不能成功。
那么如何证明欺诈呢?根据和L1交互程度的不同,分为交互式欺诈证明和非交互式欺诈证明。
非交互式欺诈证明
我们以Optimism为例说明非交互式欺诈
其欺诈证明原理较为简单,将L2中执行的交易在L1中再完整执行一次,以确定状态根hash是否一致来判断欺诈行为。
当发布者发布信息到L1上(交易信息和新旧整体根hash), L1中的智能合约收到后会默认变更state为新的根hash,这时挑战者提出挑战,挑战者需要提供符合旧根hash的merkle状态树,L1智能合约通过旧的状态树执行完整的交易流程得到根hash和发布者提供的新根hash比较,不相等则说明有欺诈行为。
但是重新执行时会遇到一个问题,区块相关的属性会因为执行环境不同而发生变化。如block.timestamp
会获取当前区块的时间戳,但由于合约执行的环境不同得到的时间戳大概率是不一样的,Optimism通过OVM来解决这一问题的,由于篇幅有限这里就不再展开。
交互式欺诈证明
我们将以Arbitrum为例说明交互式欺诈
由挑战者和发布者在L2上进行多轮挑战,最终挑战者锁定具体哪条指令具有欺诈性,由L1进行裁决。L1只需要执行存在争议的最小指令即可。
假设X是发布者 发布从状态A经过N条指令转移到状态B Y是挑战者。Y向X提出挑战,要求给出经过 N/2条指令处的状态,X给出状态后,Y会自行验证是否正确。如果验证正确,则代表前N/2指令执行无问题,问题在后N/2,如果验证错误,则代表前N/2条指令执行就有问题。Y继续向X询问存在问题的指令区间N/2处状态,循环往复,直至找到有问题的指令(即执行指令前的状态无法通过执行指令得到执行指令后的状态)。
在实际应用中Arbitrum不是使用二分的方式,而是使用了K分,即每次将N个指令分为N/K组去寻找欺诈指令,效率更高。
Arbitrum 设计 AVM和EVM不同的核心点在于:AVM不仅仅要支持EVM完全兼容的执行逻辑,还要支持交互式欺诈证明的证明逻辑。证明过程中,要保证当前程序计数器中指令的正确性。这时采取了类似区块链的做法,PC(当前的程序计数器位置)不仅存储操作码,而且存储PC+1处的hash值,这样就可以在指令执行过程中验证每个指令是否正确。
总结
非交互式欺诈证明 | 交互式欺诈证明 | |
---|---|---|
EVM兼容性 | 无法做到完全兼容由于OVM使用虚拟化技术解决L1和L2运行环境不一致的问题,那么必然就会导致一部分在L1运行的智能合约代码到OVM运行时需要进行修改 | 可以完全兼容 |
处理成本 | 存在欺诈行为时由于非交互式欺诈证明需要在L1完全重新执行所有交易,所以会耗费大量gas费用。 | 存在欺诈行为时交互式欺诈证明只需要在L1执行有争议的1条指令,所以gas费用很少。 |
复杂合约的支持 | 由于合约需要在L1上重新执行,合约复杂度不能超过L1对合约复杂度的限制 | 可以支持更复杂的合约。 |
由上述对比来看交互式欺诈证明除了实现难度较高外,主要特性都优于非交互式欺诈证明。具有代表性非交互式欺诈证明使用者Optimism也准备切换到交互式欺诈证明。
但欺诈证明存在一些问题,比如:
- 其具有较长的提款周期,需要足够多的时间让挑战者提出挑战(资产从Layer 2返回至Layer 1时,Optimistic需要2周时间)
- 资金可能会被冻结。如果验证者认为结果是欺诈性的,它很容易被主链冻结资产
以上介绍的是Optimistic Rollup如何通过链上执行的方式在以太坊等区块链上运作的。其实,Optimistic Rollup也可以作为具备客户端执行功能的应用在 LazyLedger 等项目上实现,欺诈证明将通过点对点网络传播而无需发布到智能合约上。
ZK-Rollups
ZK-Rollups最初由以太坊基金会高级研究员Barry WhiteHat于2018年提出, 使用零知识证明将许多笔链下交易捆绑成一笔可验证的交易批次。然后将这些较小的证明将被发布到以太坊 L1 上。
当发布者发布交易到L1上时,需要将交易以及L2状态打包交给一个证明生成服务,证明生成服务经过大量运算,生成这次发布的证明。证明服务将证明发送给L1的验证服务。同时发布者将状态根hash值提交到L1,L1中接收到根hash值会询问L1上的验证服务,验证服务根据证明验证根hash值是否正确,如果正确L1会将状态根切换成新的hash值。
在这个过程中本来验证状态树的根hash是需要前一次完整状态树执行这次发布的所有交易得到新的交易树,从而计算新的根hash值,最终根据发布者提供的根hash值和新的hash值进行比较判断发布是否合法。但由于引入了zk证明,我们不需要知道具体的状态和交易就可以判断hash值是否正确,这就是零知识证明在以太坊扩容的应用。
ZK Rollups 旨在通过将大量资金转移集中在单个交易中来提高可扩展性。Plasma 每次发生资金转账时都会创建一笔交易,而 ZK-Rollups 将数百笔转账捆绑到一个交易中。
与 Optimistic Rollup 相比,ZK Rollup 具有更高的事务压缩率。这反映在它通过零知识证明来验证交易数据包的真实性这一事实中,运营商能够在不向验证者提供任何有用信息的情况下让验证者相信断言是正确的。过程如下
- 用户转入并锁定资产,Layer 2 增加账户资产信息。
- 在 Rollup 网络中,用户签署和发送交易。
- 运营商收集交易,批量打包并生成零知识证明。
- 运营商将交易包和零知识证明广播到主链。
- 智能合约通过零知识证明验证交易包的真实性,更新值并执行转账操作。
优点:
- 实现去中心化
- 上行效率高
- 更高的事务压缩率
- 验证效率高,无验证等待期
- 更好的安全性和隐私性。零知识证明不泄露交易细节,ZK Rollup 技术确保提交给主链的数据真实有效。
缺点:
- 由于零知识证明生成的复杂性,目前 zk-rollups 系统仅局限于简单的转账。
- 应用定制开发难度大,兼容性低。前Layer 1现有智能合约系统对ZK Rollup的支持度很低,使用ZK Rollup技术的DeFi应用开发者,需要开发出专门的智能合约来与Layer 1匹配,而且不同DeFi团队开发的ZK Rollup智能合约不具有通用性。
基于此方案的项目:
Validiums
Validiums 也依赖于零知识证明来批处理和执行交易。但Validiums 交易数据存储在链下,不同于 ZK-Rollups 的数据存储在以太坊 L1 链上。
这种动态特征使得 Validiums 这种扩容方案具有很高的性能,但同时也在一定程度上使这种方案具有托管性质 (即 Validiums 的运营商可以冻结或者没收用户的资金)。
基于此方案的项目:
-
DeversiFi (去中心化交易所)
-
Immutable X (一个以 NFTs 为中心的 L2 网络)
-
Sorare (一款梦幻足球游戏)
Volitions
Volitions 是一种混合式扩容解决方案,让用户能够在ZK-Rollup和Validium之间进行选择。
在实践中,这意味着 Volitions 的用户可以在Layer2执行交易,同时可以自主选择数据保存在Layer1上还是Layer2上。
Layer2与侧链
2021年5 月 16 日,以太坊扩容解决方案 Polygon 的市值跻身加密货币市值前 20,随后 StarkWare 的联合创始人 Uri Kolodny 转推祝贺,但同时他强调:「Polygon 是侧链,而不是 Layer-2。L2 的安全性依赖于以太坊,而侧链的安全性与以太坊的不相关 (甚至更低)。」至此社区围绕 Polygon 到底是不是 L2 开始了激烈的讨论。
以太坊侧链是与以太坊主链并行运行的独立区块链网络。侧链通过双向挂钩系统连接到主链,允许资产在链之间进行交换。当一条链依赖于另一条链(如以太坊)时,可以认为是这条父链的子链。通常,子链不会创建自己的资产,而是从父链中转移资产。
因此,侧链可以作为以太坊 L1 的外部执行层,即便侧链并没有直接继承以太坊 L1 的安全性保障,但一些侧链项目,比如 Polygon 的侧链通过向以太坊提交检查点 (checkpoints)模糊了这种区别。
一般来说我们认为,侧链与Layer2解决方案的主要区别在于,layer2继承以太坊主网络的安全性,而侧链依赖于自身的安全性。
但侧链能否像前集中方案一样汇总归入Layer 2,目前尚无定论。其实,有些侧链其实并不像 Rollup 那样存在审查流程,而是另有一套独立的共识机制来处理交易。侧链可以直接赋予交易终局性,而 Rollup 上的交易要等到以太坊Layer1确认后才能获得终局性。因此,侧链需要更多信任假设,因为它们无法从以太坊的去中心化安全性中受益。事实上,从笔者的观点来看,侧链更像是兼容 EVM 的 Layer 1 ,而非类似于Rollup的Layer2。
总结
本文主要介绍不同layer2的基本原理。其实Layer2是一个很大的主题,无论是向下的具体技术实现,还是向上的各个生态发展与机遇,之后再具体深入介绍,这里额外放置一些链接作为补充。
Layer2相关项目介绍可参考👉《Layer 2的未来:有哪些值得关注的项目?》
从开发者与用户视角看Rullup👉《Rullup 的用户体验》
关于 Optimism 网络使用可参考👉《L2 热潮来袭!如何使用 Optimism 网络?》
ZK Rollup生态👉《万字长文捕获 ZK Rollup 时代价值》
综上,我们不难发现Layer2解决方案中的核心是为各方创造激励以使之相互竞争或彼此检查,由于我们激发了另一方出示证实错误信息的强烈动机,因此区块链应用程序可以假定某个给定的声明是正确的,从而实现效率的提高。比如:在状态通道方案中,就是通过给各方一个“反驳”对方的机会,来确定通道的最终状态。在 Plasma 方案中,就是如何管理欺诈证明和提现。
在layer2的发展过程中,“制衡”是不变的主题。我们渴望区块链在中心化与高效之间达到一种更完美的平衡,同时又不希望作恶的参与者对系统造成严重的攻击。Layer2方案具有一定的中心化,但审核机制的存在使得以太坊的共识机制仍是真正意义上的最终仲裁者。
ETH的扩容之路依然漫长,但回首过去几年,已经有无数奇妙的创新在这里产生,未来的发展让我们一起拭目以待!
参考文章
An Incomplete Guide to Rollups- Vitalik
Do we still need state channels?
Making Sense of Ethereum’s Layer 2 Scaling Solutions: State Channels, Plasma, and Truebit
以太坊Layer 2(侧链)生态项目汇总,继OP之后下个龙头何时出现
Optimistic Rollups for the Rest of Us