Layer 3 可能会为以太坊或者说是区块链,开辟一个新的空间,就像 Rollup那样。但是目前还有很多的技术细节需要去解决,这还需要时间。
原文作者:鹿目圆
原文来源:IOBC Capital
Vitalik在最近的一篇文章中讨论了Layer 3的概念。那么,什么是Layer 3?
我们先简单回顾一下Layer 1和Layer 2。
早期的公链,尤其是以太坊,其生态发展受制于网络性能,每秒可处理的交易笔数(TPS)比较小,网络时常发生拥堵,且交易GAS费比较昂贵,无法支撑高性能的应用在其上发展。为了提升网络的可扩展性,各种扩容方案相继被提出。
扩容的路线主要有两种:
在讨论Layer 2扩容的过程中,逐渐出现了一个新的概念--Layer 3。
Layer 3基于这样一种理念:
如果可以在Layer 1之上添加Layer 2协议来帮助处理交易从而提升安全性和可扩展性,那么是不是也可以在Layer 2上面增加额外的Layer 3协议来继续增加安全性和可扩展性?
这个想法听上去不错,但是在实际执行上面临着诸多问题,使得这种扩容方案无法直接简单地进行堆迭。
通过堆迭更多层来持续扩容可行吗?
Rollup是一种扩容技术,主要是为了解决区块链运行时的扩展的两大瓶颈:计算和数据。
其中计算瓶颈可以由欺诈证明或者SNARK来解决,这依赖于一小部分人来处理区块,其他人只需要进行很小的计算量,来验证这些处理结果的正确性。
这些方案,尤其是SNARK,几乎可以无限制扩容,可以通过在SNARK上再进行SNARK来把很多计算量缩小到一个证明里。
但是数据则不同。Rollup使用一系列的技巧来缩小一个交易需要上链的数据量,一个简单的货币转账的大小被从100字节压缩到16字节,一个保护隐私的ZK-SNARK交易可以从600字节被压缩到80字节。
但是Rollup仍然需要维持链上数据的可用性。也就是说链上数据对用户来说需要可获得并且可验证,这样用户就可以独立地计算和验证Rollup的状态,并且在现有验证者离线的时候可以作为验证者加入。
数据只能做一次压缩,不能用同样的压缩逻辑把压缩过的数据再压缩一次。
所以,Rollup上的Rollup(多层堆迭)这种方案实际上并不能在可扩展性方面带来更多的收益。
但是,Layer 3模型可以用作其他用途。
如果不适宜用来做通用扩容,那么用Layer 3做什么比较合理?Polynya在文章《分形扩容》中介绍了一个可行的Web3网络是什么样的。文章中提到,试图把所有内容塞进一个服务器,在一个服务器中进行并行化,远不如把并行的概念带到下一个层,也就是新增加一个Layer 3来进行并行处理,这样可以把内容扩展到多台服务器上。通过分形的方式来进行并行与特定扩容,这就是我们需要layer 3的地方。任何计算密集型的应用程序,都会需要为应用定制的rollups。这样做有以下几个好处:
Starkware也提出了他们的Layer 3的方案。它采用的递归的理念可以甚至可以被用到更多层级上来实现分形层级解决方案。在他们的方案中展示了这种生态的示例,如下图所示。
它的layer 3包括了:
Starkware在文章中提到了三种关于Layer 3的愿景,Vitalik 在他的文章中也对这三种模式表示了认可:1. 自定义功能。即layer 2用于扩容,layer 3用于特定的功能,例如隐私。在这个愿景中,没有尝试提供“可扩展性的平方”,而是在堆栈中有一层专门来帮助应用程序扩展,然后其他层则为不同用例提供定制功能。2. 自定义扩展性。即layer 2用于通用扩容, layer 3用于定制扩容。定制扩容可能有不同的形式:不使用EVM来进行计算的特殊的应用、用数据格式优化来为特定应用进行数据压缩的Rollup等。 3.自定义安全性。即layer 2用于无需信任的扩容(rollups),layer 3用于弱信任扩容(validiums)。Validium是SNARKs用于验证计算的系统,但是把数据可用性放在了链外可信任的第三方或委员会处。Vitalik认为,Validiums被严重低估了:对于大多数“企业区块链”应用程序来说,运行validium证明者并定期将哈希提交上链的中心化服务器就可以满足需要。虽然Validium的安全性不如rollup(因为是中心化的),但是它们的费用便宜许多。
Layer 3的成本
Rollup和validium需要在确认时间和固定成本之间做权衡。但Layer 3可以解决这些。
Rollup中的每笔交易的费用都很低:根据应用的不同,大概是16-60字节的数据。
但是Rollup也有一笔很高的固定成本,来源于每次需要将一批交易提交到layer 1链上时:如果是optimistic rollup需要21000 layer 1 gas每批次,如果是ZK rollup则会超过400,000 gas,如果是量子安全的STARK则需要百万以上的gas。
当然,rollup也可以简单地选择等到有 1000 万 gas 价值的交易时再来提交整批交易,但这会造成非常长的批次间隔,迫使用户等待更长的时间以获得高安全性的确认。
因此,它们需要在不同方案中权衡:较长的批次间隔和最佳成本,或者较短的批次间隔和增长的成本。
Vitalik在文章中展示了一个批次成本为 600000 gas 的ZK rollup、每笔交易成本为 368 gas的完全优化的 ERC20 转账(23 字节)的情况。假设此rollup处于早期采用阶段,TPS为5。计算得出每笔交易与批次间隔的gas:
如果在拥有大量定制化Validium和针对APP的定制环境的情形下,它们可能不需要用到5tps。事实上,layer 3确实能解决这个问题。ZK rollup 中的 ZK rollup只有大约 8,000 gas 的layer 1 成本(500 字节用于证明)。这将上表更改为:
Layer 3有什么优势?
Layer 3的优势有以下几点:
layer 3的实现方式
Starkware在他们的方案中介绍了layer 3的具体实现方式。
一个经典的layer 2结构包括了以下几个组成部分:
而一个分形的layer 3结构则如下图所示。只要在layer 2上放置状态跟踪和Verifier智能合约,layer 3就可以利用有效性证明在layer 2上安全地运行。当 layer 2 也使用提交给 layer 1 的有效性证明时,这将成为一个非常优雅的递归结构,layer 3 证明的压缩优势可以使layer 2 证明的压缩优势成倍增加。
Layer3--Dapp开发者的选择
对于 dApp 的开发者来说,在基础设施上可以有以下几种选择:
1、自己开发一个 Rollup(ZK Rollups 或者Optimistic Rollups)
优势是你可以继承以太坊的生态(用户),还有它的安全性,但是对于一个 dApp 团队来说,Rollup 的开发费用显然过高。2、选择Cosmos、Polkadot 或者是 Avalanche开发的费用会更低(例如 dydx 就选择了 Cosmos),但是你将失去以太坊的生态(用户),以及安全性。3、自己开发一个 Layer 1 区块链这带来的开发费用和难度很高,但是却能拥有最高的控制权。我们对比一下三种情况:难度/费用:Alt-layer 1 > Rollup > Cosmos安全性:Rollup > Cosmos > Alt-layer 1生态/用户:Rollup > Cosmos > Alt-layer 1控制权:Alt-layer 1 > Cosmos > Rollup作为一个 dApp的开发者,如果想继承以太坊上的安全性和流量,那就不能重新开发一条链,那只能选择 rollup 。但是自己开发一个 layer 2 rollup 又非常贵,那么合适的解决方案就变成了利用 layer 3 SDK 开发一个自己的应用专用的 Rollup(application-specific rollup),即 Layer 3。
Layer 2可以降低每笔交易的 gas 成本、提高链上的可扩展性。同时,Layer 2保留了去中心化、通用逻辑和可组合性的好处。通过递归结构的设计,Layer 3也可能继承Layer 2的这些优点。
目前一个比较普遍的观点是:一些应用需要特定的定制化服务,而这些服务,将由Layer 3来提供。
Layer 3 可能会为以太坊或者说是区块链,开辟一个新的空间,就像 Rollup那样。但是目前还有很多的技术细节需要去解决,这还需要时间。
自2020年以来,应用层的创新几乎没有出现。过去关于区块链应用未爆发的原因,多数说法是现有的公链的性能不足以支撑高计算量高并发的应用,这种思路还停留在单片区块链的时代。但是随着layer 3方案的成熟,预计将会出现一批新的应用,这些应用只有在分形扩容的情况下才真正有可能实现。链上游戏或类似依赖大量计算的项目,可能会成为第一批部署自己的layer 3的项目。
责任编辑:MK