对话实录:从Aptos 崛起谈 Move 语言的优势

Buidler DAO热度: 13166

Move语言面向资源,非常适合区块链上资产的特性。Move 相比于 WASM,更专一、更安全;相比于 Solidity,更灵活、更便捷。因此现在是布局或者学习 Move 相关内容的好时机。

原文作者:Buidler DAO

原文来源:微信公众号

嘉宾

Daniel | @nft_souffl3 | Souffl3 社区大使

李大狗 | @0xleeduckgo | NonceGeekDAO Founder

廖师虎 | @lshoo36 | MoveDAO 发起人

Alex | @3njoy_labs | 3NJOY Labs Founder

GG | @gguoss | ChainX & ComingChat & OmniBTC Founder 兼CEO;区块链老兵

TL;DR

Aptos 算是 Libra 和 Diem 的延续。Move 语言是和 Libra 一起在 2019 年由 Facebook 推出的。

相对于传统编程的面向对象或面向流程,Move 语言面向资源,非常适合区块链上资产的特性。并且它有三个特点:1. 快;2. 安全;3. 自我迭代。对于区块链从业开发者更为友好。

公链开发最主要最知名的有三种编程语言:1. Solidity;2. WASM;3. Move。Move 相比于 WASM,更专一、更安全;相比于 Solidity,更灵活、更便捷。 生态、资金、造富效应以及开发入门都是阻碍用户和开发者进入 Move 的门槛,但同时也是所有从业者的机会。因此现在是布局或者学习 Move 相关内容的好时机。

所有的代码功能只是工具,而不是目的。功能需要有治理来协作,项目的治理和项目的底层技术都是同等重要的话题

对于想要接触 Move 或其他项目的新人来说,加入并切身体验 DAO 是个不错的办法。一定要真的去敲一些代码,真的去交一些朋友,真的加入一些组织体验才行。

对于新的机会,不要等待别人总结好信息投喂给你,因为那时红利基本已尽。要多去发现和研究源头的资料和内容。

Q: Aptos 和 Move 各自的背景以及两者之间关系?

@李大狗

Aptos 算是 Libra 和 Diem 的延续,Move 语言是和 Libra 一起在 2019 年由 Facebook 推出的。其实当时大家都非常看好 Libra 和 Move 语言,特别是 Move 语言,因为它的一个特点是面向资源,非常适合区块链行业中资产的特性。但是 Libra 由于政策和监管的原因,没有正式上线。后来创始团队的成员各自出来创业,推出了新公链 Aptos 和 Sui,基本上延续了之前的技术栈。

Aptos 基本上延续了 Libra 的代码库,也做了一些优化和升级,特别是 Block-STM 这个技术,对交易的并行处理做了很大的强化

Move 会越来越适合区块链的需求,比如面向资源、并发性和模块化等等。

@廖师虎

Aptos 增加了 table 这种数据结构,这为 Move 赋能了更多的应用场景,比如大数据的存储、NFT 还有 DAO 等社交网络的开发。

Aptos 和 Sui 这两个链和 Move 语言是相互成就、相互促进的。

Q: Move 的特点与优劣势?

@GG

在公链领域,最主要、最知名的区块链编程语言有三种:Solidity 是最大的;第二是 WASM 语言;第三就是 Move。

Solidity 的底层基本不会迭代,迭代的都是其上的工具或协议,比如说 ERC-721。它没有自我生长的能力。(但是不可否认 Solidity 的生态是足够强大的,千亿美金的资产和几年时间的沉淀也已经检验了其可靠性)

WASM 语言是一个中间状态的语言,由网景开发,主打大而全,任何语言都可以用它编译成一个中间语言。但因为体量过大,其安全性很难控制。

Move 语言拥有对于一个想要快速发展的生态来说很有用的特性,就是快。Move 语言第二个很大的特性就是安全。第三个,Move 语言是后期发展的,而不是前期发展的,因此它的自我迭代性很好。我们熟知的一些语言,如 C 到 C++ 到 Java 再到后面的 Rust,它们的工具包和功能以及易学性,都是通过总结以前语言的一些错误和经验,来适应当下的环境。Move 语言是 Facebook 从一开始就高屋建瓴,通过总结区块链这个赛道的问题,开发出来的语言。它的自我迭代、性能特别强。

另外,Move 语言也有一个很大的缺点,就是目前除了 Aptos 和 Sui 这两个还没有上线的明星项目外,基本没有先驱了。所以 Move 语言到底怎么样?是需要弄潮儿们去亲自验证的。

@李大狗

我觉得程序员忍受垃圾语言的能力是特别强的。比如 JavaScript、Solidity、Java,都非常热门,也能构建出大型的项目。但是总有一小部分的程序员,在 programming language 层面有更高的追求。Move 语言,就很适合这种有洁癖的开发者。

@廖师虎

Move 语言是基于 Rust 的,其继承了 Rust 的一些优点,并且针对智能合约资产做了一些延伸的支持,比如说资产不能被 copy ,也不会意外丢失。举个不太恰当的例子来说,如果 Solidity 是 C 或者 C++,那 Move 可能就是 Java。Solidity 对智能合约中的资产就像对指针的控制一样,很难做得好;但是 Move 有了线性类型,在资产管理方面解决了一些本质问题。

@Alex

Move 对我最大的吸引点在于模块化的设计。面向 Solidity 的时候,比如 ERC-20,更像是一个面向接口的模式;但是在 Move 里面,很多基础的模块是可以持续迭代升级的。比如在以太坊上做了一个 ERC-721,当 ERC-721a 出来的时候,项目方必须要重新去部署和开发。Move 的机制可以大量释放团队在底层工作中耗费的时间。这种基础设施慢慢完善起来之后,中间的 framework 层会变得越来越多。每个团队都可以集中做自己最专业的业务,对整个生产力也是一个大幅的提升。

第二个是 Move 的安全性。这种安全源于三个层面

1. 语言层面,Move 像 Rust 一样有自己的 ownership,所有权机制。

2. 语法层面,面向资源的编程模式,使 Move 有很强的数据抽象能力。

3. 虚拟机层面,类似于 Java,Move 有自己的字节码校验器。在此基础上,其有一套形式化验证的工具 Move Prover,能够帮助程序员做暴力的穷举测试,去判断系统是否有 bug。这对于寻找隐藏 bug 非常有帮助。

@Daniel

从生态建设者、应用建设者的角度来讲,Aptos 最大的特点就是快

首先,相比在 Solana 上开发项目,Aptos 会带给我们很多惊喜,因为有很多中间件和工具,而且跟提供基础设施的团队交流起来也很愉快。我们在 Aptos 上开发时用到了一个基础设施,叫 Wav,其提供了一系列已经编译好的合约和 API ,可以实现基础功能的快速构建。

其次,Move 语言面向资源的特性,让构建代码变得很方便

第三,Move 更加具有表现力和可玩性。比如,在以太坊上以 ERC-721 标准创建了NFT,如果后面再有新的协议、新的特性,比如 ERC-721a 或者 ERC-4907,是不可以去升级之前的 NFT 的。但是如果用 Move 语言写的话,未来是可升级的,可以把新的特性、后续的标准对资产的定义带入,这样可以大大地延长一些 NFT 项目的生命周期,给 NFT 带来第二次革命。

Q: 目前阻碍用户和开发者进入 Move 生态的最大的门槛是什么?

@GG

资金体量是一个问题。对于加密圈的用户来说,产品需要有一定的财富效应,才能吸引人;开发者也要盈利。当前的 Move 生态中没有以太坊、BSC 那样的资金体量和用户基础,但是从 0 到 1 的过程是充满无限可能的。

@廖师虎

因为太早期了,工具量和生态方面都不够丰富,开发者数量相对也比较少。但其实这也是一个机会,就像西部大开发一样,遍地都是黄金。Move 本身的特性是非常适合智能合约和资产管理的,其对于新的开发者来说吸引力较大。给 Aptos 和 Sui 和 Move 三年时间,我觉得大家的看法会很不一样。

@李大狗

目前生态上必要的开发组件缺失是最大的一个问题。

@Alex

对开发者来说,最大的困难是编程思维的转变。过去大家都习惯了面向对象的编程方式,突然面向 resource 之后,要在整个架构层面上更倾向于面向资源一点。在越成熟的开发人员中越明显。

@Daniel

门槛有两个:

第一个,中文的 Move 语言的学习资料太少了。

第二个,需要官方给力。众所周知,公链上线往往都是延后,很少听到提前。主网上线才可以正式地让生态运转起来,因此会是一个很重要的节点。

我觉得现在是提前布局的好时机,一旦生态真的爆发,资本也到位了,大家都开始投的话,机会也会变少。所以现在是学 Move 语言比较好的时间。

Q: 分享一些比较有趣的项目?

@Daniel

  • Souffl3:一个 NFT 市场,从宣布支持 Aptos 到 Twitter 粉丝破 1 万只用了 5 天时间。
  • Aptoswap:类似以太坊上的 uniswap,是最基本的dex。
  • NFT 项目:Aptos punk、Aptos robots、Aptoswhale、Aptos monkeys 等等。

@李大狗

Starcoin 里面 DAO 的部分。DAO 是下一波周期里非常大的机会,如果 Move 生态想弯道超车,它一定得把握住 DAO 这块的机会。

@Alex

  • Starcoin 上面 DAO 的内容
  • Aptos 中 Defi 赛道的基础框架类项目
  • Souffl3
  • 可以关注后面会不会出现偏向于数字资产的产品

@GG

  • Move-on-EVM:可以把 Move 语言一键编译成 Solidity 语言,也就是说一键编译成 EVM。这个项目是官方做的,是 Move 语言自带的特征。用 Move 语言写 Solidity,可以轻松克服安全问题;
  • ComingChat:类似于 web3 的 QQ,包括三个工具,一个是全链钱包,另一个是自带的插件浏览器,第三个是加密社交聊天中的红包功能;
  • chainX:提供资金渠道;
  • omniBTC:基于 LayerZero 的全链金融平台,可以一键快速兑换任意 EVM 链或者其他链上的资产。像中心化交易所一样,甚至比中心化交易所还要便捷,安全性也在用户自己可控的范围里。

提问环节

Q: 在 Move 语言中,对于开发者而言合约可升级是一个强大的功能;但对于用户来讲,会不会造成一些项目方篡改合约底层逻辑等危险的情况呢?什么样类型的合约可以升级呢?对于一个合约来说哪些部分是可以升级的?

@Alex

合约确实能升级,但是是有限制的。在 mint 的代币完成了初始规定的总数的发行后,会把 mint 的权限 drop 掉。已经发行了的 token,资产已经固定了,没办法凭空造出更多的资源。

另一方面,代码升级只是一个工具,而不是一个目的。这个功能需要有治理来协作,这意味着所有的持币人或者利益相关方都有相同的权利,一起去决定是否升级一个代码。

Q: Aptos 和 Sui 提升链上 TPS 的不同方式?

@Alex

Sui 使用因果顺序的排列提升 TPS,Aptos 是通过并行的方式。Sui 走的是注重技术的路线,Aptos 更注重生态发展。

Q: Move 的这套虚拟机跟 EVM 相比,核心优势是什么?

@廖师虎

Sui 选择使用 DAG 有向无环图,所有的资产都是对象,都有 ID,可以找到任意对象的所有血缘关系,所以他每个对象都是一个都可以单独的并行处理。

Aptos 这边它是采用的另外一种线路,就是针对某每一笔交易做了一些内部的排序和验证。

@GG

EVM 其实可以设计成并行的。不过现有的 EVM 相关的生态都是非并行的,如果谁去扩展一个带并行的 EVM 虚拟机,虽然长远来看是有价值的,但因为存在和生态上所有项目都不兼容的问题,成本会很高。Move 有个很大的优势,就是没有生态,一切都刚开始,并且从一开始的时候,就想到了要做并行的虚拟机。

其他观点

以太坊是一个标准的区块链,必须要对数据做全局状态认证,要考虑全局状态的控制,因此没办法做并行。

Q: 为何 EVM 的开发难度较高且复杂?

@GG

因为速度难以提升。每执行一笔交易,里面至少包括签名、哈希值等。如果电脑全部用来做交易的串行执行的话,TPS 最多也只能到 1 万。Solidity 虚拟机没有特质化,没有从一开始就针对性能的优化去设计,后来也没有人去颠覆他,导致了虽然大家都知道 Solidity 很难用,但是一直还停留在他的生态上面,越来越大。这不是因为它本身很强大,而是因为没有更好的对手。

Q: 从 Libra 到 Aptos 和 sui,它们都没有区块链的根本要素,没有区块,没有链,没有全局状态控制。比如 Aptos 其实是一个由多个 validator 对 N 个 client 的传统的 client server 结构,而不是区块链的数据结构,这样的项目它的价值是什么?

@GG

不应把区块链定义为必须要有 block 要有 chain 的东西,这是固有思维。

责任编辑:Kate

声明:本文为入驻“MarsBit 专栏”作者作品,不代表MarsBit官方立场。
转载请联系网页底部:内容合作栏目,邮件进行授权。授权后转载时请注明出处、作者和本文链接。未经许可擅自转载本站文章,将追究相关法律责任,侵权必究。
提示:投资有风险,入市须谨慎,本资讯不作为投资理财建议。
免责声明:本文不构成投资建议,用户应考虑本文中的任何意见、观点或结论是否符合其特定状况,及遵守所在国家和地区的相关法律法规。
关键字:MoveSolidity