Bupt3分享16-Layer3 拆解

Hacker Dōjo Workshop
资助金额:100 USDT
分享者:北邮在读硕士 Syshems
本项目由Hacker Dōjo资助,文章转载请联系
Telegram: @DoraDojo0
WeChat: @HackerDojo0

Layer3 希望在 Layer2 的基础上完成更加定制化的设计,解决目前 Layer2 无法实现/实现起来比较困难的功能(包括定制化扩容、Privacy 等),从而进一步降低成本,提升效率。目前,Layer3 的想法还在非常早期阶段,本课题旨在从技术角度分析当下 Layer2 面临的困难,通过分析 StarkWare 的多层网络方案,探索 Layer3 的可行性和必要性,并展开对未来的思考。

一、Fractal Scaling: From L2 to L3

Layer3 的概念最早是由 StarkWare 团队在文章《Fractal Scaling: From L2 to L3》中提出。 StarkWare 团队认为,这种层级化的结构,封装的思想,也正是计算机科学维持活力的核心要义。此外,现在的 Layer2 是一种 general purpose 的扩容,Layer2 可以作为通用的计算层,提供可组合性;在此之上,Layer3 作为应用特定链做定制化的扩容,满足不同应用独特的需求。

图灵完备性为层级化打下了良好基础,一旦具备图灵完备性,则理论上可以在其上创建任何可能的应用。

1、Recursive proofs

递归论证的逻辑很简单,就是当我们假设 Layer2 到 Layer1 的过程足够安全,那么上层的 Layer3 就可以把 Layer2 作为结算层,从而提升交易确认的速度和成本,同时仍然保留 L1 的安全性。(If each layer achieves, for example, 1000X in cost reduction, L3 can reach 1,000,000X reduction over L1)

1.1 L1-L2

  • Bridge contracts on L1:负责 Deposit/Withdraw
  • State contract on L1:监测 L2 的 state root
  • Verifier contract on L1:验证交易凭证的可信性
  • Token contracts on L2:作为 L1 合约的对手方

1.2 L2-L3

2、Main benefits

  1. Hyper-scalability:基于递归论证实现更好的可拓展性
  2. Better control:开发者可以实现更好的技术栈控制
    1. 更具确定性的性能和成本
    2. 定制化的数据可用性模型(例如,基于 Validum 储存链上数据,或 app-specific 的链上数据压缩)
  3. 隐私:例如基于零知识证明对公共 L2 上的数据做隐私保护
  4. 更便宜更快的 L2-L3 互操作性
    目前,L1 和 L2 之间 On/off-ramping flows 非常昂贵。基于 L2 的成本效益,L3 和 L2 之间的费用将会大大降低且易于实施。尽管资产在 L2 和 L3 之间移动的 latency 会更高,但成本和吞吐量是和 L2 的 dapp 之间类似的。
  5. L3 之间的互操作性也更快更便宜:
    由于 L3 之间的互操作性是通过 L2 来实现的,L2显然比L1便宜。如果没有L3,L2s 间的互操作必须通过相当昂贵的 L1 进行互操作。
  6. L2 的试验田:
    Polkadot 的 Kusama 被设计为一个更快、更灵活的网络,以便在 Polkadot 推出新功能之前进行测试;同样,L3 也可以作为 L2/L3 的试验田。

3、Fractal Layering

我们以 StarkNet 的 Fractal Layer 为例,L3s 将基于 StarkNet 去构建。同样,如果有 L4 的话,将基于 L3 的 Fractal Layer 去构建。

3.1 StarkEx Volition(rollup+validium)—> 低成本扩容

基于 SNARK 算法对计算结果进行验证,数据可以传回到 Layer1(Rollup的情况),或是依赖于validator 托管的扩容方案(Validium的情况)。由于数据存在链下而非直接发布到Layer1,Validium降低了gas成本并提供了更好的privacy(数据并不向public公开)。但是从去中心化和安全性的角度看,Data Availability依赖于第三方委员会,因此Validiums使用并不广泛。

现阶段 StarkEx 仍然是 Layer2 的扩容方案,但是在 StarkWare 后续的架构设计中,StarkEx 完全可以作为一种打开 Layer3 大门的通道,在 StarkNet 通用扩容的基础上进一步为特定的dapp降低成本。

3.2 App-specific StarkNet —> 定制化扩容

我们知道 Layer2 的电路设计是为了服务所有 Dapp ,这意味着工程师设计电路的首要考虑是兼容性。因此现在的电路设计一定程度上牺牲了效率,并没有针对特定的 Dapps 进行优化。这对于强交互性的 Dapp 来说是一种的瓶颈,比如注重游戏体验和实时玩家交互的 web3 游戏。App-specific StarkNet可以为帮助对性能要求较高的Dapp定制化地进行设计以达到更高的performance。

在这个场景下 Layer2 解决用户编程和可组合性的问题,而 Layer3 定制化地针对项目方提供更高的性能。比如一个 Dapp 不需要和其他 Dapp 共享电路资源,并获得定制化的电路设计,或是由Layer3提供更高效的存储结构会数据压缩服务。

3.3 StarkNet L3(Validiums)—> 低成本扩容

类似于 StarkEx Volition,在 Layer3中 将 Validiums 作为一种低成本的扩容方案,让一些对价格敏感的 Dapp 获得更低的成本。

3.4 Privacy StarkNet —> 定制化功能

对隐私功能的实现,某种程度上也可以看作app-specific design。虽然ZK-rollup对privacy友好,但出于去中心化和安全性的考虑,用户的交易数据仍需要在压缩后通过calldata发布到Layer1作为history log,让所有用户都可以成为 prover 进行验证。因此以扩容为目的的rollup并不能实现privacy。Layer3的能很方便的解决了这一痛点,对于一些强隐私需求的用户,定制化地在rollup甚至rollup of rollup的基础上实现隐私功能。

二、什么样的 Layer3 才有意义?

Vitalik 在 2022 年 9 月分享了他个人对于 L3 的看法,他回应了「如果我们可以构建一个锚定 L1 安全性的可拓展 L2 协议,那么我们是否可以构建一个锚定到 L2 安全性的可拓展 L3 方案,并在其之上增加更多可扩展性来扩大其规模?」的设想。他认为,简单堆叠的 Layer3s 概念却没那么容易形成可行方案。由于数据可用性的限制、对紧急提取的 layer 1带宽的依赖或许多其他问题,设计中总有一些东西是不可堆迭的,并且只能做到一次可扩展性的提升。

1、在 Rollups 上堆叠 Rollups 来获得可拓展性行不通

Rollup 扩容包含两方面:计算和数据可用性

  1. 计算:Fraud Proof 和 SNARK 可以完美解决计算问题,并且方案几乎可以无限制地扩展。它们依赖于极少数参与者来处理和验证每个块,要求其他人只执行少量计算来检查证明过程是否正确完成。尤其是 SNARK 的可拓展型是最好的;
  2. 数据可用性:但数据不一样。尽管 Rollup 采用的技术可以很大程度压缩数据的体积,但数据最终是需要回到以太坊的。rollup 仍然需要在保证用户能够访问和验证的介质中使数据在链上可用,以便用户可以独立计算 rollup 的状态,并在现有证明者脱机时作为证明者加入。数据可以压缩一次,但不能再次压缩(再次压缩的方法通常是将第二个压缩器的逻辑放入第一个压缩器中,并通过压缩前一次数据结果获得相同的好处)。

因此,尽管「计算」可以被多次处理来实现扩容,数据方面的可拓展性并不能通过简单堆叠获得好的增益。

2、什么样的 Layer3 才有意义?

Vitalik 认为以下两种方式的 Layer3 都是合理的,他们的目的并不是扩容而是实现 App-specific。

  1. L2 is for scaling, L3 is for customized functionality
    这个方案没有设想通过堆叠实现 scalability squared ,而是基于 stack 的层做扩容,另一个单独的层负责根据功能去做定制化。
  2. L2 is for trustless scaling (rollups), L3 is for weakly-trusted scaling (validiums)
    Validium 的安全性比rollup低,但可以便宜得多。Validium 目前是被低估的,实际上很多「企业级区块链」可以选用 Validium 定期提交 hash 到链上。

Vitalik 认为,**「**Specific L3 实现特定计算,L2 主要实现 EVM 兼容和特定 L3 数据的压缩」这类扩容,可以通过 Layer2 的简单开发来实现,因此并不需要使用 Layer3 。

但问题仍然存在:three-layer structure 是实现目的的最好方式吗?为什么不将实现「validiums、privacy、customized」目的的链锚定Layer1而是Layer2呢?

实际上,关于「三层模型允许该生态系统内的跨域操作可以非常便宜地发生」这个命题也是存疑的。事实证明,即使在两个L2s 甚至L3s之间,存款与取款也可以非常便宜。这其中的关键是代币和其他资产不必在以太坊上进行 tx 。这个才是方案便宜的关键原因。

3、Vitalik 的 ‘Layer3‘ 设想

From base layer <- rollup <- validium, to base layer <- batch mechanism <- rollup or validium。从建筑哲学的角度来看,这可能是正确的。但是有一个重要的区别:中间层不是一个复杂的完整 EVM 系统,而是一个简化和高度专门化的对象,因此它更有可能是安全和通用和治理最小化的,不会随着时间的推移而改变。

在 zkrollup 中,新状态是根据旧状态正确执行 TransactionData/StateDeltas 得来的,即:

image

在新的设想下,任何 ZK-rollup 都可以加入协议。任何一个 batch prover 都可以接收任何形式的 ZK-proof 并聚合,并退回一些用交易费作为补偿。最终把聚合的 proof 交给 batch verifier contract 进行统一验证,并把相应的结果发送给对应的 zk-rollup ,整个过程中保证 batch verifier contract 提供的证明是有效的。

这个方案的思路也很朴实,就是通过聚合交易的方式实现成本的降低。因为对于 rollup 来说,提交易到 Layer1 的「频次」和「成本」是成反比的。通过聚合多个 rollup 的交易,提升单次 calldata 的数据量,从而降低每笔交易平摊后的成本。

三、Layer3 发展现状

当前 Layer3 生态仍在早期阶段,但是随着各Layer2便捷发链工具的推出,相信很快就会有Layer3正式运行。当基础设施逐渐完善,如何吸引用户已经成为所有链最关注的问题。

1、Arbitrum Orbit

2023 年 6月22日,Offchain Labs 发布了用于发行 Arbitrum Orbit Chain 的工具。Orbit Chain 是在 Arbitrum Layer2 之上的 Layer3,可以选择利用 Arbitrum One, Arbitrum Nova, Arbitrum Goerli 在内的三条 Layer2 之一进行结算。用户可以自己选择使用 Rollup 或 Anytrust 技术,其区别在于Anytrust 使用 DAC 而不用将交易数据提交至链上,价格更低廉,但是安全性稍弱。Orbit Chain的优势在于其简单的发链流程、与Arbitrum生态的互操作性、Nitro的即时更新以及Stylus提供的EVM+兼容性(支持Rust, C, C++编写,运行在WASM虚拟机)。用户可以无需可地定制化发行任何Orbit Chain,但是必须在Arbitrum Layer2上结算,否则需要联系Offchain Labs或者Arbitrum DAO获得授权。

2、ZK Stack

2023 年 6 月26日,zkSync 发布文章,宣称将在未来几周内对现有的开源代码进行修改,推出ZK Stack,让用户能够使用其定制化构建自己的ZK超级链。与 Arbitrum 的 Orbit Chain 不同, ZK Stack 强调主权与互操作性,用户根据需求进行完全的定制化,使用 ZK Stack 构建的链可以实现无桥的互操作性。ZK Stack既能够用于构建Layer2也能够构建Layer3,官方并未对其进行限制,没有要求必须在zkSync上结算。从这点来看,ZK Stack提供的主权似乎更强。

3、Starknet Stack

作为最早提出 Layer3 概念的 StarkWare 团队,在其 Starknet 生态中也正在大力培植Layer3的发展,Madara正在为面向公众的Stack进行测试。在@PragmaOracle hackathon中,有团队利用Madara在24小时内完成了应用链的发行。不过,由于Starknet采用独特的zk-STARK证明技术,技术成熟度相对较低,可能还需要更长时间的开发来完善产品,之后再面向公众发布Starknet Stack。

参考

****Fractal Scaling: From L2 to L3:****Fractal Scaling: From L2 to L3. It’s layers all the way down | by StarkWare | StarkWare | Medium

**Foresight Ventures:**https://mp.weixin.qq.com/s/gD6w59n7Oko9axyYzpfWPQ

**Vitalik | What kind of layer 3s make sense:**https://vitalik.ca/general/2022/09/17/layer_3.html