新型智能合约编程语言 Move 和 Solidity 有什么区别?

作者:0XNATALIEChainFeeds Research

Move 介绍

Solidity 是目前最流行的智能合约编程语言,在以太坊虚拟机(EVM)上运行。但其设计并不完美,存在一些安全和效率上的问题。Solidity 资产通常被视为可变更的数字,有潜在的重入攻击、双花等安全问题,并且缺乏内置的形式化验证(运用数学方法证明),安全依赖于开发者的实现。此外,交易通常顺序执行,限制了性能和扩展性。这些问题促使了 Move 语言的开发。

Move  是由 Facebook 为加密货币项目 Diem(前 Libra)开发的一种新型智能合约编程语言。Move 强调数字资产的独特所有权,引入了一种以「资源」为核心的编程模型,将数字资产视为不可复制和不可丢弃的资源,只能通过显式转移进行处理,从而防止重入攻击、双花问题。Move 通过资源导向的特性和形式化验证,提供了一种更为安全的方式来处理和管理链上资产。并且 Move 的设计允许并行处理交易。

Move 对并行交易处理提供基础的语言支持,并行执行的效率和可行性还是取决于底层区块链如何实现 Move 语言规范。比如 Aptos Move 能够在运行时推断并行化,意味着系统可以自动推断事务或操作之间的依赖关系,并决定哪些交易可以同时进行,以此来最大化使用可用的计算资源。而 Sui Move 进行并行处理时,开发者需要预先表明数据依赖关系。

Movement Labs:构建 Move 基础设施

Movement Labs  是一家致力于通过采用和扩展 Move 编程语言来推动其区块链网络的发展的技术公司。上个月,Movement Labs 完成了 3800 万美元的 A 轮融资,此外还获得了 Binance Labs 的投资支持,具体金额暂未披露。Movement Labs 开发的产品 M2,目标是为以太坊带来并行化。

M2 以太坊上第一个 Move zk L2,由 Movement SDK 支持。M2 通过将 Move 编程语言的优势带入以太坊生态系统,实现更高的安全性和性能,并且它还支持与其他基于 Move 的区块链系统无缝互操作。

Movement SDK:实现互操作性

Movement Labs 开发的 Movement SDK 是一个综合性的开发工具包,推动 Move 语言的应用。并且 Movement SDK 结合了 MoveVM 的安全架构与 Solidity 的适应性,创造一个能够支持各种区块链技术和应用的框架。SDK 的核心组件包括:

  • MoveVM:Move 虚拟机(VM)是 Movement SDK 的核心,提供安全高效的智能合约执行环境。它遵循资源导向的计算范式,强调资产在区块链生态系统中的独特性和不可替代性。
  • Fractal:Fractal 充当了 Solidity 与 MoveVM 之间的桥梁。它的主要功能是允许开发者在 MoveVM 上部署现有的 Solidity 合约,确保这些合约在 Move 生态系统中的兼容性。具体来说,Fractal 解析 Solidity 合约,并进行标记化处理,将 Solidity 合约转换为适合 MoveVM 执行的中间语言表示。最后将中间语言表示转换为 MoveVM 可执行的字节码。
  • 自定义适配器(Custom Adaptors):这些适配器使得 Movement SDK 能够与定序器和数据可用性层无缝集成,以支持多种不同的技术栈和基础设施,增强互操作性。

随着区块链向高吞吐量、低延迟的互联网级应用扩展,并行执行技术已成为区块链技术开发的重要趋势之一。Move 语言通过其独特的资源模型和安全机制,改善 Solidity 语言的不足之处。Movement Labs 构建 M2 将 Move 语言的优势带入以太坊生态系统,实现更安全的并行交易处理。

免责声明:作为区块链信息平台,本站所发布文章仅代表作者及嘉宾个人观点,与 Web3Caff 立场无关。文章内的信息仅供参考,均不构成任何投资建议及要约,并请您遵守所在国家或地区的相关法律法规。