要做Web3时代的Javascript?全面解析“Diem匪帮”MOVE语言
原文:
作者: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
什么是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。
融资事件
Mysten Labs 正在洽谈以 20 亿美元的估值筹集 2 亿美元的 B 轮融资, FTX Ventures 将领投。 Mysten Labs 2021年底在由 Andressen Horowitz 领投的 A 轮融资中筹集了 3600 万美元。
性能表现
Sui 处理速度预计会超过 120,000 TPS,能以亚秒级的速度处理独立事务,针对更加复杂的事务(共享对象)能以3秒的速度处理。事务的依赖关系在被执行之前被映射出来,允许通过拜占庭一致广播处理独立事务,而涉及共享对象的事务由另一个称为 Narwhal & Tusk 的共识协议处理。
Sui上的Move语言
Sui 在使用 Move 时,它对 Move 的核心功能进行了某些更改,尤其是在全局存储运算符和关键能力方面。这些更改保留了 Move 的安全性和灵活性,但优化了存储和地址机制,从而提高了网络性能并减少了交易确认时间。
发展路线图
Sui DevNet 自 5 月以来已公开发布,而团队已宣布于 2022 年 8 月启动激励测试网。Sui Hackathon 注册也自 6 月底开始开放。
生态项目
关于在 Sui 上开发的项目的信息一直很少。迄今为止,Chrome 扩展自托管钱包 Sui Wallet 已经推出,而第三方 Ethos Wallet 已在 DevNet 上使用。
2、Apots
Aptos 是什么,背后的人是谁?
Aptos 是第 1 层区块链,其使命是为数十亿人创建对去中心化资产的普遍和公平的访问。Aptos 由 CEO Mo Shaik 和前 Meta 内部区块链解决方案首席软件工程师 CTO Avery Ching 共同创立。在加入 Meta 之前,Mo 曾在 Conesnsys、BlackRock 和波士顿咨询集团工作,而 Avery 则在雅虎工作。 Aptos 团队的其他成员由博士、研究人员、工程师、设计师和战略家组成,他们在 Meta、Novi、Amazon、VMware 等领域拥有工作经验。
融资事件
Aptos 于 3 月完成了由 a16z 领投的 2 亿美元投资,参与方包括 Tiger Global、Katie Haun、 Multicoin Capital 、3 Arrows Capital、FTX Ventures 和 Coinbase Ventures,随后又在7月25日,获得了由 FTX Ventures 领投 1.5 亿美元融资。
性能表现
Aptos 现在最高可以达到 10,000 TPS,理论最大吞吐量为 160,000 TPS。大多数交易在两次网络广播后得到验证,最终确定时间为 250 毫秒。 Aptos 高吞吐量的关键是能够将事务执行层与共识协议分离,通过 Block-STM 实现并行执行能力,并通过状态同步实现亚秒级延迟。共识引擎改编自 Diem 的 HotStuff及其团队 的第4次迭代。
Aptos上的Move语言
Aptos 通过适配器层扩展了核心 MoveVM 的附加功能,其中包括通过 Block-STM 实现的并行性,无需用户输入即可并发执行事务,用于在帐户中大规模存储、存储密钥的表,以及解耦的细粒度存储(fine grained storage)在帐户中的数据量会影响与帐户相关的交易的Gas Fee。
发展路线图
Aptos DevNet 自 3 月以来已公开发布,而该团队已经完成了 4 个计划中的激励测试网中的第 1 阶段,目前正在进行第 2 阶段。 Aptos 还在 6 月宣布了一项赠款计划,以进一步加速 Aptos 生态系统的快速发展,应用程序现已经开放且能后使用了。
生态进展
Aptos 核心存储库上有 1,500 多个 Fork,现在有超过 100 个跨 DeFi、 NFT 、游戏等项目有望在主网上部署。 Pontem Network、Macalinao brothers、Nutrios、PayMagic、MartianDAO、Solrise 等团队已经在为预计 9 月底左右推出的 Aptos 主网做准备。
3、其他采用Move语言的区块链
0L—— 一个从 Diem 创建的开源代码库中 Fork 得到的 L1 区块链协议。该开源项目始于 2019 年,是一项社区驱动的倡议,没有企业赞助商、风险投资或基金会。
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 相同的道路前进,并且有一些数据显示确实如此。
来源: a16z State of Crypto
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 的核心开发人员。