Layer2诞生的主要目的便是为了降费和扩容,以太坊公链的功能受限使其无法承载生态快速发展所带来的越来越多的执行和计算量,这也导致人们若想在拥挤的链上完成交易就不得不支付高昂的交易成本。公链拥堵的本质是链上过多的节点争夺过少的区块空间,去中心化的冗余设计天生便是和效率对立的,链上交易从达成到被最终确认需要经历一次全网广播,节点需要通过共识确认广播信息的真实性,节点数量越多,这一过程便越麻烦。
人们逐渐意识到天生的效率低下成为了去中心化技术发展与推广的最大障碍。为了解决这一困境,人们开始将公链的功能进行剥离和分层,将最核心的,在去中心化系统中提供安全保障的共识机制留在Layer1上,而将计算和执行下放至Layer2,促使公链成为Layer2的结算层。Layer2解决方案逐渐得到了市场的认可,因其相比跨链和分片等设想更容易实现和操作。随着协议各自Layer2的不断应用,人们可以明显的感受到交易成本的显著降低,从结果来看,Layer2可以说是一场非常成功的行业变革。
Layer2发展至今已经由早期的状态通道、侧链、Plasma等方案过渡到现在的Optimistic rollups、Validium、ZKRollup等,每种方案的各项性能存在不同程度的取舍,总体来说目前市场更认可Rollup。但市场其实依旧清楚Layer2并不是一种接近完美的解决方案,其中的缺陷也十分明显,其中典型的问题就包括其有限的可拓展性、倒退的可组合性以及割裂的流动性。不过目前对于Layer2的互操作性和流动性的技术支持都在不断探索增加,用户在L2上进行的活动比例也在增长。
Layer2在降低成本和提高效率的前提下尽可能保留了去中心化模式的优点。但对于未来某些可能需要高度定制化的应用场景,最好由一个新的独立层提供服务,这便是Layer3概念的由来。此概念最早由StarkNet提出,他们表示,Layer3与Layer2的关系就像Layer2与Layer1一样,这其实是一个嵌套的、递归的结构,只要Layer2能够支持Verifier智能合约,Layer3就可以使用有效性证明来实现。整个过程就变成了Layer3将交易压缩至Layer2,Layer2又将压缩过的交易压缩至Layer1,这是一种几何倍增长的扩容构想。如果每一层的成本降低1000倍,那么Layer3的成本就可以做到比Layer1降低1,000,000倍。
StarkNet提出的Layer3的主要优点除了利用递归证明的乘法效应实现超可扩展性外,其另一项优势便是可以由技术堆栈的应用程序设计者更好地进行控制,拥有更加确定的性能和成本、自定义数据可用性模型(例如基于Validium或特定于应用程序的链上数据压缩)、更快的功能和技术周转率(例如可以不断引入尚未准备好全面可用的新功能进行测试)。
进一步讲,如果Layer3可以成功应用,那么隐私功能或许可以真正意义上的应用于普通交易,众所周知区块链上的隐私保护技术如零知识证明等需要的计算速率和信息交换量是目前的基础设施无法支持的,那么如果将隐私计算功能拉到Layer3上,其强大的扩展性便使Layer2上的隐私保护交易成为可能。
再者,Layer2被诟病的互操作性与可组合性的倒退可以由Layer3进行一定程度的弥补。目前在Layer1和Layer2、Layer2之间使用的跨链通道非常低效昂贵。所以将层级间与同层间的组合操作平移至Layer3可能是一个不错的选择,而且更易于实施。因为定制化的Layer3是通过Layer2而不是Layer1进行互操作,这显然会更便宜。
下图是StarkNet展示的Layer3分形分层(Fractal Layering):
图片来源:StarkNet
可以看到多个Layer3将建立在Layer2之上,还可以在Layer3上构建附加层(L4等)。
下图描述的是Layer3与其底层Layer2和Layer1之间的关系。通过在Layer2上实施状态跟踪和验证器智能合约,Layer3可以安全地运行在L2上。
图片来源:StarkNet
而除了StarkNet,还有其他致力于超越目前Layer2易用性的方向,例如Celestia的数据可用性模块,这是一个与Layer3的逻辑有共通点的方向,其主要原理是在Layer1与Layer2中间划拨出一个专门解决数据可用性的层级,与Layer3不同的是Celestia在Layer1与Layer2之间插了一层——数据可用层:Celestia的节点既不运行智能合约,也不去验证区块内的数据,它只负责做数据可用证明。所谓数据可用性,就是指前文提到的去中心化系统内数据在节点间传播所产生的验证和确认行为。Celestia使用二维reed-solomon编码方案对块数据进行编码,这样只有少量数据样本就足以以统计确定性验证整个块已发布。如果数据编码不正确,则通过数据可用性欺诈证明通知网络。Celestia的另一个特点是其将自己设计成一个类似模块化的插件,类似云服务,可以和现有的各种Rollup方案结合。
扩容的原则其实都是让公链专注于最为核心的事物以减少负荷,无论是在Layer1与Layer2之间插一层,还是在Layer2之后补一层,一个确定的趋势是区块链系统内的分工模块会被拆解的越来越细致,就像工业发展从手工到流水线,编程发展从整体到模块的过程一样。未来可能还会出现Layer4、Layer5或者其他名字,但评判其核心竞争力的标准依旧是能否保证去中心化安全性的前提下真正提高效率。