原文标题:《Move: The Javascript of Web3?》 原文作者:Mustafa Yilham, Jermaine Wong , Henry Ang
前言:
环顾 Twitter 帖子和加密出版物,Sui 和 Aptos 的名字总是出现。这些新的高吞吐量 L1 区块链是怎么回事?为什么它们会吸引 a16z、FTX、Multicoin 等公司的投资?我们发现这两个区块链都与 Diem 有着深厚的历史渊源,并且都使用一种新的编程语言——Move。
在本文中,我们将深入探讨 Move 的特性,并简要介绍采用 Move 的 Sui、Aptos 等区块链,然后回顾 Solidity/EVM 的诞生,最后对比 Move 和 MoveVM 是否可以打造属于自己的充满活力的生态系统。
简易目录:
一、Move的起源
二、Move的优势
三、Move的开发生态
四、Solidity/EVM:它如何成为最具活力的开发者生态系统
五、Move语言的未来
一、Move 的起源
Move 是一种基于 Rust 的编程语言,它是为 Meta 的 Diem 区块链项目而开发的。该团队当时正在研究其他智能合约语言,但没有一种语言具有稀缺性、确定性和可验证性的特性,所以他们构建了 Move。
现有的 Move github 源码库目前由 Mysten Labs 管理,Aptos 和 Sui 的团队组成了 Move 的核心开发团队。 Move 语言的愿景就是成为 Web3 中的 Javascript,帮助开发人员安全、轻松、快速地构建区块链应用程序的框架。
二、Move 的优势
Move 与平台无关,支持跨区块链的共享库、工具和开发人员社区。Move 语言的设计强调安全性,旨在避免许多 Web3.0 用户受害的情形,包括但不限于重入漏洞(re-entrancy vulnerabilities)、毒令牌(poison tokens)和欺骗性令牌批准(spoofed token approvals)等问题。数字资产也应该被视为资源,这意味着数字资产不能被随意复制或意外破坏。
为了提供额外的保护,Move 可以用 Move Prover 验证工具辅助开发,该工具允许开发人员为其应用程序的关键特征编写正式规范,并使用验证器在 30 秒内检查代码的执行正确性。
三、Move 的开发生态
1、Mysten Labs开发的Sui
(1)什么是Sui,团队背景是怎样的?
Mysten Labs 的 Sui 是一个分散的权益证明区块链,具有水平可扩展的吞吐量和存储的特性。 Mysten Labs 背后的团队来自 Novi Research,这是 Meta 内部的高级区块链研发部门,致力于 Diem 区块链和 Move 编程语言的运行和加密。创始团队包括 CEO Evan Cheng、CPO Adeniyi Abiodun、CTO Sam Blackshear(Move 的创始人)、首席科学家 George Danezis 和首席密码学家 Kostas Chalkais。
(2)融资事件
Mysten Labs 正在洽谈以 20 亿美元的估值筹集 2 亿美元的 B 轮融资,FTX Ventures 将领投。 Mysten Labs 2021年底在由 Andressen Horowitz 领投的 A 轮融资中筹集了 3600 万美元。
(3)性能表现
Sui 处理速度预计会超过 120,000 TPS,能以亚秒级的速度处理独立事务,针对更加复杂的事务(共享对象)能以3秒的速度处理。事务的依赖关系在被执行之前被映射出来,允许通过拜占庭一致广播处理独立事务,而涉及共享对象的事务由另一个称为 Narwhal & Tusk 的共识协议处理。
(4) Sui上的Move语言
Sui 在使用 Move 时,它对 Move 的核心功能进行了某些更改,尤其是在全局存储运算符和关键能力方面。这些更改保留了 Move 的安全性和灵活性,但优化了存储和地址机制,从而提高了网络性能并减少了交易确认时间。
(5) 发展路线图
Sui DevNet 自 5 月以来已公开发布,而团队已宣布于 2022 年 8 月启动激励测试网。Sui Hackathon 注册也自 6 月底开始开放。
(6) 生态项目
关于在 Sui 上开发的项目的信息一直很少。迄今为止,Chrome 扩展自托管钱包 Sui Wallet 已经推出,而第三方 Ethos Wallet 已在 DevNet 上使用。
2、Apots
(1)Aptos 是什么,背后的人是谁?
Aptos 是第 1 层区块链,其使命是为数十亿人创建对去中心化资产的普遍和公平的访问。Aptos 由 CEO Mo Shaik 和前 Meta 内部区块链解决方案首席软件工程师 CTO Avery Ching 共同创立。在加入 Meta 之前,Mo 曾在 Conesnsys、BlackRock 和波士顿咨询集团工作,而 Avery 则在雅虎工作。 Aptos 团队的其他成员由博士、研究人员、工程师、设计师和战略家组成,他们在 Meta、Novi、Amazon、VMware 等领域拥有工作经验。
(2 )融资事件
Aptos 于 3 月完成了由 a16z 领投的 2 亿美元投资,参与方包括 Tiger Global、Katie Haun、Multicoin Capital、3 Arrows Capital、FTX Ventures 和 Coinbase Ventures,随后又在7月25日,获得了由 FTX Ventures 领投 1.5 亿美元融资。
(3)性能表现
Aptos 现在最高可以达到 10,000 TPS,理论最大吞吐量为 160,000 TPS。大多数交易在两次网络广播后得到验证,最终确定时间为 250 毫秒。 Aptos 高吞吐量的关键是能够将事务执行层与共识协议分离,通过 Block-STM 实现并行执行能力,并通过状态同步实现亚秒级延迟。共识引擎改编自 Diem 的 HotStuff及其团队 的第4次迭代。
(4)Aptos上的Move语言
Aptos 通过适配器层扩展了核心 MoveVM 的附加功能,其中包括通过 Block-STM 实现的并行性,无需用户输入即可并发执行事务,用于在帐户中大规模存储、存储密钥的表,以及解耦的细粒度存储(fine grained storage)在帐户中的数据量会影响与帐户相关的交易的Gas Fee。
(5)发展路线图
Aptos DevNet 自 3 月以来已公开发布,而该团队已经完成了 4 个计划中的激励测试网中的第 1 阶段,目前正在进行第 2 阶段。 Aptos 还在 6 月宣布了一项赠款计划,以进一步加速 Aptos 生态系统的快速发展,应用程序现已经开放且能后使用了。
(6)生态进展
Aptos 核心存储库上有 1,500 多个 Fork,现在有超过 100 个跨 DeFi、NFT、游戏等项目有望在主网上部署。 Pontem Network、Macalinao brothers、Nutrios、PayMagic、MartianDAO、Solrise 等团队已经在为预计 9 月底左右推出的 Aptos 主网做准备。
3、其他采用Move语言的区块链
(1)0L—— 一个从 Diem 创建的开源代码库中 Fork 得到的 L1 区块链协议。该开源项目始于 2019 年,是一项社区驱动的倡议,没有企业赞助商、风险投资或基金会。
(2)Starcoin —— 一个智能合约平台,使用增强的工作证明共识和 Move 语言。它通过分层和灵活的互操作性来优化 DeFi、NFT、游戏等不同生态系统的构建。
4、Sui/Aptos 与其他区块链的比较
多维度对比四个公链
来源: Aptos, Solana Explorer, Etherscan, Sui Node, Aptos Node, Solana Node, ETH Node
从上面的比较来看,Sui 和 Aptos 在并行执行事务方面与 Solana 相似,因此具有更高的吞吐量。
然而,在运行完整的验证节点时,Sui 和 Aptos 都更接近以太坊,因为进入的门槛较低,这将有助于社区验证网络的更大去中心化。
有趣的是,Sui 和 Aptos 的存储需求远低于 Solana 和 Ethereum。一旦两个新生的区块链上出现更多的相似的历史状态,那我们就需要看看是否更大的存储空间是否有价值。
五、Solidity/EVM:它如何成为最具活力的开发者生态系统
为了充分了解 Move/MoveVM 构建自己的编程语言和虚拟机所采取的发展路径,我们需要回顾 Solidity/EVM 以及它们如何成为当今事实上的智能合约编程语言。
在早期,有两种方法可以在新的区块链上编写智能合约。
a) 使用现有的编程语言并通过通用虚拟机 WebAssembly (WASM) 运行它
b)从头开始构建新的编程语言和新的虚拟机。
虽然 Solidity 和 EVM 走的是少有人走的路,但它似乎在 2020 年的 DeFi 繁荣之后取得了成果。那么 Solidity/EVM 是如何超越通用 WASM VM 的呢? Starcoin 的核心开发人员 @jolestar 认为有以下三个原因:
a)通用语言更适合操作系统而不是区块链。如果把操作系统调用、文件 I/O、硬件、网络和并发库等功能剥离掉,那么智能合约和编程语言之间共享的库是最少的。这违背了使用通用编程语言的目的,因为编程语言主要优势是利用开发者生态系统中现有的共享库。
b)虽然理论上 WASM 可以支持不同的编程语言,但现实情况是,具有运行时系统的编程语言(例如 Go、Java)并不适合区块链,因为一旦编译就会有大量的二进制文件。这有效地将编程语言限制为 C、C++ 和 Rust,从新开发人员的角度来看,在学习难度方面与 Solidity 没有太大区别。此外,各种编程语言可能导致开发者生态系统出现意外的碎片化。
c)鉴于每条链的状态处理机制不同,即使它们运行在同一个 WASM VM 上,互操作性仍然是一个问题。由于每条链上的智能合约无法直接迁移到不同的链上,因此也存在开发者生态碎片化的问题。
此外,鉴于其可复制的开源库,Solidity 已被证明具有用户粘性。能使用经过审计的代码对应用程序开发人员来说是一个巨大的便利;要知道安全的智能合约都需要进行安全审计,其中每一行代码都会产生额外的成本。
来自 EVM 社区的更大的开发者生态系统为大量经过审计的代码做出了贡献,这将会鼓励更多的开发者来构建 EVM。
六、Move语言的未来
Move/MoveVM 现在沿着 Solidity/EVM 相同的道路前进,并且有一些数据显示确实如此。
Solana 也做出了类似的选择,使用编程语言 Rust 构建自己的虚拟机,并且可以看到Move链上大规模的开发人员活动与 Solidity 早期的增长轨迹相类似。用户方面,Solana 也将自己确立为在每日、7D 和 30D 指标上拥有最多活跃账户数量的链。
鉴于 FTX Ventures 是 Sui 和 Aptos 的投资者,我们相信他们可以帮助开发 Move 生态系统,就像他们在 Solana 引导阶段所做的那样。综上所述,Sui 和 Aptos 都在大力推动他们的 DevNets,包括孵化奖励和黑客马拉松,我们预计未来几个月开发人员的活动将会增加。
此外,为了帮助克服新编程语言最初缺乏开发人员资源,并协助从其他语言的开发人员逐步迁移到新语言,Pontem 等项目已经开发了 Diem MoveVM 的一个分支,现在可以部署到其他现有链上,比如 Polkadot、Cosmos、Avalanche等,并且正在开发与 MoveVM 兼容的新 EVM。
总体而言,我们相信 Move 是一种可以提供一种更安全、更快捷、更简单的方式来编写智能合约语言,它将成为一个强大而充满活力的开发者生态系统的基础层,相信会有人使用Move来构建下一代 Web3 应用程序以吸引更多的 Web3 用户。
在接下来的几周内,我们将在分享我们对 Sui 和 Aptos 区块链更深入的发现与分析。
这篇文章的完成必须感谢 Jolestar,他提供了他的技术专长和观点。 Jolestar 是 Move 的早期使用者,也是 Starcoin 的核心开发人员。