# Move语言新公链潜力

By [Sui hub](https://paragraph.com/@sui-hub) · 2022-11-13

---

Move语言的机会
=========

1.Move语言具有将资产作为一等公民编程、安全性、灵活性、可组合性等特点；

2.采用Move语言的公链生态发展尚处初期，交互选择不多；

3.多家知名投资机构已提早布局具有Meta背景的公链，传统金融机构正在入局；

4.根据Aptos、Sui的生态扩张、测试网进展和估值，需持续关注两者未来的走向和市场表现。

Move语言是Meta（原Facebook）开发的编程语言，是一款专为数字资产打造的编程语言。

其特点包括将资产作为一等公民编程、安全性、灵活性、可组合性等，为DeFi、NFT项目开发者提供了优质的选择，为项目开发提供更多想象力。

在新一批新公链当中，Aptos、Sui等公链将采用Move编程语言作为卖点，Move编程语言的安全性、灵活性等特性成为新公链主打的优势之一。

目前采用Move编程语言的公链中，热度较高的是Aptos、Sui和Starcoin，三者开发进度和生态处在相对领先的地位。

不过总体来看，采用Move语言的公链目前还处在发展的早期阶段，生态在快速扩张，但生态中比较成熟的项目数量还不多，用户如要做交互，还需要再观察一段时间。

具有Meta背景的Aptos和Sui获得多家知名投资机构的投资。

a16z、Franklin Templeton、Tiger Global、FTX Ventures等均出现在投资阵容中。

虽然两者发展尚处于早期，但机构已经看到了Move语言公链的潜在机会，抢先布局。

Move语言能够获得开发者的青睐，更多来源于其技术特点。而要获得用户，使用Move语言的公链不仅要有新叙事，还要在价值捕获、生态建设、用户体验等方面多做事。

Move语言的特点
=========

Move是Meta（原Facebook）为其稳定币项目Diem（原Libra）开发的编程语言，Diem的愿景是作为一款全球性的数字原生货币，集稳定性、低通胀、全球普遍接受和可互换性于一体。其愿景决定了Move是为金融而生的编程语言。

Move的特点主要有以下五个方面：

1.将资产作为一等公民编程（First-class Resources）

2.通过静态调用、虚拟机沙盒等确保其安全性

3.可验证性

4.灵活性

5.合约可组合性

（一）将资产作为一等公民编程（First-class Resources）

Move语言通过Resource为数字资产定义。Move语言中数字资产以被特殊定义的代码/resource/表示和存储。

Move语言抽象了资源（Resource）的四个属性：可复制、可索引、可丢弃、可存储，通过这四个属性的不同组合，用户可以方便的定义出任何类型的资源。

Move规定资源（Resource）会存储在由所有者的帐户控制的模块里，经过验证的所有者以/签名者/表示，这些资源的所有者具有最高决定权，只有所有者能够决定资源（Resource）的存储和转移。

资源（Resource）的设计让数字资产转移不是账户间余额数值的简单加减，而是存储位置间的移动，避免重入和双花攻击。

重入和双花攻击是黑客攻击常见类型。重入指的是黑客抓住项目方转账模式的漏洞，制造恶意合约，在接受转账的同时再次调用项目方转账函数，在不改变账户余额的情况下不断提走资金。双花攻击则更好理解，用同一笔钱多次完成支付。

资源（Resource）确定数字资产仅在存储位置之间转移，避免了重入。不凭空产生或销毁数字资产，避免了双花攻击。

（二）通过静态调用、虚拟机沙盒等确保其安全性

Move语言采用静态调用，静态调用指程序A在调用程序B时，在运行之前就已经确定调用的对象，在运营过程中不改变调用对象。

静态调用提升了运行的安全性。动态调用过程中，恶意用户可以通过制造恶意合约，调用项目方函数，从而完成攻击。静态调用解决了动态调用存在的问题，增强网络运行的稳定性。

Move VM是Move编程语言的虚拟机沙盒，虚拟沙盒让采用Move语言的区块链具备确定性，合约调用被放在同一个沙盒当中，在此过程中合约的状态的安全性主要要通过编程语言内部的安全性进行隔离，而非依赖虚拟机进行隔离。

（三）可验证性

Move编程语言采用形式化验证。简而言之，形式化验证是用数字工具分析的手段证明程序的安全性。此前提到的静态调用、虚拟机沙盒能够提升验证的安全性。

（四）灵活性

Move的灵活性体现在可以通过transaction脚本来自由组合各种transaction来实现不同的功能，一个脚本可以调用多个transaction。

Move通过面向泛型编程，保障了合约的扩展性，增加了代码的复用能力。（注：泛型编程是一种专注于对算法及其数据结构进行设计的编程方式，它使得这些算法即数据结构能够在不损失效率的前提下，运用到最为通用的环境中。）

（五）合约可组合性

Move语言的合约可组合性源自于其Module（模块）的设计，基于Module间的组合只需要对Module进行升级和优化，所有使用过这个Module的其他合约都会自动使用最新的版本，加速使用Move语言的智能合约升级优化的速度。

Module相当于给这些智能合约提供了统一的兼容空间，智能合约就像乐高玩具的各个部分，通过任意组合产生新的产品。

 **一是热门公链项目Aptos、Sui使用的Move编程语言。**

**第二是并行化处理技术。它们的价值可能会不局限在某一个公链本身，而是会对行业产生更大的影响。**

**Move语言是一个亮点，它的价值可能比几个明星新公链还大。Move提出了面向资源编程的理念，抽象出了一种叫做”资源“的东西。用户可以方便的定义出任何类型的资源（比如我们常见的加密资产就是一种不可复制、不可毁灭的资源），还可以定义这个资源可以被如何操作。这让它有了以下特性。第一，Move 编程语言的安全性更高。它通过资源定义与控制权限分离、静态类型、泛型、模块系统、形式化验证等特性使得智能合约语言更适合其面向资产的场景，从智能合约层面保障数字资产的安全。第二，Move可以帮助开发者将注意力转移至其他更应该被关注的地方，比如编写正确的业务逻辑，实现正确的访问控制策略等。第三，Move语言的智能合约的可组合性更强。这可以节省合约占用的区块空间，并让优化升级变得更容易。第四，Move的门槛比Solidity更低。而且还会有底层编译器，进一步降低开发门槛。基于Move的新公链如果发展不如人意，可以把它们视为对未来的开发者再做了一轮科普。如果成功了，会带来一种全新的编程方式。所以从这个角度看，Move的价值比基于它的公链的价值更大。**

**并行化处理是另一个大的亮点，它可能是底层改进的趋势。目前以太坊的交易是串行处理的，所有交易都需要用EVM的单核CPU处理。并行化交易的思路是不再采用线性处理的方式，而是采用更加并行的方式做，比如Aptos利用16核CPU开多个线程同时处理不相关的交易来提升TPS。分片技术其实是并行处理的典型，但更多的是在架构层面的并行化设计，此处讲的并行化处理是指程序处理时对进程或线程的并行化，更贴近于系统底层。在未来并行化有可能成为公链的标配，所有公链都或多或少带有这种特性。这种转变类似于在18–19年之后的公链都采用了POS共识机制，而普遍的放弃了POW机制。）**

  

**使用Move语言开发的公链**

**据Sui开发团队MystenLabs撰写的介绍Move语言的文档，目前有4条公链已经使用Move语言，分别是Aptos、Sui、Starcoin、0L Network。**

**接下来我们将主要针对Aptos和SUI进行深度跟踪，深度研究，与社区一起分享生态机会与进展；**

---

*Originally published on [Sui hub](https://paragraph.com/@sui-hub/move)*
