作者:DongHyun Kang,Xangle;编译:松雪,金色财经

1、简介

在Web3职业,重点是为用户供给无缝的体验。从这个角度来看,dApp构建在哪个区块链上并不那么重要,比起保证在不同区块链之间完成平稳用户体验的互操作性更为要害。在2021年和2022年,关于单体区块链和多链之间的剧烈争辩不断开展。值得注意的是,Solana和Luna曾一度锋芒毕露,然后逐步淡出,为Aptos和Sui抢占市场的重视创造了时机。

Aptos 和 Sui 都是 Meta 区块链项目 Diem(曾经的 Libra)的后继者,有一个共同点——他们都运用 Move 编程言语。 本文重点介绍 Aptos,深入探讨其运用的 Move 言语和 MoveVM 状况机的特性,以及它怎么与现有的编程言语和状况机(例如 Solidity/EVM 和 Rust/WASM)进行比较。

2、什么是Move?

2.1 Move 是怎么诞生的

Facebook(现为 Meta)的 Diem 团队发现了区块链职业广泛选用的 Solidity 编程言语的两个局限性。 首要,Solidity 存在重入进犯和双花进犯等缝隙。 虽然选用 Solidity 的区块链网络(例如以太坊)经过一致算法减轻了这些进犯,但不可否认的事实是,该言语自身蕴藏着潜在的进犯向量。

其次,Solidity 无法并行化业务处理导致瓶颈。 为了避免双重开销,Solidity 要求次序履行智能合约等买卖。 这种次序处理约束了速度,进而阻碍了区块链的可扩展性。

在这些担忧的推进下,Diem 团队(Meta 的区块链部门)受 Rust 的影响,开发了 Move 言语,以解决上述缺点。 虽然 Rust 是一种值得称赞的编程言语,但在用于编写智能合约时可能会导致冗长的代码。 随后,Aptos保留了原来的Move言语,一起融入了面向对象的编程模型,演化成Aptos Move。 一起,Sui 选用了一种称为 Sui Move 的面向对象言语。

2.2 Aptos Move/MoveVM 功用

Aptos 的 Move/MoveVM 经过精心规划,首要重视安全性。 此外,Aptos 简化了 Move 的合约代码并启用了并行处理,最大极限地减少了区块链进犯的可能性并最大极限地提高了可扩展性。 在本节中,我们将深入探讨 Move 怎么完成这些功用。

经过 Move Prover 和资源模型增强安全性

方法验证触及以数学方法证明软件的代码恪守特定的规矩或属性。 Aptos 经过 Move Prover 东西运用方法验证来验证其智能合约的安全性。 Move Prover 能够经过应用方法验证来防御智能合约中潜在的进犯前言,例如双花和重入进犯,一起还能够辨认其他代码过错并保证稳定性。 与其他依靠一致算法来抵御双花和重入进犯的区块链不同,Move 经过其言语和东西自动解决这些问题。

谁是区块链开发语言之王:Move、Solidity、Rust静态调度 VS 动态调度

谁是区块链开发语言之王:Move、Solidity、Rust

此外,MoveVM选用静态调度来调用函数,以避免函数调用的重入进犯。 比较之下,传统的以太坊虚拟机(EVM)运用动态调度。 这两种方法的不同之处在于程序履行序列中函数调用的时序,一般按如下次序进行:编译→链接→加载→运转→停止。 静态调度触及在编译时调用函数,使智能合约能够在此经历开端的过错检查阶段。 因而,在MoveVM中,智能合约提前进入验证阶段,从源头上有用预防重入进犯。

业务并行处理

Aptos MoveVM 经过业务并行处理增强可扩展性。 为了完成这一目标,MoveVM 选用 Block-STM(块级软件业务内存)将数据库业务分布在多个线程之间以进行并行履行。 仔细观察 Block-STM 能够发现以下首要特征:

  • Block-STM 运用达观并发操控并行履行买卖并随后验证它们。 遇到抵触的业务会重新履行。

  • Block-STM选用多版本数据结构来避免写入抵触。 一切写入以及业务 ID 和重新履行的次数都存储在同一位置。 这保证了即便买卖被重新履行,买卖也会依照预定义的次序进行处理。

  • Block-STM引入了协作调度程序来优先考虑子业务的履行和验证,然后指定业务线程之间的处理次序。 Move 运用这种协作调度程序来避免业务之间的抵触并避免其失效。

  • 最后,动态依赖性估量用于经过估量业务的依赖性并辨认相关业务来对业务进行分组。

经过Block-STM,Aptos经过以下方法完成并行买卖处理。 此外,虽然验证器之间的验证是统一的,但每个验证器之间的履行是并行发生的,然后进一步增强了可扩展性。 Aptos的业务并行处理总结如下:

1. 用户生成买卖并将其发送到网络。

2. 验证器验证买卖。

3. 经过验证的买卖依据动态依赖估量进行分组,一起每个买卖组由验证器进行并行处理。

4. 处理后的买卖被编译成区块并在整个网络中传达。

Aptos 代币规范增强了开发人员和用户的便利性

Aptos 还运用 Move 构建了自己的代币规范,即 Aptos Coin Standard。 在此过程中,Aptos 改进了与传统 EVM 相关的约束。 MoveVM 无需为代币发行单独发行智能合约,只需少量的 Gas 费用即可发行代币。 但是,这并不是一个显著的优势,因为 Solana 和 Algorand 等非 EVM 区块链也运用自己的代币规范。

虽然如此,从 2023 年 8 月开端,Aptos 推出了 FT 和 NFT 两个新规范。 值得注意的是,新的 FT 规范使开发者能够依据自己的开发目标挑选和发行以下其间一种:惯例代币财物、代币化 RWA 或游戏内代币。 这好像契合 Aptos 进军不断增加的 RWA 相关市场的战略。 在实践中,Web 2.0 公司在对 RWA 进行代币化时一般会寻求对财物的操控权,但以太坊的局限性使得完成这一目标具有应战性,导致许多公司开端创立自己的区块链。 比较之下,Aptos 经过代币规范设置在协议层面完成了这一目标。

3. 与其他言语和虚拟机的比较

谁是区块链开发语言之王:Move、Solidity、Rust

比较Aptos Move/Move VM &其他言语和虚拟机

谁是区块链开发语言之王:Move、Solidity、Rust

3.1. Move vs. Solidity

Move/MoveVM 的创立是为了补偿 Solidity 的局限性,因而它比 Solidity 更安全且可扩展。 如前所述,Move/MoveVM 的功用增强了 Aptos 的安全性和可扩展性。 正如2.1中说到的,MoveVM在言语阶段避免了重入和双花进犯,而Solidity/EVM现已出现了大量的重入进犯。 2016年以太坊的DAO进犯便是一个很好的比如,虽然以太坊基金会现已出台了防范措施,但DeFi中依然存在大量的重入进犯。 黑客仍在尝试重入进犯,希望将过错的合约布置在 EVM 生态系统的 DeFi 中。

如上所述,Move/MoveVM 还具有高度可扩展性,由于能够并行处理业务,理论上最高可达 160,000 TPS。 这使得 Aptos 摆脱了瓶颈。 一起,由于存在双花和重入进犯的危险,EVM 有必要次序处理买卖。 因而,EVM 链遇到了瓶颈,当大量买卖一起发生时,gas 成本迅速上升,买卖堕入阻滞。

在灵活性方面,Solidity/EVM 比 Move/MoveVM 有优势。 Solidity/EVM 运用动态调度,而 Move/MoveVM 运用静态调度。 Move 运用静态调度增强了智能合约的安全性,但与 Solidity 比较约束了其功用。 此外,Solidity 答应随时晋级协议和合约代码,而 Move 对这些晋级施加了约束。 在区块链之间的互操作性方面,Solidity 比 Move 表现出更大的灵活性和可扩展性,首要是因为 Team EVM(包含以太坊)倾向模块化区块链,而 Team Move 则倾向于全体区块链。

3.2. Move vs. Rust

Move 源自 Rust,与 Rust 有许多性能和功用相似之处,例如功率和安全性。 要害差异在于它们的预期意图:Rust 作为通用编程言语,而 Move 专门从事智能合约开发。 Rust 是为更广泛的应用而规划的,并广泛应用于各种开发环境中,包含与区块链无关的开发环境。 因而,运用 Rust 编写智能合约代码可能会导致代码更长、更复杂。 比较之下,Move 被定制为专用于智能合约的区块链专用言语。 虽然这约束了它在区块链开发中的运用,但在编写智能合约时,它会导致相对简洁且不太复杂的代码。

谁是区块链开发语言之王:Move、Solidity、Rust

<Move 与 Rust:智能合约比较,来源:Krešimir Klas>

上图是 Solana 和 Sui 开发同一个智能合约时的代码长度比照。 显着,更长的代码意味着更多潜在智能合约进犯的时机。 较长的代码还会增加开发人员犯过错的时机,而这些过错在代码检查期间可能会被忽视。 比较之下,Move 的优势在于其代码开发更简略,减少了开发人员犯错的可能性并促进更有用的检查。

3.3. Aptos Move vs. Sui Move

Aptos Move 和 Sui Move 都源自同一个 Diem 团队,因而有许多相似之处。 它们最初遭到 Rust 的影响,这赋予了它们相似的语法和功用。 此外,这两个项目都运用 Move Prover 来验证智能合约。

但是,Aptos Move保留了原始的Diem区块链并选用了面向对象的编程模型,而Sui Move则引入了面向对象的Sui区块链作为Diem的演化。 Sui 过渡到面向对象的区块链以支撑并行性,这取决于了解要读取和写入的数据。 因而,Aptos 运用资源模型将应用程序构建块分为三个不同的单元:仅有标识符、属性和方法。 另一方面,Sui 选用面向对象的模型,将应用程序的构建块划分为状况和行为。 这导致 Aptos Move 为开发人员供给了适当大的灵活性,而 Sui Move 则相对固执己见。

Aptos Move 和 Sui Move 在区块链上的操作方法上表现出差异。 首要,两个区块链都支撑并行处理,虽然方法不同。 如前所述,Aptos 经过 Block-STM 完成并行买卖处理,而 Sui 选用有向无环图(DAG)结构来存储买卖。 DAG结构切断了买卖互连,完成了并行买卖处理。

另一个差异在于怎么避免重入进犯。 如前所述,Aptos 经过在履行前运用静态调度来验证智能合约的状况来避免重入进犯。 比较之下,Sui 经过在买卖履行期间仅更新一次智能合约的状况来阻挠重入进犯,保证即便进犯者中止买卖,状况也保持不变。 此外,由于Sui的DAG结构不依赖于买卖次序,因而一笔买卖的中止不会影响其他买卖的独立处理,然后为避免重入进犯供给了额定的维护。

4.下一步:建立强大的开发者生态系统和杀手级 DApp

Move/MoveVM 为区块链开发供给了一个有前景的渠道,但它面临着两个严重应战。 1)在具有成熟的开发者生态系统方面,Move 依然落后于 Solidity。 Aptos 现已存在近一年了,而 Sui 最近才推出其主网。 因而,与具有成熟开发者社区的 Solidity 比较,Move 有着适当长的路要走。 Solidity 具有八年历史,供给广泛的开发人员东西和专门的训练计划。 对于开发人员来说,具有一个支撑性社区来为其作业供给反应至关重要,Solidity 现已具有一个在全球范围内举办黑客马拉松的庞大开发者社区。 Turing 估量 Solidity 开发者社区约有 200,000 名。

比较之下,Move 自 Facebook 以来一直在开展,但大部分都是 Diem 团队的内部尽力。 因而,Move 的开发者生态系统既不像 Solidity 那样成熟,也不像 Solidity 那样广泛。 虽然存在 Aptos 开发者社区,包含 Aptos 论坛,但它缺少 Solidity 中的结构化训练计划、开发者东西和开放反应机制。 Sui 背后的公司 Mysten Labs 估量 Move 开发人员的数量为 10,000 人,虽然 Aptos 没有供给官方数字。

其次,2)Move 缺少超卓的杀手级 dApp。 许多 EVM 链(例如以太坊和 Arbitrum)托管着众多在加密用户中广泛运用的 dApp。 但是,Move 生态系统尚未发生相似的超卓应用程序。 到 9 月 26 日,Aptos 的总锁定价值 (TVL) 为 4350 万美元,显着小于首要 EVM 第 2 层,后者的根底超越 3 亿美元(来源:DeFiLlama)。

Aptos 基金会供认其面临的应战,并正在活跃采取措施战胜这些应战。 首要,Aptos基金会高度重视开发开发者东西,以培养繁荣的开发者生态系统。 他们推出了 Aptos 教程来协助前期开发人员入门,并正在创立像 Move Spider 这样的教育项目。 此外,Aptos 基金会正在经过在世界各地(包含美国、韩国和我国)组织集会小组来培养开发者社区,以进一步增强开发者生态系统。

在业务方面,Aptos 正在活跃与知名实体和在各个领域具有大量分销的实体建立合作伙伴关系,例如 NBCUniversal、微软、谷歌、Netmarble(Marblex)、Neowiz 和 Chingari 等。 另一方面,Aptos 正在尽力经过 AIP-41 内部化链上随机性,以促进游戏公司整合。 Aptos 选用 AIP-41 为游戏公司供给了一种经济高效的中间件替代方案,可替代 Chainlink 的 VRF 等中间件,以保证 EVM 链内的项目随机化,使 Aptos 成为一个有吸引力的挑选。

5. 结束语

谁是区块链开发语言之王:Move、Solidity、Rust

本文以 Aptos 的 Move/MoveVM 为中心,与现有的区块链开发言语进行功用比照。 研讨结果表明,Move 是专门为开发区块链智能合约而构建的,而且比现有言语具有显着的技术优势。 但是,就开发者和 dApp 生态系统而言,Move 仍处于前期阶段。 目前,Solidity 的开发者数量是 Move 的约 20 倍,在总锁定价值(TVL)和影响力 dApp 方面,Solidity 占据着安定的位置。 虽然如此,Move 才诞生一年,是少量专门用于区块链开发的编程言语之一,这表明它具有巨大的未开发潜力。 此外,Diem 团队开发的该言语的名誉增加了 Move 生态系统增加的前景。 因而,如上图所示,作为一种综合性区块链编程言语的Move是否能够开展到与Solidity竞赛是值得重视的。

此时快讯

【币安10月20日将移除多个现货交易对并停止交易】金色财经报道,币安发布公告表示,将移除以下现货交易对并停止交易:
2023年10月20日13:00(东八区时间):ADX/BUSD、AMP/BUSD、AR/BUSD、BADGER/BUSD、BURGER/BUSD、CELR/BUSD、CHESS/BUSD、COTI/BUSD、DEXE/BUSD、ELF/BUSD、ENJ/EUR、EOS/BNB、HARD/BUSD、IDEX/BNB、ILV/BUSD。
2023年10月20日15:00(东八区时间):IOTA/BUSD、JOE/BUSD、KNC/BUSD、MBOX/BUSD、MINA/BUSD、MOVR/BUSD、QI/BUSD、QNT/BUSD、SNX/BUSD、SYS/BUSD、THETA/BNB、TKO/BUSD、VOXEL/BUSD、ZEC/BUSD。
注意:下架某个现货交易对不会影响用户在币安现货平台交易其对应代币(如适用),用户仍然可以在币安平台提供的其他交易对上交易该现货交易对的基础资产和报价资产。

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注