
- 一方面,它以 Rust 为基础,被设计为一种面向对象的语言,用于编写具有安全资源管理的智能合约,着重强化了数字资产的地位,使得开发者能够更灵活、安全地在链上定义和管理数字资产;
- 另一方面,基于 Move 语言的源代码 Move IR 可以通过解耦交易脚本和模块,拆分交易逻辑和智能合约,这也使得 Move 系公链的 TPS 往往能达到上万甚至 10 万级别,大幅高于 EVM 系公链的性能;
- 面向资源的编程:MoveVM 将资产视为有形的、不可复制的资源,从而确保了资产管理的更高程度的安全性和完整性;
- 严格的安全保证:通过采用字节码验证过程,MoveVM 确保所有运行的代码都遵守严格的安全协议,最大限度地减少漏洞并增强区块链系统的整体稳健性;
- 高效的资产管理:它提供了一个受控的环境,允许精确管理数字资产,确保以最高的保真度和可靠性执行交易。
- 类型安全和形式验证:MoveVM 强调类型安全,采用严格的类型系统在编译时捕获错误,结合形式化的验证方法,它确保智能合约遵守指定的属性和安全标准,降低错误和漏洞的风险;
- 隔离和封装:MoveVM 中的资产和代码封装在模块中,从而实施严格的访问控制和隔离,这种封装可防止未经授权的访问和交互,确保每个模块在其定义的参数范围内运行,从而增强系统的整体安全性和完整性;
- 字节码验证:MoveVM 采用全面的字节码验证流程在执行前仔细检查智能合约,此步骤可确保所有合约都符合平台的安全性和正确性标准,从而显著降低执行恶意或有缺陷代码的风险;


- 分词和解析。该过程首先将 Solidity 脚本分解为表示脚本基本元素(例如变量、函数和控制结构)的分词,解析这些分词涉及分析 Solidity 代码的语法结构,并将元素组织到抽象语法树 (AST)中,该树描述了代码的逻辑和组织流程;
- 抽象语法树(AST)。AST 是 Solidity 代码语法结构的树表示形式,它详细介绍了操作的层次结构和不同代码段之间的相互关系;
- 中间语言(IL)。构建 AST 后,代码将转换为中间语言(IL),以弥合了高级 Solidity 代码和执行所需的低级指令之间的差距;
- MoveVM 操作码。然后将 IL 编译为 MoveVM 的操作代码(操作码),这些操作码是虚拟机理解和执行的基本指令,指示 MoveVM 应执行的特定操作;
- MoveVM 字节码。在最后阶段,操作码将转换为 MoveVM 字节码,此字节码是程序的可执行二进制表示形式,完全基于原始的Solidity脚本进行编译,并准备在 MoveVM 的安全和面向资源的环境中运行;
- 数据可用性服务 (DA)。Movement SDK 与 DA 服务集成,使 DA 服务能够直接在 L1 上运行,或作为独立的专用 DA 服务运行,确保对交易数据的可靠访问;
- 对 Danksharding 的支持。为了匹配以太坊的发展路线图,Movement SDK 预留了与独家 DA 服务提供商合作的能力,其中包括 Celestia 和 EigenDA——由它们提供有保证的数据可用性;
- 验证器节点管理和排序器集成服务。Movement SDK 的自定义适配器还负责验证器节点的战略管理和重新配置,同时通过与 Snowman 和 Proof of Stake (PoS) 等共识机制对接,SDK 加强了区块链对女巫攻击的防御能力;
- 跨 DA 层的包容性。该自定义适配器还能够支持各种 DA 层,包括 Ethereum-4844 和几个主权 DA 解决方案,如 Celestia、EigenDA 和 Avail,确保用户可以选择最符合其应用需求的 DA 层;

