来源:链上观
市场出现了“并行EVM”的新叙事,于layer2就非常有意思了,可实现一种“精细化”Rollup新范式,夸张点可达成Solana成为以太坊新layer2的魔改效果。在我看来,并行EVM只是Rollup高度“模块化”的显学,是DA被第三方侵袭之后,VM执行层的再度沦陷,未来layer2会被重新定义。Why?接下来,以科普视角分析下:
理解这个话题,得先厘清“EVM”的单线程执行模型。
该模型规定了交易必须按顺序一个接一个地被处理和确认,这直接影响了交易处理速度、出块时间、以及交易吞吐量等,是以太坊主网Gas高且拥堵的主要原因。而且,之所以设计成单线程,有一定历史局限性存在。由于以太坊上的交易由分布的独立节点验证和执行完成,且要保证所有地址的数据,比如余额、智能合约代码等保持不同节点间的状态一致,与此同时还得保证不会有同一资产双重支付的可能性出现。
这就使得交易得按顺序排队处理。如果出现并行交易,就可能导致节点之间的数据同步出错,关键是还会出现严重的双花交易。通俗解释:银行只有一个服务窗口,客户取款要按顺序排队,无论是存款取款以及贷款等业务,一个客户完成业务后才能开始下一个,优点是,银行的账户系统的每项操作都会精准记录,但客户排队时间会比较长;
若银行开放多个服务窗口,客户可选择窗口办理不同业务,就会出现有两个窗口同时尝试从一个账户中扣款,若窗口间账户系统对账不及时 就会导致双花,显然这样做明显提升了效率,但复杂的记账逻辑会对账务系统带来压力。在layer1独立链场景下,如果链底层支持并行处理问题就迎刃而解了,Solana由于计算和存储状态分离,因此其VM在收到用户的多笔交易后,节点会对这些交易进行排序,然后调用独立的存储系统状态数据检测这些交易是否存在状态冲突,若无冲突就将交易打包到一个区块中,若冲突则将冲突的交易排除到本次区块外。
相较之下,以太坊的存储状态是实时计算出来的,每个交易必须等待前一笔交易完成才能更新状态,故而就无法做到在等待打包前的交易筛选工作,限制了其并行处理的可能性。在layer2 Rollup链场景下,要实现并行处理,远离也类似。你可以把Solana在等待POH时间戳的交易计算和存储状态检测视为Rollup链在Sequener处理交易然后向主网Batch的过程。
现在layer2在Batch交易前Sequener会先按时间顺序给交易排nonce,然后按顺序Batch到主网,如何才能做到多线程呢?
1)可基于AA账户抽象模型,从账户状态上实现了可以同时发起多笔交易,比如,若同时执行两笔Transfer,AA智能合约会赋予其nonce,需要按顺序执行,若一笔是Transfer,一笔是Approve则就可以不受nonce限制更灵活的并行处理。在AA账户模型中,每个账户可以自定义交易处理逻辑,进而配合nonce实现高并发。
2)可对Sequencer中的交易进行“精细化”的加工处理,比如当layer2的交易被提交到Sequencer中,Sequencer可以快速的检测这些交易逻辑,并进行精细化排序和筛查工作,比如若同一账户发起了两笔Transfer,就要把后一笔排除在外,等待下一次Batch,若同一账户发起两笔性质不同的操作,就可以同时Batch到一个区块中。
听上去很简单?但事实情况绝非如此,仅以DeFi场景为例,Sequencer要实现交易的精细化管理,存在两大挑战:
1)要实时解析交易数据,了解传入数据的智能合约调用方法及参数,以DeFi常见的Staking为例,一次Staking操作,涉及代币转移、状态更新、质押期限、以及潜在奖励计算等。若同时有大量用户传入一些质押交易,若其中还参杂质押后再Transfer的交易,再加上复杂的Oralce价格因素等等,若Sequener无法解析处理到位,一步出现错误都可能导致严重事故。
2)Sequencer得确保去中心化,当前layer2 Sequener只是Batch交易的前提下,权利都已经过大了,若Sequencer去中心化问题解决不了,再来做“精细化”Rollup,等于又赋予Sequencer更多的权限。若Sequencer在中作恶塞假交易,明目张胆搞MEV夹子,甚至恶意操控Oracle清算等等都会滋生。
最近,Metis受追捧,表面上看只是Sequencer实现了去中心化,深层次看则是为未来Sequencer做精细化Rollup构建了基本的共识前提。当然,靠Sequencer做到高度精细化的Rollup交易汇聚和处理,目前还只是一种设想,好在,AA账户抽象,区块链整体的模块化组合开放思想给这一设想落到实处提供了先决条件。
以上。
况且正如前文所言,现在layer2整体日趋模块化,在OP Stack的框架上嵌入ZK技术来实现隐私扩展;把原先的以太坊DA转化成Celestia这类第三方DA来降低成本;逐渐把ETH作为Gas费的传统也变革掉了,给予layer2代币更大的实用性赋能;甚至,layer2完全也可以Batch好交易后提交给不同的VM执行环境,交易分到Solana和以太坊上处理等等。
到时候,一个全新的的范式出现了,现在的layer2不再单单是以太坊的layer2,Solana也可以做以太坊的layer2,甚至layer2的定义也会被魔改。
大胆设想,现在layer2变成了一个集成高并发交易处理能力的入口级“layer1”,而以太坊、Solana这些曾经的layer1变成一个做资产结算和安全性保障的新“layer2”。layer2从来都不是一个死板的概念,layer2平台们要解决交易大规模并发处理,吸引增量用户市场群体的使命一直存在。
若使命达成,在模块化思想下,不仅以太坊layer1的正统性会被打破,整个全链的DA数据可用性、VM执行层甚至interoperability通信交互都会成为layer2们实现Mass Adoption的infra。届时,layer2不再只是layer1的补充,而成为一个功能强大的综合型交易汇聚和分发处理平台,试问,谁才是谁的layer2?