文章深入探讨了基于Move的区块链技术,介绍了其安全性和开发者体验优势。Move采用基于资产的存储模型,提高了安全性,并通过静态调度和形式验证器增强了可靠性。对比了基于Move的区块链Aptos和Sui的架构差异。未来展望包括吸引开发者建立应用生态系统。
Move 是一种用于智能合约开发的新编程语言。源自 Facebook 已终止的 Diem 和 Novi 项目,Move 旨在通过解决现有语言如用于 EVM 的 Solidity 和用于其他 L1 生态系统如 Solana 和 Near 的 Rust 的局限性,来革新智能合约开发。Move 的设计理念侧重于提高安全性和增强开发者体验。这种方法旨在使智能合约开发不仅更安全、更高效,还能让非加密领域的开发者更容易上手。
两个主要的基于 Move 的区块链是 Aptos 和 Sui。此外,Movement Labs 正在通过其名为 M2 的 Layer-2 区块链将 Move 引入以太坊生态系统。
本文将深入探讨 Move 的关键特性,并将其与现有的智能合约语言进行比较。我们将探讨 Move 如何承诺更安全、更具可扩展性,并提供更友好的开发环境。
Move 通过其基于资产的存储模型引入了智能合约开发的根本性转变,这与 Solidity 的基于地址的方法形成鲜明对比。
在 Solidity 中,区块链的状态是围绕地址组织的。每个地址(如用户的钱包或智能合约)都有相关的存储,资产通常表示为此存储中的映射条目。这种模型可能会导致在不同地址和合约之间管理资产的复杂性。
Move 将资产称为“资源”,将其视为在区块链状态中具有独立存在的对象。要理解这一点,可以将每个资产(如币或代币)想象为其自身独特的数据库条目。与传统区块链系统中一个地址仅仅拥有资产余额不同,在 Move 中,每个单独的资产独立于地址存在。
当你在 Move 中拥有一个资产时,就好像该资产的数据库条目将你的地址列为所有者。当你转移资产时,不仅仅是更新余额,而是整个资产“移动”到新所有者的存储中,在原位置不留任何痕迹。这类似于物理上交付一个独特的物品,而不仅仅是更新账户中的数字。
这种设计具有内置的稀缺性和访问控制属性,相较于 EVM 等系统中只有本地货币(ETH)具有这些固有保护,这是一个显著的改进。资产不可能同时存在于两个地方或意外复制。在其他智能合约语言中,开发者需要仔细实现检查以防止双重支付等问题。而在 Move 中,这些保护是资产工作方式的固有特性。
Move 由两种类型的程序组成:交易脚本和模块。交易脚本是原子的,只能使用一次,而模块则发布在全局状态中并永久存在。模块类似于其他编程语言中的智能合约,定义资源及其相关的过程。
与 EVM 不同,Move 没有动态调度,这是防止许多以太坊合约遭受重入攻击的关键因素。在具有动态调度的系统中,确切的函数调用在运行时确定。这意味着当一个合约调用外部函数时,直到调用发生前,它并不知道将执行什么代码。这种不确定性可能被利用进行重入攻击。
而 Move 的模块系统使用静态调度。所有函数调用在编译时解析,这意味着在处理交易之前就知道将执行的确切代码。这种方法消除了与动态调度相关的不确定性。
静态调度和资源模型的结合意味着虚拟机始终知道正在执行的操作,并能确保资源得到正确管理。这显著增强了安全性,使合约不可能意外重复使用资源或进行可能导致重入漏洞的调用。
Move 还结合了其他功能以进一步增强其安全性。Move Prover (MVP) 是一个智能合约的形式验证器,提供合约正确性的数学证明。这种级别的验证在其他智能合约语言中并不常见。此外,字节码验证器在执行前检查所有模块和交易脚本的安全性和合规性,为安全性增加了一层保障。
此外,Move 的强静态类型系统在编译时捕捉许多错误,这是一种主动的错误检测方法,显著减少了运行时错误的风险。此功能结合 Move 的模块结构和泛型,提供了比 EVM 的合约类型更强的类型安全性。
这些功能共同创造了一个更安全和高效的环境,用于开发和部署智能合约。通过在语言层面解决常见漏洞并提供形式验证工具,Move 旨在提高智能合约的可靠性和 Web3 领域开发者的生产力。
特性 | Aptos / Move | SVM | EVM | Sui / Move | |
数据存储 | 存储在全局地址或所有者的账户中 | 存储在与程序关联的所有者账户中 | 存储在与智能合约关联的账户中 | 存储在全局地址 | |
并行化 | 能够在 Aptos 中推断运行时的并行化 | 需要指定所有访问的数据 | 目前是串行的,生产中没有 | 需要指定所有访问的数据 | |
交易安全 | 序列号 | 交易唯一性 | Nonces,类似于序列号 | 交易唯一性 | |
类型安全 | 模块结构和泛型 | 程序结构 | 合约类型 | 模块结构和泛型 | |
函数调用 | 静态调度 | 静态调度 | 动态调度 | 静态调度 | |
认证存储 | 是 | 否 | 是 | 否 | |
对象可访问性 | 保证全局可访问 | 不适用 | 不适用 | 可以隐藏 | 来源: https://docs.movementlabs.xyz/ |
Aptos 和 Sui 都是基于 Move 编程语言构建的,由 Facebook 的 Diem 项目前成员开发,代表了在区块链架构中实现 Move 资产导向设计的两种不同方法。尽管它们有共同的起源和语言,但在几个关键领域的实现上有显著差异。
Aptos 遵循更传统的区块链模型,采用类似于以太坊的地址中心设计。虽然它保持了 Move 的资产导向方法,将资源视为具有自己存储和属性的对象,以受益于 Move 提高的安全性,但整体区块链状态仍然围绕地址组织。Aptos 上的可替代代币更像 EVM 代币。Move 记录资源内所有权的独特功能在 AIP-21 中已被禁用。
这种设计选择使 Aptos 对其他区块链生态系统的开发者更为熟悉。为了实现高吞吐量,Aptos 采用 Block-STM(软件事务内存),这是一种并行执行引擎,允许乐观并发执行交易。它可以同时处理数千笔交易,动态检测和解决冲突。
相比之下,Sui 引入了一种使用有向无环图(DAG)的新颖对象中心模型。Sui 通过更改“对象”上的数据来记录交易,每个对象本质上都有自己的分类账。这一根本区别塑造了 Sui 的许多其他特性和能力。对象中心设计使 Sui 能够自然地并行处理不相关的交易。独立交易不需要排序,可以同时即时处理,几乎提供即时最终性。对于涉及共享对象的交易,Sui 通过其 Narwhal 共识引擎和因果顺序执行采用先进的并行化技术。这种方法使 Sui 能够在各种交易类型中实现高吞吐量。
来源: 币安报告
Aptos 采用 AptosBFT,这是 HotStuff 协议的一个迭代,具有基于声誉的验证者领导者选择系统。该共识机制与 Block-STM 执行引擎协同工作,以在网络中保持一致性,同时实现高吞吐量。
由于其对象中心模型,Sui 的共识方法更加复杂。对于涉及共享对象的交易,Sui 使用拜占庭容错(BFT)共识协议,结合 Narwhal 和 Bullshark。
在测试网上,Sui 最近引入了新颖的 Mysticeti 共识算法。与 Narwhal-Bullshark 相比,这将把结算最终性从 640ms 减少到 390ms,使 Sui 更加快速。
不影响共享状态的简单交易可以完全绕过共识,允许几乎即时的最终性。这种双重共识方法旨在优化安全性和速度,利用 Sui 架构的自然并行性。
两个平台都利用 Move 的安全功能,但以不同的方式扩展它们。Sui 提供对可升级智能合约的原生支持,作为其核心协议的一部分,允许开发者在内置保护措施下修补已部署合约的漏洞或添加功能。Aptos 虽然在协议层面不提供此功能,但通过特定编程模式支持可升级合约。
Sui 引入了 Sui Move,具有针对其对象中心模型优化的平台特定扩展。Aptos 保持与核心 Move 的更紧密对齐,鼓励模块化智能合约开发,促进代码重用和在其地址中心结构内更容易的维护。
Aptos 引入了“资源账户”,由智能合约而非用户拥有和控制,允许更灵活的链上治理和自动化交互。它还提供灵活的密钥管理方案,包括多签名账户和密钥轮替。这些功能旨在增强安全性,并在 Aptos 熟悉的区块链结构中实现更复杂的去中心化应用。
Sui 利用其对象中心模型,提供可编程交易块,允许用户将多个操作批处理成一个原子交易。此功能可以显著降低复杂操作的交易成本,并启用新类型的高效、多步骤区块链交互。
Sui 实施了本地化费用市场,可能防止在特定应用高需求期间出现全网费用飙升。这种方法允许对交易成本进行更细粒度的控制,并可能为用户和开发者带来更可预测和高效的费用结构。
Aptos 使用全球费用市场,更符合传统区块链模型。虽然这种方法对区块链领域的许多人来说是熟悉的,但它可能更容易受到全网拥堵和费用飙升的影响。然而,Aptos 对可升级性的关注表明其费用结构可能在未来演变,以解决这些潜在问题。
虽然 Aptos 和 Sui 都基于 Move 的资产导向设计,但它们在整体区块链架构、共识、智能合约功能和经济模型上采取了不同的方法。Aptos 将 Move 的面向对象资产集成到一个熟悉的地址中心结构中,可能会使其他生态系统的开发者更容易采用,同时仍然提供显著的安全改进。另一方面,Sui 完全拥抱并扩展了 Move 的面向对象方法到整个区块链设计,提供了一种更激进的传统模型的偏离,可能启用新类型的应用程序和潜在的更高水平的并行性。
Sui | Aptos | |
市值 | $2.26B | $2.89B |
完全稀释估值 | $8.71B | $6.66B |
TVL | $611M | $377M |
市值/TVL | 3.74 | 7.86 |
日活跃用户数 | 427,000 | 148,700 |
Dex 交易量 | $338M | $306M |
日交易量 | 3.2M | 723,000 |
7 天费用收入 | $52.8k | $38.6k |
当前数据表明,Sui 在采用方面略微领先于 Aptos,因为该链迄今已吸引了更多用户、流动性并产生了更多交易量。
M2 代表了 Move 生态系统中的一种新方法,旨在将 Move 的优势带到以太坊网络作为 Layer 2 解决方案。由 Movement Labs 开发,M2 旨在结合 Move 的安全性和开发者友好性与以太坊的网络效应和已建立的生态系统。M2 的主要特点包括:
来源: movementlabs.xyz
2024 年 8 月,Movement Labs 启动了其 MoveDrop 激励测试网阶段,重点面向开发者和用户。主网启动日期尚未公布。截至目前,Movement Labs 尚未宣布代币计划,但在启动激励测试网后,似乎可以确定将会有代币发布。开发者和用户可能会考虑与 M2 激励测试网互动,以期望未来可能的空投。
正在进行的计划旨在将 Move 带到各种区块链生态系统。Solana 基金会正在进行 Move 集成工作,有努力构建一个 Move 模块,使 Cosmos 原生 Move 链成为可能,同时也有将 MoveVM 带到 Substrate 和 Polkadot 生态系统的计划。
然而,所有这些努力仍处于早期阶段,并面临各种技术挑战。因此,这些解决方案的确切形式及其可用时间仍不明确。但可以肯定的是,目标是将 Move 确立为“智能合约语言中的 JavaScript”,利用其高级功能和对开发者友好的特性,跨越多样化的区块链环境。
展望未来,所有 Move 链的成功将取决于其吸引开发者的能力,这些开发者将构建出一个繁荣的应用生态系统。由于其更简单和更好的开发者体验,Move 可能更好地吸引新进入加密领域的开发者,从而实现更陡峭的增长曲线。
然而,仅仅简单的入门还不足以实现这一目标。Move 区块链需要培养一个充满活力的社区,为潜在开发者提供有趣的商业机会。这创造了每个新区块链面临的一个挑战性循环:吸引开发者需要大量用户基础,但获得用户需要引人注目的应用。凭借其大量资金和提供优越的智能合约语言,Move 区块链可能是打破这一循环的最佳新区块链。
最终,Move 对资产导向编程和内置保护措施的强调,使其有可能成为吸引下一波区块链开发者及其创新的催化剂。如果开发者入门率达到逃逸速度,Move 可能在塑造一个更安全和对开发者更友好的去中心化应用未来中发挥关键作用。
本文由 Lukasinho 撰写和准备,他是 GCR 研究团队的成员,该团队由一群在其领域拥有广泛知识和专业知识的专业人士组成。致力于跟进行业发展并提供准确和有价值的信息,GlobalCoinResearch.com 是一个值得信赖的新闻、研究和分析信息来源。
免责声明: 投资具有内在风险,包括但不限于技术、操作和人为错误,以及平台故障。提供的内容纯粹是为了教育目的,不应被视为财务建议。本文作者不是专业或持证的财务顾问,所表达的观点是他们自己的,并不代表他们可能隶属的任何组织的意见。
如果觉得我的文章对您有用,请随意打赏。你的支持将鼓励我继续创作!