
Move:为“数字资产”而生的智能合约语言
Facebook 在2019年发布数字货币项目 Libra 的那一天时,肯定没有想到,随后的故事是,Libra被迫转型为Dime,而Dime又最终以1.82亿美元的价格被Meta出售。这个曾经定位于,为面向数十亿人的全球货币和金融服务提供基础设施,一经推出便吸引了整个金融市场的高度关注的计划,看起来是无疾而终,但其实却给整个加密行业留下了宝贵的遗产——一个弥补了 Solidity 及 EVM 缺陷,并实际运用于,目前最具代表性的新Layer 1公链 Aptos、Sui 的编程语言,Move 编程语言。
通常情况下,新公链上支持,图灵完备智能合约的编程语言主要有两种方式:
一种是基于现有的编程语言进行裁剪,然后运行在 WASM 等通用的虚拟机里。这种方案的优势是可以沿用当前编程语言以及 虚拟机的生态。
另一种呢,是新造一个专门的智能合约编程语言以及虚拟机,从头构造语言以及虚拟机生态。我们熟悉的Solidity /səˈlɪdɪti/ 语言 是这种方式,今天聊的Move语言,也是这条发展线路。
由于 Move 合约之间的依赖和调用方式可以让它最大化的复用模块,适合一层一层构建智能合约的基础设施,而Move 的“自由状态”模型,可以让数字资产在不同的合约之间流动,提供基于类型的组合性。基于以上两个特性,Move 可以在分层扩容方案中发挥更大的价值,比如实现跨层的合约复用以及组合,任意状态的跨层迁移。Move 也由一个为 Libra 设计的智能合约语言演变成一个开源社区项目,成为多链设计的一环,让它可能被更多的公链等基础设施项目采用,从而构造更大的生态。
经济学家布莱恩·阿瑟在《技术的本质》中写道,
“新技术都是在现有技术的基础上发展起来的,现有技术又来源于先进的技术。将技术进行功能性分组,可以大大简化设计过程,这是技术‘模块化’的首要原因。技术的‘组合’和‘递归’特征,将彻底改变我们对技术本质的认识。”
Move 是一种注重安全和灵活性的新型智能合约编程语言,其生态系统包含一个编译器、一个虚拟机和许多其他的开发工具。 Move 受到 Rust 编程语言的启发,该语言通过线性类型等概念来明确数据的所有权 ,Move 强调了资源的稀缺性、保存和访问控制, 并定义了每个资源的生命周期、存储和访问模式。 这确保了像 “数字资产”这样的资源不会在没有适当凭证的情况下产生,且不能被重复消费,也不会消失。
你不能阻止一个人向自己的脚开枪,编程语言是一个工具,开发者用这个工具向自己的脚开枪的时候,编程语言本身能做些什么事情?智能合约让不同组织的程序运行在同一个进程中,最大化了编程语言的作用,但也带来了新的安全挑战。当然,新命题必然出现新问题,哪怕有更多的新问题出现,我们依然相信 Move 是一种可以提供更安全、更快捷、更简单的方式来编写智能合约的语言,它将成为一个强大而充满活力的开发者生态系统的基础层。而实际上,使用 Move 来构建下一代 Web3 应用程序以吸引更多的 Web3 用户的设想,今天已经在实实在在的发生着。
Move:为“数字资产”而生的智能合约语言