作者:Yihan Xu@Foresight Ventures
Layer1是底层区块链。Ethereum、Bitcoin、Solana等公链都是Layer1区块链,它们是区块链网络的基础,各种Layer2都搭建在这些公链之上。
Layer2指以太坊扩容方案。各条Layer2链都是单独的区块链,在保证安全性的基础上提升交易速度和TPS。比如Zksync、Starkware、Arbitrum、Optimism都是不同的Layer2解决方案。
简单来说Layer3希望在Layer2的基础上完成更加定制化的设计,解决目前Layer2无法实现/实现起来比较困难的功能(包括定制化扩容、privacy等),从而进一步降低成本,提升效率。
但Layer3的想法还在非常早期阶段,现在下定论显然有失偏颇。Layer3的最终形态需要基于开发者探索、实战检验和实际需求。
现在有很多大佬已经提出了相关的设计思路,通过StarkWare提出的多层网络结构图(Layer3的其中一种构建思路),我会做进一步的分析和总结,帮助大家理清思路。
以太坊多层网络的实践设想最早由StarkWare团队在文章"Fractal Scaling: From L2 to L3"中提出。在这种设计中,现在的Layer2是一种general purpose的扩容,在此之上,Layer3做定制化的扩容。下面我会对图中提到的方案逐个分析(从左到右)。
在Layer2的方案中我们已经熟悉了Validiums,一种通过SNARK算法对计算结果进行验证,数据不上传Layer1而是依赖于validator托管的扩容方案。由于数据存在链下而非直接发布到Layer1,Validium降低了gas成本并提供了更好的privacy(数据并不向public公开)。但是从去中心化和安全性的角度看,Data Availability依赖于第三方委员会,因此Validiums使用并不广泛。
StarkEx Volition为Dapp提供了一种混合模式,可以选择将数据放到链上以保证安全性(StarkEx Rollup)或者放到链下以获取更低的成本(StarkEx Validium)。现阶段StarkEx仍然是Layer2的扩容方案,但是在StarkWare后续的架构设计中,StarkEx完全可以作为一种打开Layer3大门的通道,在StarkNet通用扩容的基础上进一步为特定的dapp降低成本。
我们知道Layer2的电路设计是为了服务所有Dapp,这意味着工程师设计电路的首要考虑是兼容性。因此现在的电路设计一定程度上牺牲了效率,并没有针对特定的Dapps进行优化。这对于强交互性的Dapp来说是一种的瓶颈,比如注重游戏体验和实时玩家交互的web3游戏。App-specific StarkNet可以为帮助对性能要求较高的Dapp定制化地进行设计以达到更高的performance。
我认为在这个场景下Layer2解决用户编程和可组合性的问题,而Layer3定制化地针对项目方提供更高的性能。比如一个Dapp不需要和其他Dapp共享电路资源,并获得定制化的电路设计,或是由Layer3提供更高效的存储结构会数据压缩服务。
类似于StarkEx Volition,在Layer3中将Validiums作为一种低成本的扩容方案,让一些对价格敏感的Dapp获得更低的成本。
对隐私功能的实现,某种程度上也可以看作app-specific design。虽然ZK-rollup对privacy友好,但出于去中心化和安全性的考虑,用户的交易数据仍需要在压缩后通过calldata发布到Layer1作为history log,让所有用户都可以成为prover进行验证。因此以扩容为目的的rollup并不能实现privacy。Layer3的能很方便的解决了这一痛点,对于一些强隐私需求的用户,定制化地在rollup甚至rollup of rollup的基础上实现隐私功能。
看完以上分析,Layer3应该已经不那么抽象了,下面总结一下这种Layer3的设计到底想解决什么问题,帮助大家进一步建立对Layer3认知。
第二点和第三点中Layer3都是在做进一步扩容,有什么区别?
以上都可能是之后Layer3发展方向,并且也不会限定在某一种形态。一些Dapp会需要提供隐私功能的Layer3,一些dapp会受益于低成本的扩容,一些dapp会因为定制化的Layer3带来performance的提升。总之,Layer3会在Layer2的基础上进一步提升性能,创造更多可能性。
看到这你可能会产生两个疑问:
当然不行。
从ZK-rollup的角度出发(相比optimistic rollup更贴近这个疑问),在计算层理论上可以将Layer3的ZK-rollup生成的ZKP发送给Layer2的ZK-rollup,然后在Layer2继续用ZKP证明Layer3的一堆ZKPs,并生发送给Layer1做验证。
需要注意的是,除了计算,我们需要考虑数据存储。Rollup链依然需要将交易数据发送到Layer1(ZK-rollup可以对数据进行压缩),来保证数据可用性,让用户可以通过数据验证proof的真实性。计算时可以用一个ZKP去证明一堆ZKP,但是数据没法压缩后继续压缩,就算可以,也并不需要一个Layer3来完成,只需要将Layer2压缩后的数据用这种方式进一步压缩即可。因此,从Data Availability的角度出发,继续叠Layer并不会在明显提升scalability。
可以参考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.”
我认为二层网络是当前的最佳解决方案,但未来属于多层网络。
分析这个问题,我们需要明确Layer3的价值是什么。
4个字概括:降本提效。
我认为这种Layer3的架构带来最大的想象力在于对成本的优化,或许随着技术飞速迭代,之后会有更多Layer3杀手级的设计,但成本永远是我们需要直视的话题,同样也是当初设计Layer2的原因。
从降低gas fee的角度出发,现在Layer2的rollup不可能以理论速度在极短的时间(比如赶在以太坊出块时间12-14s内)将rollup链上的交易打包成batch并(生成proof)提交到Layer1验证。原因有以下两点组成:
—> 简单说就是,提交batch存在基础成本,因此每个batch打包的交易越多,每笔交易分摊的gas fee越低。
因此rollup的设计需要权衡打包交易的时间间隔(用户体验)和每笔交易分摊的费用(用户成本)。如果过快地打包交易并提交Layer1,会增加分摊到每笔交易上的gas fee;过慢则会增加confirmation time,影响用户体验。
Layer3可能带来哪些优化?
如果我们考虑加入Layer3,比如在ZK-rollup的基础上再加一层ZK-rollup会极大地降低这提交batch到Layer1的基础成本(一个ZKP证明一堆ZKP,减少数据size)。根据Vitalik的估算,提交一个batch proof到Layer1的成本约为8000 gas。
接下来用简单的数学计算帮助大家更加直观的理解成本问题;
已知:
假设在理想情况下:
confirmation time = 12s(以太坊出块时间)
分摊到每笔交易的gas = 368 + 400000 / (5 * 12)= ~7035
confirmation time = 1h
分摊到每笔交易的gas = 368 + 400000 / (5 * 3600)= ~390
在当前二层网络的设计中,分摊到每笔交易的gas对打包batch的间隔时间(也就是用户感知到的confirmation time)非常敏感,且将confirmation time控制在一个较短的时间窗内带来的成本非常高。
confirmation time = 12s(以太坊出块时间)
分摊到每笔交易的gas = 368 + 8000 / (5 * 12)= ~501
confirmation time = 1h
分摊到每笔交易的gas = 368 + 8000 / (5 * 3600)= ~368
和成本一样,我认为做多层网络结构的原因一定躲不开提升效率,抛开成本和效率谈结构设计有多fashion没有任何意义。
我们知道wrapped token的实现降低了Layer2之间的互操作成本,但是效率上仍然有待提升,我们简单算一下为什么:
由于fraud proof time,一个rollup链存(~7天)➕另一个rollup链取(~7天),~14天的验证期仍然无法避免;
避免了fraud proof time的漫长等待,相比Optimistic-rollup更快,但是有以下两个问题:
综上所述,这种Layer3的设计就好像是在Layer1安全性的基础上,以Layer2为核心搭建出了无数子生态。
我认为一定程度上,多层网络架构进一步将Layer1的功能隔离,让Layer1专注于保障交易安全性,将计算等功能转移到每个子生态系统中。
Vitalik提出了一种新的架构设计思路,在我看来也可以算作一种多层网络架构的设计(你也可以把它看成一种二层网络结构),非常值得分析和思考:
Layer1: base layer
Layer2: batch mechanism
Layer3: rollup、validium
在现在的Layer1和Layer2之间插了一个(聚合+验证+分发)层。
在这种设计中,一种batch mechanism的结构以开放式协议的形态成为架构中的Layer2;现在我们熟知的Layer2(ZK-rollup)可以接入这种协议并成为一种Layer3。
我认为整套batch mechanism的核心是以下2点:
相比现在Layer1的verifier contract验证不同rollup链发送的batch proof并更新state,这套新的架构相当于将gas成本在各个rollup链之间分摊。根据Vitalik的描述,分摊后的gas cost同样约为8000。因此,这种Layer3的设计在成本因素上同样产生了很大价值。
这样的结构设计使得Layer2(batch mechanism)成为了一个用途明确且专一,结构简单的中间层,这使得这一层在安全性和governance-minimized上具备天然的优势。
*Starkware上的SHARP正在做类似的实现,递归的证明方式使得proof可以被提交到Layer2的StarkNet上,为进一步实现Layer3创造可能性。
https://vitalik.ca/general/2022/09/17/layer_3.html
https://medium.com/starkware/fractal-scaling-from-l2-to-l3-7fe238ecfb4f
https://medium.com/starkware/recursive-starks-78f8dd401025
https://ethereum.org/zh/layer-2/
Foresight Ventures 押注加密货币未来几十年的创新历程,旗下管理多支基金:VC基金、二级主动管理基金、多策略FOF、特殊目的S基金「Foresight Secondary Fund l」, 总资产管理规模超过4亿美元。Foresight Ventures 坚持“Unique, Independent, Aggressive, Long-term”的理念,通过强大的生态力量为项目提供广泛的支持。其团队来自包括红杉中国,中金公司,谷歌,比特大陆等顶级金融和技术公司的资深人士。
Website: https://www.foresightventures.com/
Twitter: https://twitter.com/ForesightVen
Medium: https://medium.com/@foresightventures-zh
Substack: https://foresightventures.substack.com
Discord: https://discord.com/invite/maEG3hRdE3
Linktree: https://linktr.ee/foresightventures
免责声明:Foresight Ventures所有文章均不作为投资建议。投资有风险,请评估个人风险承受能力,审慎做出投资决策。