并行EVM成为了最近新热门词。我们知道,过去几年提高TPS一直是孜孜不倦的追求。以Rollup技术为代表的layer2已经纷纷落地。而并行EVM可以将TPS扩大到百万级别,其价值不亚于l2。
相比之下,并行EVM还处于早期。比起当年Layer2,并行EVM是近期被资本关注,比如今年4月刚获得3800万融资的Movement Labs。
有人要问,就现在的链上活跃用户,有必要不断提高TPS吗?答案是:非常有必要,只有基础设施的不断提高,才能保证应用端的技术革新才能发生。提高公链性能,如同人类一直追求更快的CPU/GPU硬件,或者更快的联网速度一样,似乎是刻在人类的基因里面的。试想在文字短信的2G时代,怎么可能出现移动互联网的革命。而在区块链行业,每当TPS提高到一个量级,新型的应用创新才有可能出现。
在提高TPS方面,我们进行过很多方面的努力,有的成功有的失败。比如,我们尝试过增加区块大小,导致了BTC分叉处BCH和BSV、采用新的共识机制、减小了出块时间等等,可大概是上上个周期逐渐成熟落地的。而上个周期最以四大天王为主的Rollup公链纷纷落地。而这个周期,可能就是并行EVM的完善和落地了。
说起并行,那就一定有串行。串行就是按顺序以此进行,one by one。关于串行和并行的区别,举个简单的列子。假设现在想要去黄山旅游,而入口只有一个检票口在工作,所有的人都能一个接着一个通过,轮流检票,这就是串行。而到了节假日,因为人多景区直接开放了10个检票口,那么游客会安排在不同的10个地方,通过效率增加了10倍,这就叫并行。我们的计算机是可以并行工作的,那么我们区块链按道理可以并行。
现在以ETH为主的公链,大部分都是串行。虽然并行好处很大,但是在区块链世界实现的难度也非常大。比如说,A地址现在有一个ETH转账给B地址,由于转账的处理需要一定时间。在处理的时间时,A地址如果作恶,可以通过并行处理一个ETH转账给C地址。那么B和C都会收到一个ETH。所以说,并行处理并不是详细那么简单。行业在解决并行执行的冲突问题上提出了三种执行机制:消息传递机制、共享内存机制和严格状态访问列表机制。专业的内容这里就不展开了,想深入研究可以参考文章
当然,并行执行并没有那么陌生。Solana、以Move语言创建的Aptos、Sui都是并行执行的。他们的TPS能轻轻松过万。但是他们并不是EVM兼容,有着自己的虚拟机,整个世界像割裂一样。而并行EVM的目的,就是又是EVM兼容、又是并行执行。
并行EVM的方向大概有两种
第一种,将现在并行执行的公链,对EVM兼容。
比如说Neon, 它是 Solana 网络上的 EVM 模拟器,它可以将dApp 前端发来的以太坊交易经过代理转换生成 Solana 交易,然后在模拟器中执行,修改链上状态。
第二种,在EVM系中,增加并行执行的功能。
对于第二种,又可以分为两个小类。第一个小类,就是利用现有并行执行的公链的虚拟机。现在已经实现成熟应用的有三大类型,分别是solana、Move语言的Aptos/Sui以及比特币的UXTO模型。比如**Movement Lab **是引用move的虚拟机,将交易在上面进行执行,然后在以太坊进行结算。有点跟Neon反过来操作的意思。
Lumio旨在成为首个VM抽象,将支持任意VM,包括SVM、并行EVM、MoveVM,并计划支持ton、比特币等其他生态系统。让开发人员可以使用任何链上的任何虚拟机进行部署。
Monad则属于第二小类,它自己编写并行执行的逻辑。Monad 为以太坊虚拟机引入了两项机制:一是超标量流水线技术,二是改进的乐观并行机制。其中的超标量流水线技术将交易的执行阶段并行化。目前性能达到 10000 TPS。
Move语言是Facebook为智能合约设计的一种安全可靠的编程语言,强调所有权和安全性。 Move 中的资产表示为资源。由于 Move 强大的所有权模型和明确的资源能力,Move 简化了常见区块链任务(例如资产转让所有权、铸币和销毁)的安全智能合约的开发。
Sui 和Aptos的选择是基于Move开发一条独立的公链。遇到的问题就是,对于EVM开发者来说,这是一种全新的语言。Movement Lab 则是将Move 执行环境引入的以太坊Layer2,拥有EVM生态,同时拥有Move语言的优点。
**Movement Lab 旗舰产品 M1 和 M2 网络,以及一套支持它们的强大工具。**将推出 M2 主网,它将是以太坊上第一个基于 Move 语言的 Layer 2 解决方案。它将支持多种 Move 实现,包括 Sui Move 和 Aptos Move,以及我们的嵌入式 EVM 解释器 MEVM。这将使得来自各种生态系统(包括 Sui、Aptos 和基于 EVM 的平台)的开发人员能够利用我们 L2 解决方案的优势。
**M2 的关键特性之一是其 EVM 并行化功能。**通过利用 Move 语言和 Sui 的并行化模型,我们可以让 EVM 交易实现高吞吐量和低延迟。这是通过以对象为中心的存储和并行执行交易的能力来实现的。EVM 并行化方法涉及将 EVM 字节码转换为 Move 字节码,然后以并行方式执行。这个转换过程保留了原始 EVM 代码的语义,同时使其能够利用 Move 语言和 Sui 执行模型提供的并行化优势。
为了促进Movement Lab网络的发展和采用,团队还在开发 Movement SDK、Movement CLI、Fractal 和 Hyperlane 消息基础设施。这些工具将为开发人员提供他们必要的资源,以便在平台上轻松构建和部署应用程序。实现完全兼容 EVM,所以在平台上部署 Uniswap 或任何智能合约只需 10 分钟
从现在比较热的模块里的角度来看,Movement Lab 属于执行层,基于MoveVm优秀的性能和安全性。任何人都可以启动任何启动Layer2,可以选择Arbitrum Orbit、OP Stack、Polygon CDK使用 Celestia、EigenLayer 和 NEAR 作为 DA,然后使用Movement Lab的 VM 进行执行,并连接到共享排序器。