首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

揭秘Foresight Ventures:Layer 3 一文读懂

有个朋友想让我分析一下Layer3哈 我就查了一些资料 准备深入解读了一下

文章有点长

下面正文开始

一、从 Layer 1 到 Layer 3 

Layer 1 是底层区块链。Ethereum、Bitcoin、Solana等公链都是 Layer 1 区块链,它们是区块链网络的基础,各种 Layer 2 都搭建在这些公链之上。

Layer 2 指以太坊扩容方案。各条 Layer 2 链都是单独的区块链,在保证安全性的基础上提升交易速度和 TPS。比如 Zksync、Starkware、Arbitrum、Optimism都是不同的 Layer 2 解决方案。

那什么是 Layer 3?

Layer 3的目标是在Layer 2的基础上进行更加个性化的设计,解决Layer 2目前无法实现或难以实现的功能。这些功能包括定制化扩容隐私保护,通过这些功能可以降低成本并提高效率。

不过,Layer 3的概念目前还处于早期阶段,因此现在下结论显然是不合适的。要确定Layer 3的最终形态,需要通过开发者的探索、实战检验和实际需求来不断完善和优化。

目前已经有很多大佬们提出了相关的设计思路,其中之一是StarkWare(斯塔克韦尔)提出的多层网络结构图。我将进一步分析和总结这些思路,帮助大家更好地理解Layer 3的概念。

二、StarkWare 提出的多层网络结构

以太坊多层网络的实践设想最早由 StarkWare 团队在文章

"Fractal Scaling: From L2 to L3"中提出。

在这种设计中,现在的 Layer 2 是一种general purpose (一般用途)的扩容,在此之上,Layer 3 做定制化的扩容。下面我会对图中提到的方案逐个分析(从左到右)。

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

在Layer 2的解决方案中,我们已经熟悉了一种称为Validium(维迪乌姆)的技术。它使用SNARK(斯纳克)算法对计算结果进行验证,数据不直接上传到Layer 1,而是依赖于由验证人托管的扩容方案。通过将数据存储在链下而不是直接发布到Layer 1,Validium降低了燃气成本,并提供了更好的隐私性(数据不对公众公开)。然而,从去中心化和安全性的角度来看,Validium依赖于第三方委员会来确保数据的可用性,这导致Validium的使用并不广泛。

StarkEx Volition(一个Layer 2的扩容方案)为Dapp提供了一种混合模式,可以根据需求选择将数据存储在链上以确保安全性(StarkEx Rollup),或者将数据存储在链下以获得更低的成本(StarkEx Validium)。

目前,StarkEx仍然是Layer 2的扩容方案,但在StarkWare未来的架构设计中,StarkEx完全可以成为打开Layer 3大门的途径,通过在StarkNet通用扩容的基础上进一步降低特定Dapp的成本。

 2.App-specific StarkNet —> 定制化扩容

Layer 2的电路设计旨在为所有Dapp提供服务,这意味着工程师在设计电路时首要考虑的是兼容性。因此,现有的电路设计在一定程度上牺牲了效率,并没有针对特定的Dapp进行优化。

这对于那些注重强交互性的Dapp来说,比如注重游戏体验和实时玩家交互的Web3游戏,可能成为一个瓶颈。

为了解决这个问题,我们可以引入一个名为"App-specific StarkNet"的概念,即定制化的StarkNet。这样的设计可以帮助那些对性能要求较高的Dapp,以定制化的方式进行电路设计,从而实现更高的性能。

在这种场景下,Layer 2的解决方案可以解决用户编程和可组合性的问题,而Layer 3可以提供更高性能的定制化服务给项目方。举个例子,一个Dapp可能并不需要与其他Dapp共享电路资源,而是需要定制化的电路设计,或者利用Layer 3提供的高效存储结构和数据压缩服务。

 3.StarkNet(Validiums)—> 低成本扩容

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

 4.Privacy StarkNet —> 定制化功能

实现隐私功能在某种程度上也可以看作是针对特定Dapp的定制化设计

虽然ZK-rollup在隐私方面表现友好,但出于去中心化和安全性的考虑,用户的交易数据仍然需要经过压缩后通过calldata发布到Layer 1作为历史记录,以便所有用户都可以成为验证者进行验证。因此,以扩容为目的的rollup并不能实现完全的隐私性。

这就是Layer 3可以很方便地解决的问题。对于那些对隐私性要求非常高的用户,可以在rollup甚至rollup of rollup的基础上定制化地实现隐私功能。

在Layer 3中,可以采取各种技术手段来增强隐私性。例如,引入加密技术、零知识证明等方法,使得交易数据在传输和处理过程中得到更好的保护。同时,Layer 3可以提供更高级别的隐私保护,使得用户的交易数据不会被公开,只有特定的参与者才能获得相关的信息。

通过定制化设计,在Layer 3中可以为那些对隐私性需求较高的Dapp提供更强大的隐私保护功能。这使得用户可以更加放心地进行交易和使用Dapp,不必担心他们的交易数据会被公开或泄露。

三、Again,什么是 Layer 3 ?

看完以上分析,Layer 3 应该已经不那么抽象了,下面总结一下这种 Layer 3 的设计到底想解决什么问题,帮助大家进一步建立对 Layer 3 认知。

 1.Vitalik 的设想

L2 is for scaling, L3 is for customized functionality.

(L2用于缩放,L3用于定制功能)

L2 is for general-purpose scaling, L3 is for customized scaling

(L2为通用缩放,L3为定制缩放)

L2 is for trustless scaling (rollups), L3 is for weakly-trusted scaling (validiums)

(L2 用于无信任扩展(rollups),L3 用于弱信任扩展(validium))

2.进一步解读

Layer 2 作为 general purpose 的扩容解决方案,那么对于 Layer 3 的设计可以放下单纯的扩容,去定制化地做一些 Layer 2 无法轻易实现的功能,比如 privacy;

Layer 2 中 ZK-rollup 设计考虑了通用和兼容性,为整个生态提供一种通用的扩容解决方案。因此在 ZK(E)VM 的设计上或多或少牺牲了 ZK-friendly。那么 Layer 3 可以针对不同应用做进一步扩容。举个例子,在 ZK 场景下,一些应用可以通过更加定制化的电路设计来获得更好的 performance;

Layer 2 中 ZK-rollup 在扩容的同时需要保证 Data Availability,在 cost 上做了妥协。因此,Layer 3 可以用于低成本扩容,为不同开发者提供更多扩容方案,比如 Validium 就是一个很好的选择。

 3.第二点和第三点中 Layer 3 都是在做进一步扩容,有什么区别?

我认为两者是截然不同的,并且解决了现在 Layer 2 不同的痛点。第二点中的定制化扩容旨在提升性能,而第三点中提到的则是一种更加general purpose的低成本扩容方案。

 4.小结

以上都可能是之后 Layer 3 发展方向,并且也不会限定在某一种形态。一些 Dapp 会需要提供隐私功能的 Layer 3 ,一些 dapp 会受益于低成本的扩容,一些 dapp 会因为定制化的 Layer 3 带来 performance 的提升。总之,Layer 3 会在 Layer 2 的基础上进一步提升性能,创造更多可能性。

四、是否需要 Layer 3 ?

看到这你可能会产生两个疑问

既然 Layer 3 这么牛逼,是不是可以继续往上继续叠加 Layer 4、Layer 5、Layer 6 …以达到更好的扩容效果?

以上提到的 Layer 3 的用途都可以通过二层网络结构实现。看下面这张 Vitalik 给出的架构对比图,把上述 Layer 3 的结构直接架在 Layer 1 上只作 Layer 2 也没什么问题。

Validium 还是能进行低成本扩容,定制化的电路设计也能为特定的项目方提供更好的 performance,打造一条隐私链也合情合理。

那么为什么要多此一举地在 Layer 2 之上再做一层拓展?

从扩容和必要性的角度逐一分析

 1.真的可以无限扩容吗?

当然不行。

实现隐私功能需要在计算层数据层上考虑。

在计算层,可以将Layer 3的ZK-rollup生成的零知识证明(ZKP)发送给Layer 2的ZK-rollup,在Layer 2中继续使用ZKP证明Layer 3的一系列ZKP,并将其发送给Layer 1进行验证。

在数据层面需要注意的,除了计算,我们还需要考虑数据的存储。

Rollup链仍然需要将交易数据发送到Layer 1,以确保数据的可用性,使用户能够通过验证数据的proof来验证其真实性。虽然在计算时可以使用一个ZKP来证明一系列ZKP,但是数据本身无法在压缩后继续进行进一步的压缩。

即使可以进行进一步压缩,也不需要引入一个Layer 3来完成这个过程,只需在Layer 2中对压缩后的数据使用类似的方式进行进一步压缩即可。

因此,从数据可用性的角度来看,继续叠加Layer并不能明显提升可扩展性。

可以参考 Vitalik 提到的:“There's always something in the design that's just not stackable, and can only give you a scalability boost once - limits to data availability, reliance on L1 bandwidth for emergency withdrawals, or many other issues.”

(设计中总有一些东西是不可堆叠的,并且只能为您提供一次可扩展性提升 - 数据可用性的限制、紧急提款对 L1 带宽的依赖或许多其他问题)

 2.二层还是多层网络?

我认为二层网络是当前的最佳解决方案,但未来属于多层网络。

分析这个问题,我们需要明确 Layer 3 的价值是什么。

五、Layer 3 的价值

4 个字概括:降本提效

 1.深入分析成本

我认为 Layer 3的架构给我们带来的最大想象力在于成本优化方面。尽管未来可能会出现更多针对成本优化的Layer 3的杀手级设计,但成本问题始终是我们需要直面的一个话题,也是设计Layer 2的初衷。

从降低Gas费用的角度来看,现在的Layer 2的Rollup无法以理论速度在极短的时间内(比如在以太坊出块时间的12-14秒内)将Rollup链上的交易打包成批次并提交到Layer 1进行验证。这主要有以下两个原因:

首先,将批次提交到Layer 1会产生较高的成本。根据Vitalik的说法,每个批次的成本超过了400,000个gas。

其次,Rollup链在单位时间内能够打包的交易数量是有限的。

简单说就是,提交 batch 存在基础成本,因此每个 batch 打包的交易越多,每笔交易分摊的 gas fee 越低。

因此 rollup 的设计需要权衡打包交易的时间间隔(用户体验)和每笔交易分摊的费用(用户成本)。如果过快地打包交易并提交 Layer 1 ,会增加分摊到每笔交易上的 gas fee;过慢则会增加 confirmation time,影响用户体验。

2.Layer 3 可能带来哪些优化?

如果我们考虑加入 Layer 3 ,比如在 ZK-rollup 的基础上再加一层 ZK-rollup 会极大地降低这提交 batch 到 Layer 1 的基础成本(一个 ZKP 证明一堆 ZKP,减少数据 size)。根据 Vitalik 的估算,提交一个 batch proof 到 Layer 1 的成本约为 8000 gas。

接下来用简单的数学计算帮助大家更加直观的理解成本问题;

已知:

分摊到每笔交易的 gas = transaction cost + batch cost / transaction amount

以上等式中,transaction amount = TPS * confirmation time

假设在理想情况下:

batch cost = 400, 000 gas(实际情况会更高)

transaction cost = 368 gas(Fully optimized ERC 20 transfers)

TPS = 5 (Layer 2 均值)

- 当前 Layer 2 的 gas 情况:

confirmation time = 12 s(以太坊出块时间)

分摊到每笔交易的 gas = 368 + 400000 / ( 5 * 12 )= ~7035

confirmation time = 1 h

分摊到每笔交易的 gas = 368 + 400000 / ( 5 * 3600 )= ~ 390

在当前二层网络的设计中,分摊到每笔交易的 gas 对打包 batch 的间隔时间(也就是用户感知到的 confirmation time)非常敏感,且将 confirmation time 控制在一个较短的时间窗内带来的成本非常高。

- 加入 Layer 3 的 gas 情况:

confirmation time = 12 s(以太坊出块时间)

分摊到每笔交易的 gas = 368 + 8000 / ( 5 * 12 )= ~501

confirmation time = 1 h

分摊到每笔交易的 gas = 368 + 8000 / ( 5 * 3600 )= ~ 368

3.关于成本的思考

在 Layer 2 的基础上 Layer 3 有明显提升,将 confirmation time 从 12 s 延长到 1 h(每个 batch 打包更多交易)并没有带来显著的 gas 收益。

同时 Layer 3 的设计几乎可以在一个较短的 confirmation time 内( 12 s)达到当前 Layer 2 花费一小时 confirmation 的 gas 成本。

在保证用户体验的前提下极大降低了成本

另外,我认为容易被忽视的一点是,由于 batch cost 的降低导致 transaction amount 的增加同样不会为每笔交易带来太多 gas 成本的收益。

因此,Layer 3 从这个角度看也更适合去做app-specific、定制化的设计(不依赖于大量的交易来抵消高昂的 batch cost)。

 4.浅谈一下效率

和成本一样,我认为做多层网络结构的原因一定躲不开提升效率,抛开成本和效率谈结构设计有多 fashion 没有任何意义。

我们知道 wrapped token 的实现降低了 Layer 2 之间的互操作成本,但是效率上仍然有待提升,我们简单算一下为什么:

- Optimistic-rollup —> 14 天!

由于 fraud proof time,一个 rollup 链存(~ 7 天)另一个 rollup 链取(~ 7 天),~ 14 天的验证期仍然无法避免;

ZK-rollup —> ~ 12 h

避免了 fraud proof time 的漫长等待,相比 Optimistic-rollup 更快,但是有以下两个问题:

目前 Layer 2 的 ZK(E)VM 需要做到 one Virtual Machine fits all Dapps,因此设计上妥协了一些 ZK-unfriendly 的设计,导致 proof 在生成时候需要额外的时间处理无法并行计算的指令

在分析成本时提到过,出于对打包交易的时间间隔和每笔交易分摊的费用的权衡,当前的 ZK-rollup 无法在短时间打包交易到 Layer 1 (否则 gas 太贵用户不干)。

- 加入 Layer 3 之后

Layer 3 的思路就是定制化扩容、app-specific scaling,因此,ZK-rollup 生成 proof 这部分额外花费的时间会得到最大程度的优化;

Layer 3 的设计可以将跨链的交易成本降低基础上保证效率。相比于二层网络结构,无需经过 Layer 1, which is expensive and congested。

5.重新审视 Layer 3

综上所述,这种 Layer 3 的设计就好像是在 Layer 1 安全性的基础上,以 Layer 2 为核心搭建出了无数子生态。

我认为一定程度上,多层网络架构进一步将 Layer 1 的功能隔离,让 Layer 1 专注于保障交易安全性,将计算等功能转移到每个子生态系统中。

六、另一种 Layer 3 的思路

Vitalik 提出了一种新的架构设计思路,在我看来也可以算作一种多层网络架构的设计(你也可以把它看成一种二层网络结构),非常值得分析和思考:

Layer 1: base layer

Layer 2: batch mechanism

Layer 3: rollup、validium

1.对这种架构的解读

在现在的 Layer 1 和 Layer 2 之间插了一个(聚合+验证+分发)层。

在这种设计中,一个批处理机制的结构作为开放式协议的形式成为架构中的Layer 2。我们目前熟知的Layer 2(例如ZK-rollup)可以接入这个协议,成为一种Layer 3。

整个批处理机制的核心包括以下两点:

批处理证明生成器(Batch prover):它将来自加入批处理机制的各个ZK-rollup的多个证明进行聚合,并记录所有的新状态(New state)、旧状态(Old state)和状态变化(State delta)。

批处理处理器(Batch handler):它只需要验证一次经过聚合的证明。验证成功后,它将(New state, Old state, State delta)作为验证成功的证明发送给相应的Rollup链(即Layer 3),用于更新状态。

2.Again,Layer 3 的价值

在这种设计中,与当前Layer 1的验证合约验证不同Rollup链发送的批处理证明并更新状态相比,新的架构将Gas成本在各个Rollup链之间进行了分摊。

根据Vitalik的描述,分摊后的Gas成本仍约为8000。

因此,这种Layer 3的设计在成本方面也提供了很大的价值。

在安全性方面,这样的结构设计使得Layer 2(批处理机制)成为一个用途明确、结构简单的中间层,从而在安全性和最小化治理方面具有天然的优势。

值得一提的是,StarkWare的SHARP正在进行类似的实现,递归证明的方式使得证明可以提交到Layer 2的StarkNet上,为进一步实现Layer 3创造了可能性。

七、对 Layer 3 未来的思考

终于到结尾了 我来谈谈我对Layer3未来的思考

当前的二层网络已经成为解决方案中的最佳选择,但我相信未来会出现更多层次的网络结构,即多层网络将成为未来的趋势。

根据目前对Layer 3的设想,零知识(ZK)相关技术对于Layer 3的发展将起到重要推动作用,并且未来Layer 3的底层技术可能会离不开ZK甚至基于ZK技术。因此,在ZK领域的探索对于Layer 3的发展非常关键。

需要明确的是,Layer 3的概念目前仍处于早期阶段,未来的发展方向有很多可能性!但总的来说,Layer 3的出现将是由成本和效率驱动的。它不会改变Layer 2作为通用扩容解决方案的地位,而是在Layer 2的基础上更加定制化地满足特定需求。

Layer 3的发展离不开稳固的Layer 2基础。因此,持续推进现有Layer 2生态的繁荣和底层技术的进步仍然是非常重要的。只有在Layer 2基础上取得扎实的进展,Layer 3的发展才能更加稳健。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20230627A04RIW00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

相关快讯

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券