Rollups 大全 (1/3)
本文部分内容来自于Delphi Digital 的The Complete Guide of Rollups。文章晦涩难懂的同时,也帮助我思考更多的技术的底层逻辑。代码,经济理论只是不同用来调控市场,改变机制,设置规则,让人性出发的手段和媒介,最终的结果能否形成,还是要有一套代码和社会的组合拳。最近确实有些忙,不过忙里偷闲,写篇文章吧。其实写作就和写代码,画画等其他创作行为一样,很多东西并不是在创作前你能够全部braimstorm好的,很多灵感来源于这个过程,就像此时此刻,我在一个密闭的房间,没人打扰,心情大好。
简介:
现在市面上各种乱七八糟的rollups,啥名字都有,为了分类的同时,也赋予不同的rollups的场景以及在下一个cycle中的叙事背景,当然你可也以理解为是可扩展,高性能的核心工具和媒介。以太坊社区目前分为几大派系。智能合约Rollups 更为安全,但是在治理/中心化和smart contract 风险方面岌岌可危。Enshrined Rollups 本质就是以太坊Sharding之路梦断以后的又一个产物。好吧,既然共识,DA,执行分片效果不理想,那么就用模块化的理念解决,将执行层分片就好了。本质上这是一种社会共识的硬分叉产物,以太坊基金会也没什么权限。不过这类项目要得到基金会的支持当然更好,当然Geometry Funds,大V Justin Drake都可以关注,他们还是一帮引领以太坊前沿技术风向的一帮研究员和风投基金。Celestia 则主打sovereignity communinities。不过从目前社区的发展,反馈和某些核心成员的文化态度上,的确一定程度上限制了项目的发展,不过不可否认团队干活还是很蛮力的,不过最近的一系列的事件都告诉我们先学会做人,再做事情,更何况相比于以太坊这头cash cow 来说,Celestia目前只是一片孤岛,要真正实现价值捕获的路还很长。相反他的竞争对手Eigen Layer 从早期就获得了以太坊基金会的支持,钱是一方面,更多是顶级开发者,研究员和生态的支持。
以太坊将共识,DA,结算等做了一篮子买卖,成就了自己的商业帝国。和其他的公链一样,作为用户,你如果在以太坊上任何dapp交易,那么大部分费用你可能要贡献给以太坊的持有者。当然,收费,贵也有贵的好,高费用给你带来了安全保证,这么多可信节点保护着你的资产和网络安全。以太坊运行这么多年,试问有多少次宕机事件?我不是以太坊Maxi, 我喜欢Modularism这个词。以太坊生态前沿技术值得学习,但我相信下一个Cycle 会有新的L1出现。新的L1也可能是别人的L2,或者也可能从其他方面进行突破。以太坊最先是全节点的概念,不管是最近的danksharding中的弱无状态,还是enshrined rollups, 都开始将全节点变轻的趋势,试图解决disc I/O, 存储以及计算等问题。所以我不太纠结这个轻和全的事情。但是模块化中数据可见意味着任何人可以从上传的区块头数据中恢复状态,通常可以理解为是轻(or全)节点。而共识相较于验证ETH中的验证共识,这里是对于交易排序,数据相关的共识。同时在单片链中,状态和数据可见是类似的概念。模块化中还是存在一定差异,并且在不同的网络进行存储。数据可见更多是强调历史数据,以bytes为单位,而状态则更强调的是状态增长的概念,和执行层和计算息息相关。同样的, Celestia的状态和以太坊上的状态也不是一个概念。一个是交易执行前后的状态,是存储在默克尔树上的,而Celestia是其他交易存储的状态当然,本质上状态就是交易数据的哈希。结算层就不用多说了,未来的L1,主要验证交易,处理trust minimized bridge以及解决一些争议 (interacitve fraud proof or non-interactive fraud proof 这个话题很有意思)
架构方面的话,我觉得目前大部分的项目可能比较赞同1)执行层面的分片,采用单独的结算层 2)当然也有像Fuel Labs 从fraud provable smart contract rollups 做起,但是目标是星辰大海的L1。其实际上设计更灵活,你甚至可以理解为是有自己独立语言,虚拟机,编译器,等一系列开发工具的真正Layer1。不过我认为优美的设计应该是基于一定的基础做迭代,而并不是将一堆东西组合起来,尝试新概念。简单的设计就挺好,那么复杂,你确定开发者真的会用吗?当然还有些不温不火的,选取不同结算层和DA 分开来做的执行Rollps,例如Validiums, Celestiums, 我觉得这类噱头大于实质,更适合长期发展的还是第一种和第二种。
底层构思:
目前来说以太坊最大的收入还是来自执行层的交易费用,结算层收入主要来自于一些状态承诺,比如我验证了完成这笔交易以后的状态。DA层目前主要是收取Call Data的费用,在以太坊之后的路径中也很快会改为data blob这种新型的数据结构。Rollups除了通过自己定制化,灵活的各种算法以解决数据压缩的问题,而且还可以通过延迟出块解决,比如我并不需要每个块及时进行链上验证,可以等到数据足够多了我再进行压缩,效果很更好,当然从用户角度思考,压缩成本是一定的,那么多笔交易,意味着用户分摊成本也降低了。当然trade off 就是延迟性的问题,不能得到及时确认。所以通常情况下,我们可以理解当用户发起一笔交易以后,中心化的设计 (StarkNet中Sequencer 可以立即发给用户pre-confirm),让用户知道交易已经大差不差的确认了(学术定义软确认)。当然Sequencer 有作恶的可能,虽然不能censor 你的交易,但是可以乱排序,而且在现实生活中,Sequencer的是超级计算机,可以选择聚合和重新分配资源,所以作恶的成本很低,这也是为什么市面上各种Decentralzied as the service的项目出现了。
目前的话DA的带宽问题有望在接下来的Roadmap中解决。带宽,无非和计算,区块大小,网络资源,存储,硬件相关。EIP4844 和Dankshariding 我们之前也学习过,以太坊扩容终极解决方案 - Danksharding (一)和以太坊扩容终极解决方案 - Danksharding与 MEV设计(二),不过之前的文笔很晦涩,关键技术不理解的时候,其实写出来的东西都伤感。时间过得好快,一转眼都半年过去了。按照目前以太坊的区块链容量100KB, (90KB call data + 10KB), 那么EIP4844, 估计还可以扩展10倍 (1MB=1000KB),Danksharding 可以扩展160倍,具体数据怎么样还得看之后的实测数据。而可实现的DA带宽速度也可以大大提升(83.33KB/s in EIP4844 vs 0.23KB/s for ORUS)不过可以肯定的是,随着市面上频频不断的DA解决方案,以及DA扩展的可操作性(轻节点越多,区块大小越多,线性增长)未来DA可能不会像今天一样作为一个问题/科研方向拿出来说。反而越来越多的项目开始试图关注Rollups执行层计算,限制执行环境还带来的潜在状态爆炸问题。当然最常见的办法就是怎么解决以太坊的扩展问题 (通过L2链下计算)就怎么解决目前L2的问题(L3链下计算,甚至链下DA,不过需要引入安全假设)。像Fuel Lbas则则认为通过UTXO试图解决根本的状态问题 1)通过state access list 确定交易dependency 2) 可以确认交易touches的账户,并且执行前匹配dependcies 1)2) 就是说我们并不需要以太坊账户模型中的一些状态数据,这些交易本身的数据我们就可以进行匹配并且进行关联,而以太坊并没有非常严谨的state access list, 这也是一个问题。Solana就是在这个方面进行了优化。3) 相比于以太坊的single instance (这也是目前以太坊最大的扩展问题根源之一),单核,单线程,无法并行计算的,Fuel 可以实现多核,多线程的计算问题。当然还有很多其他的方法,可以关注下Optimism Arbitrum以及ZKP的进展。当然EIP1559的引入,也可以实现更高的价值和状态隔离,因为DA 和结算层会有自己的交易市场,并且费率进行动态调整, 并且也有助于缩短交易的等待时间。Eigenlayer 我并没有更为针对细节去研究,因为他只是众多DA中的选择之一,以太坊生态需要他这样的玩家去承载新的执行层和和app-specifc rollups。而且我也很欣赏其融资策略,相比于大资本而言,似乎有实力的个人投资人,社区更能帮助项目的成长,I am not anti-VC, 但是纯投钱,做研究的VC 模式需要被颠覆,这是不可逆的趋势而已,没有人可以改变。
Celestia 这块,目前最大的疑虑无非就是价值捕获的问题。我们算笔账,根据Defi Lamma 上最新数据,我们了解到以太坊上的锁仓量249亿美金。
以太坊上的质押金额183亿美金 (总市值1400多亿美金),那么如果你要攻击,肯定还得去市场上去购买资产,那么肯定会造成很大的价格波动,所以攻击成本还是很高 (当然看到报告说Security Ratio 是20,不是特别理解这个数值的由来),不过可以肯定的是,以太坊可以算是一比较好的价值捕获资产,real yield, low inflation, 稳定,较低的预期回报,比那些以上来高yield,甚至通过高yield造成暴雷的项目,让用户、投资者更为安心。当然还是要看实力。除了P/E, P/S这些去衡量网络的一些实际收入, MEV的传统矩阵, 还有一些可以关注的数据,比如开发者活跃度 (Electric Captial,Geometry by Aztec 都可以关注),Network Value to Transaction (网络价值/交易), 用户日活等,包括上文提到的增发比例以及速率, 比如Monetary Equation of Exchange M=PQ/V等。对于以太坊本身的价值增长是无疑的 (over longer horizon)(从0-千亿美金市值)当然也离不开其执行层的价值捕获,以及通过通胀激励(security budget),燃料费调控等手段进行的货币政策调整。
价值捕获:
Rollups 有哪些成本,首先他得支付给L1 一部分费用,我们可以称为L1 Publication Fee (现在市面上DATA Publication 代替数据可见的名词也出来了) 目前大部分是Call data 费用,这部分和数据大小/活动有关,所以你可以理解为变量数据,而且ORUs 提交数据的时候还会带个签名,不过OP最近准备将ZKP加入到他的Fraud Proof 中,应该是计划将有些签名的地方,只提交相应Proof (聚合签名用Proof覆盖),其次就是一些state commitment,状态数据等固定cost。当然还包括一些L2费用, 比如L2 Congestion Fee, 这些都和网络的拥堵情况息息相关 (L2运行成本也是一块)。上文也提到了很多优化空间,比如数据压缩的算法,比如Nitro (Arbitrum)这种提高可扩展性,降低gas 的rollup stack 解决方案,当然还有将L2 区块在L1运用非合约进行存储的方法等。
随着通胀率的降低以及PBS 上线MEV等方案的优化,越来越多的链现在都将未来网络安全的收益(security budget)的重任放在了MEV上。这个不难理解。在以太坊2.0中,PBS的出现致力于制衡单方的排序带来的front running, sandwich attaack 等作恶行为。理论上,不过Seachers(发现机会的套利者)会把交易bundle给到builder, builder会把bundle组成的区块再给到区块生产者和验证者,而不管是Builder,还是Proposer, 都是按照first price auction,价高者得的原则,这逼迫大部分的套利者不得不把竞价提高到利润临界值,所以最后还是L1,或者是L2 (未来的L1)捕获最大的价值。crList的设置,再一次制衡了Builder 区块生产者的权利,竟然所有节点都能看到Mempool,那么我(proposer)可以将应该添加的交易添加进去这个list,但是在正式交易添加的过程中,proposer只能看到winning bid 对应builder 提交的block header,并不能看到block body。这导致很多现实问题中invalid 或者恶意交易的产生,所以Cosmos 出现了跨链MEV 协议的解决方案。同时,跨链原子这个方向也出现了一些不错的团队,我们将在之后的文章中给大家介绍。不管是跨链原子,还是rollups 之间的价值传输,都依赖于一个无需许可的环境。同时,一条链(我们称为源链)一个区块,合约的调用是contignent on另一个链的(我们称为目标链)。又或者一个Rollup可以向DA层提交两个区块,一种区块是base case, 另一种则是contigent on other rollups。原子互通的核心还在于all or nothing, 要么实现,要么都不实现。这个不难理解,而链和链的的价值和资产传输也不再需要可信任桥,IBC和Axelar 这种通用协议就是目前被主流/共识的解决方案。IBC似乎已经成为Golden Standard,未来是否可以基于IBC做更多的应用层协议,又或者是有更好的 standard (cross chain as the service) 让我们拭目以待!