作者:日月小楚 来源:medium
并行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。
Movement Lab
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 进行执行,并连接到共享排序器。