在L2扩容探讨中经常会出现的话题是「layer3」这个概念。如果我们可以构建一个锚定L1安全性并在其之上增加可扩展性的L2协议,那么我们也一定可以构建一个锚定于L2安全性并在其之上增加更多可扩展性的L3协议,以此实现更多扩容?
简要地说,这种观点是这样的:如果你拥有一个能够让你进行二次方扩容的方案,那你可以将这个方案构建在它自己之上,然后达到指数级的扩容吗?
我在自己2015年的可扩展性论文、Plasma论文中的多层扩容想法等地方都讲到了类似的观点。不幸的是,这种关于L3的简单构思并不能像上述观点那样轻易实现。
这种方案的设计中总是会有一些无法直接堆叠的东西,只能在可扩展性上带来一次提升——因为数据可用性的限制,紧急提款依赖于L1宽带等多种问题。
如Starkware提议的框架等较新的关于L3观点变得更复杂:这些L3方案不只是在自己的网络之上堆栈叠相同的方案,而是为L2和L3分配不同的用途。这种方法的一些形式可能会是好主意——如果它能够以正确的方式实现。本文将会详细介绍在三层架构下哪些可能有意义,而哪些可能无意义。
为什么无法通过将rollup堆叠在rollup之上一直扩容
rollup是结合各种技术解决区块链运行中两大主要扩展瓶颈的扩容技术:计算和数据。计算可以通过欺诈证明或是SNARK解决,两种方式依赖于很少的行动者就能对每个区块进行处理和验证,只需要其他参与者运行一小部分的计算来检查证明过程是否正确完成了。
这些方案尤其是SNARK几乎可以无限地扩展,你真的就可以通过保持构建「在一个SNARK证明之上构建多个SNARK证明」,为单个证明扩展更多算li。
数据则不同。rollup使用许多压缩技巧来减少一笔交易在链上存储所需的数据量:一笔简单的货币转账从大约100字节减至大约16字节,兼容EVM的链上的一笔ERC-20代币转账从大约180字节减至23字节左右,而一笔保护隐私的ZK-SNARK交易可以从600字节左右压缩至80字节左右。
巨鲸地址将6000万枚MATIC解除质押后转入Binance:4月24日消息,据 Whale Alert 监测,0x46e 开头的巨鲸地址在 10 分钟前将 6000 万枚 MATIC 解除质押后转入 Binance。[2023/4/24 14:23:22]
基本所有情况下的数据都能压缩至原来的1/8。但是,rollup还是需要在某一中介上让数据具有链上可用性,保证用户能够进行访问和验证,因此,用户可以自主地计算rollup的状态,并在现有证明生成者下线的情况下作为证明生成者加入证明过程。
数据只能压缩一次,无法再次压缩——如果数据可以再次压缩,那么通常有一种方式将第二个压缩器的逻辑放入第一个的逻辑中,只要压缩一次就能让第二个压缩器或跟第一个压缩器相同的效果。所以说,事实上「在rollup之上构建rollup」并不能在可扩展性方面提供巨大的收益——不过,这种模式可以用于其他的用途,正如下面我们将看到的一样。
所以「合理的」L3版本是什么样的?
好吧,让我们一起看看StarkWare在关于L3的文章中倡导的是什么。StarkWare团队由非常聪明且实际上理智的加密学家所组成,所以如果他们倡导L3,那么他们的观点会比「如果rollup的数据压缩至1/8,那么很明显,构建于rollup之上的rollup会将数据压缩为原来的1/64」的观点更为复杂。
这是StarkWare文章中的图表:
以下是一些引用:
第一张示例图中描述了这样一种生态系统的例子,其L3包括:
使用Validium数据可用性方案的StarkNet,比如,为定价上具有极度敏感性的应用程序提供多种用途。
应用专用型StarkNet系统可以定制更好的应用程序性能,比如,通过采用指定的存储结构或数据可用性压缩方式。
美国议员致函Circle和BlockFi等14家公司,要求它们阐明与硅谷银行的关系:4月11日消息,美国马萨诸塞州参议员Elizabeth Warren和纽约州众议院议员Alexandria Ocasio-Cortez周日致信硅谷银行的14位最大储户,对这家倒闭的银行与一些风险投资家和科技公司创始人的关系感到担忧。
收到此信件的公司包括USDC的主要发行方Circle Internet Financial、加密借贷平台BlockFi Inc.、元宇宙平台Roblox以及其他行业的公司。这两名民主党人要求它们解释与该行的关系期限以及他们在该银行的存款额,并还向他们询问硅谷银行董事会成员、高管或投资者是否从该行获得了特殊利益,比如信贷额度。议员们要求这些公司在4月24日之前提供这些问题的答案。
其中,Roblox公司新闻发言人证实公司已经收到邮件,表示会及时回复,另外13家公司没有立即发表评论。(彭博社)[2023/4/11 13:56:27]
使用Validium或Rollup数据可用性解决方案的StarkEx系统,会很快地为StarkNet带来经过长期考验的可扩展性效果。
隐私StarkNet的例子可以在不将交易打包至公共StarkNet的情况下进行隐私保护交易。
我们可以将这篇文章压缩为「L3s」的三个愿景:
L2用于扩容,L3用于定制功能,如隐私。这个愿景的L3无意于提供「可扩展性平方」;不如说,会有一层堆栈帮助应用程序进行扩展,然后还有一些独力的堆栈层用于满足不同用例定制功能的需求。
L2用于通用型扩容,L3用于定制型扩容。定制型扩容可能会有不同的形式:专用型应用可以使用EVM以外其他虚拟机来进行计算,rollup的数据压缩也会围绕定制型应用程序的数据结构进行优化。
ApeCoin发起提案拟推出两款新NFT系列,但当前反对票占优:金色财经报道,据ApeCoin论坛消息,社区已发起AIP-206提案拟推出两款新NFT系列“Ape Coin Armory Club NFT”和“Ape Coin Pet Club NFT”,该提案显示这两个系列将分别发行2万枚NFT,旨在激励APE持有者并拓展到更广泛的Yuga Labs生态中的元宇宙社区,最终推动其成为首个跨元宇宙的可穿戴NFT。另据Snapchat当前数据显示,AIP-206提案的投票结束时间为3月30日,不过该提案似乎没有得到ApeCoin社区支持,当前结果反对票占比达到83.57%,赞成票比例为9.8%,弃权6.63%。[2023/3/26 13:27:40]
L2用于去信任扩容,L3用于弱信任扩容。Validiums指使用SNARK验证计算结果的系统,但是它将数据可用性放在了受信任的第三方或委员会处。在我看来,Validium被大大低估了:尤其是,运行Validium证明生成器并定期提交哈希上链的中心化服务器也许真的可以很好地服务于许多「企业区块链」应用程序。Validium的安全性指数比rollup低,但是相较之下便宜很多。
在我看来,这三种愿景本质上是合理的。「专用型/定制型数据压缩服务需要有自己的平台」的想法可能是所有主张中最不能令人信服的——设计一个通用型基础层压缩方案L2很容易,因为用户可以使用应用专用型的子压缩器进行扩展——而除此之外的用例都是合理的。
但这还是留下了很大的疑问:三层结构是实现这些目标的正确方式吗?将Validium、隐私系统和定制型环境锚定L2而不仅仅锚定L1的意义在哪?这个疑问的答案很复杂。
哪一个更好?
存款和提款在L2的子树中会变得更便宜、更容易吗?
这种三层模型优于两层模型的一个论证可能是:三层模型允许整个子生态系统存在于单个rollup中,这让生态系统内的跨域操作可以非常便宜地进行,不需要经由昂贵的L1。
国务院办公厅:探索扩大区块链技术应用,提升现代供应链运行效率:金色财经报道,国务院办公厅关于印发“十四五”现代物流发展规划的通知,其中提到要提升现代供应链运行效率,加强数字化供应链前沿技术、基础软件、先进模式等研究与推广,探索扩大区块链技术应用,提高供应链数字化效率和安全可信水平。[2022/12/15 21:46:49]
但事实证明,即使是向同一个L1提交数据的两个L2之间,存款和提款也可以很便宜!关键是要意识到,代币和其他资产不一定非得在底部链中发行。换句话说,你可以在Arbitrum上持有一种ERC20代币,然后在Optimism上创建它的封装合约,并在两者之间来回转移资产而无需创建任何L1交易!
让我们来看看这样一个系统如何进行运作。现在有两种智能合约:Arbitrum上的基础合约和Optimism上的代币封装合约。要从Arbitrum转移资产到Optimism,你需要将代币发送到基础合约,这会生成一个收据。一旦Arbitrum敲定了这笔交易,你就可以获取该收据的Merkle证明,它植根于L1状态,并将其发送到Optimism上的代币封装合约中。封装合约会对它进行验证并向你发放封装代币。要将代币往回转移的话,则可以反向执行相同的操作。
尽管证明Arbitrum存款所需的Merkle路径会检查L1的状态,但Optimism只需要读取L1状态根以处理存款——不需要创建L1交易。请注意,由于rollup数据是最稀缺的资源,所以此类方案的可行实现将是使用SNARK或KZG证明以节省空间,而不是直接使用Merkle证明。
对比根植于L1的代币,这种方案有一个关键的弱点,至少在optimisticrollup上有这样的问题:存款也需要等待欺诈证明的窗口期到来。如果代币是在L1上的,那么从Arbitrum或Optimism上往L1的提款则需要一周的延迟时间,而存款则是即时的。
马斯克或将因狗狗币面临与Ripple类似的诉讼:5月28日消息,Crypto-Law创始人John Deaton发推警示马斯克,如果他频繁发推宣传狗狗币可能会给他带来和Ripple类似的法律麻烦。
John Deaton回应了推特用户,S_{new},D)$三元组的消息传递至每一个rollup;三元组来自batch处理器合约的事实会是交易有效性的证据。
如果优化得不错,那么这个方案中每个rollup的开销则将近8000gas:5000用于写入新添加的更新状态,1280用于旧状态根和新状态根,还有剩下的1720用于有效利用各种数据。所以说,这种方案也能节省开销。
StarkWare实际上已经有了类似的方案,叫做SHARP,尽管它还不是一个无需许可的开放协议。
对于这类方法的反应可能会是:但这不就是另一种L3方案吗?比起baselayer<-rollup<-validium结构,你有baselayer<-batchmechanism<-rolluporvalidium。
从一些哲学的建筑角度来看,这可能是事实。但这里有一个重要的区别:比起将中间层作为复杂完整的EVM系统,还不如说它是简化且高度专业化的对象,所以它更可能是安全的,也更可能在还完全不需要其他专门的代币的情况下构建起来,还更可能实现治理最小化且不会随着时间改变。
总结:实际上什么是「层」?
在其自身网络之上的堆叠相同扩容方案的三层扩容架构通常无法很好地运作。构建于rollup之上的rollup,这两层rollup当然不会使用相同的技术。
但是,可以使用第二层和第三层具有不同用途的三层架构。构建于rollup之上的Validium确实是有意义的,即使无法确定它们是否会是长期的最佳运作方式。
然而,一旦开始深入了解哪种架构有意义,我们就会陷入哲学问题:什么是「层」,什么不是?baselayer<-batchmechanism<-rolluporvalidium模式与baselayer<-rollup<-rolluporvalidium模式执行着相同的工作。
但在工作方式方面,证明聚合层看起来更像是ERC-4337,而不是rollup。通常,我们不会将ERC-4337称为「L2」。同样,我们不会将TornadoCash称为「第2层」——所以如果要保持归类上的一致,我们不会将构建于L2之上的以隐私为中心的子系统称为第3层。因此,关于什么对象应该首先被称为「层」,这存在一个未解决的语义争论。
关于这个问题,可能有很多思想流派的不同看法。我个人偏向则会是保持L2这个术语限定于具有以下特点的事物:
其用途在于增加可扩展性
它们遵循着「处于一条区块链中的区块链」模式:它们有自己处理交易和内部状态的机制
它们完全继承了以太坊区块链的安全性
所以,optimisticrollup和ZKrollup是L2,但是validium、证明聚合方案、ERC-4337、链上隐私系统和Solidity则属于其他方案。可能把这些方案中的一部分称为L3是说得通的,但也许不能全都称作L3;任何情况下,在多rollup生态系统的架构确定下来之前就为其下定义可能为时过早了,而大部分讨论也只是在理论上。
也就是说,语言上的争论远不如「哪个结构实际上最有意义」这种技术问题来得重要。显然,服务于隐私等非扩容需求的某种「层」可以发挥重要作用,并且显然需要以某种方式填补重要的证明聚合功能,最好由开放协议来填充这个位置。
但与此同时,我们有充分的技术理由,让连接着面向用户的环境和L1之间的中间层尽可能变得简便;在许多情况下,将「粘合层」作为EVMrollup可能不是正确的运作方法。随着L2扩容生态系统的成熟,我猜本文中描述的更复杂的结构将开始发挥更大的作用。
gz呺Web3团子
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。