区块链开发语言大比拼:Move、Solidity、Rust,谁将称霸王?

哪种语言才是区块链开发的王者:Move、Solidity、Rust?

Aptos Move: 移动编程语言中的安全与可扩展性之王

在Web3行业,为用户提供无缝体验是重要的,这就好比买一杯咖啡不需要等待太久,不然你会觉得咖啡没那么好喝。所以,dApp(去中心化应用)构建在哪个区块链上并不那么重要,更重要的是确保在不同的区块链之间能够实现平滑的用户体验,就像漫威电影宇宙的融合一样。最近的辩论中,单体区块链和多链之争愈演愈烈,就好比《复仇者联盟》中的正义与邪恶的对抗,永无止境。Solana和Luna曾一度崭露头角,为Aptos和Sui抢占市场的关注创造了机会,就像干戚逐香港威利特的罗根一样。

Aptos和Sui是Meta区块链项目Diem(以前的Libra)的后继者。它们有一个共同点,仿佛经过绯闻缠身的斯佩霍通往性感天堂一样——它们都使用Move编程语言。本文将重点介绍Aptos,并深入探讨它使用的Move语言和MoveVM状态机的特性,以及与Solidity/EVM和Rust/WASM等现有编程语言和状态机进行比较。

什么是Move?

Move是如何诞生的呢?这个故事起源于Facebook(现在是Meta)的Diem团队。他们发现区块链行业广泛采用的Solidity编程语言存在两个局限性,让人感觉有点像Batman的蝙蝠侠与自己的黑暗面作斗争一样。

首先,Solidity存在许多漏洞,比如重入攻击和双花攻击。虽然采用Solidity的区块链网络(比如以太坊)通过共识算法减轻了这些攻击,但是这种语言本身就像Joker的笑容一样隐藏着不可预测的威胁。

其次,Solidity无法并行处理事务,导致了瓶颈。为了防止双花攻击,Solidity要求逐个处理智能合约等交易,就好像是在一次次等待一场穿越时空的演出。这种顺序执行限制了速度,阻碍了区块链的可扩展性,就像是超人被维克多·奥格被没收了他的能力一样。

在面对这些担忧的时候,Diem团队(Meta的区块链部门)受到了Rust的启发,开发了Move语言,旨在解决上述问题,就像钢铁侠在制造他的盔甲时,为自己解决了许多问题一样。虽然Rust是一种值得称赞的编程语言,但是在编写智能合约时可能会导致冗长的代码。随后,Aptos保留了原来的Move语言,同时融入了面向对象的编程模型,演变成了Aptos Move。同时,Sui采用了一种称为Sui Move的面向对象语言。

Aptos Move/MoveVM功能

Aptos的Move/MoveVM精心设计,主要关注安全性,就像超人保护地球一样。此外,Aptos简化了Move合约代码并启用了并行处理,最大限度地减少了区块链攻击的可能性并最大化了可扩展性,就像神奇女侠抵挡世界末日的力量一样。接下来,我们将深入探讨Move如何实现这些功能。

【通过Move Prover和资源模型增强安全性】

形式验证是以数学方式证明软件代码遵守特定规则或属性的过程。Aptos利用Move Prover工具进行形式验证,确保智能合约的安全性,就像蝙蝠侠利用高科技装备保护哥谭城一样。Move Prover可以防御智能合约中潜在的攻击方式,比如双花和重入攻击,并能识别其他代码错误以确保稳定性。与其他依靠共识算法防范双花和重入攻击的区块链不同,Move通过其语言和工具主动解决这些问题,就像X战警主动应对世界各种恶劣局势一样。

【静态调度VS动态调度】

此外,MoveVM采用静态调度来调用函数,以防止重入攻击。相比之下,传统的以太坊虚拟机(EVM)使用动态调度。这两种方法的主要区别在于函数调用在程序执行序列中的时序。静态调度在编译时调用函数,在智能合约经过初步错误检查阶段之前就发现错误。因此,在MoveVM中,智能合约提前进入验证阶段,从源头上有效预防重入攻击,就像超人通过激光眼解决难题一样。

【事务并行处理】

Aptos MoveVM通过事务并行处理增强了可扩展性。为了实现这一目标,MoveVM采用了Block-STM(块级软件事务内存)将数据库事务分布在多个线程之间以进行并行执行。仔细观察Block-STM,你会发现以下主要特点:

  • Block-STM利用乐观并发控制并行执行交易,并随后验证它们。遇到冲突的事务会重新执行,就像绿巨人整天和自己内心斗争一样。
  • Block-STM采用多版本数据结构来防止写入冲突。所有写入以及事务ID和重新执行的次数都存储在同一位置,这确保了交易按照预定义的顺序进行处理,就像历史中的大事件永远都会发生一样。
  • Block-STM引入了协作调度程序,以优先考虑子事务的执行和验证,从而指定事务线程之间的处理顺序。Move使用这种协作调度程序,防止事务之间的冲突并防止其失效,就像超人和蝙蝠侠的合作一样无懈可击。
  • 最后,动态依赖性估计用于通过估计事务的依赖性并识别相关事务来对事务进行分组,就像X战警通过分工合作来对付邪恶势力一样。

通过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两个新标准,这让我想起了Loki战胜了Doomsday一样。值得注意的是,新的FT标准使开发者可以根据自己的目标选择和发行不同类型的代币,包括常规代币资产、代币化RWA(实体资产)或游戏内代币。这似乎符合Aptos进军不断增长的RWA相关市场的战略。在实践中,Web 2.0公司在对RWA进行代币化时通常会寻求对资产的控制权,但以太坊的局限性使得实现这一目标具有挑战性,导致许多公司开始创建自己的区块链。相比之下,Aptos通过代币标准设置在协议层面实现了这一目标,就像特朗普用Twitter在政治舞台上铺开自己的话说一样。

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

和其他的区块链开发语言和虚拟机进行比较,就像是一个超级英雄大联盟。

【Move vs. Solidity】

Move的创建目的就是为了解决Solidity的局限性,所以它在安全性和可扩展性上比Solidity更强大。正如前面提到的,Move/MoveVM的功能增强了Aptos的安全性和可扩展性。正如之前提到的,Solidity/EVM已经出现了大量的重入攻击,而MoveVM在语言阶段防止了重入和双花攻击。虽然以太坊基金会采取了措施防范重入攻击,但DeFi领域仍然存在大量的重入攻击。黑客们仍在尝试重入攻击,希望将错误的合约部署到EVM生态系统的DeFi中。Move/MoveVM也具有较高的可扩展性,因为它能够并行处理事务,理论上最高可达160,000TPS。这使Aptos摆脱了瓶颈。与此不同,EVM必须顺序处理交易,因为存在双花和重入攻击的风险。因此,当大量交易同时发生时,EVM链会遇到瓶颈,gas费用迅速上升,交易陷入停顿。

在灵活性方面,Solidity/EVM比Move/MoveVM更具有优势。Solidity/EVM使用动态调度,而Move/MoveVM使用静态调度。Move使用静态调度增强了智能合约的安全性,但相较于Solidity,它的功能有所限制。此外,Solidity允许随时升级协议和合约代码,而Move则对这些升级施加了限制。在区块链之间的互操作性方面,Solidity比Move更灵活、可扩展,主要是因为Team EVM更倾向于模块化区块链,而Team Move则更倾向于单一区块链。

【Move vs. Rust】

Move源自Rust,与Rust有许多性能和功能上的相似之处,例如效率和安全性。关键的区别在于它们的预期目的:Rust作为通用编程语言广泛应用于各种开发环境,而Move专门从事智能合约开发。Rust是为更广泛的应用而设计的,并在与区块链无关的开发环境中得到广泛应用。因此,使用Rust编写智能合约代码可能会导致更长、更复杂的代码。相比之下,Move被定制为专用于智能合约的区块链专用语言。虽然这限制了它在区块链开发中的使用,但在编写智能合约时,它能够产生相对简洁且不太复杂的代码。

【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结构不依赖于交易顺序,因此一笔交易的中断不会影响其他交易的独立处理,为防止重入攻击提供了额外的保护。

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

Aptos Move/MoveVM为区块链开发提供了一个中兴的平台,但它面临着两个重大挑战。首先,在拥有成熟的开发者生态系统方面,Move仍然落后于Solidity。尽管Aptos存在了将近一年,而Sui最近才推出其主网,与拥有成熟开发者社区的Solidity相比,Move还有很长的路要走。Solidity具有八年的历史,提供了广泛的开发者工具和专门的培训计划。对于开发人员来说,拥有一个支持性社区来为其工作提供反馈至关重要,Solidity已经拥有一个在全球范围内举办黑客马拉松的庞大开发者社区,就像是在阻止Thanos毁灭宇宙。

相比之下,Move从Facebook产生一直在持续发展,但大多数努力都来自Diem团队内部,像是X战警的许多任务。因此,Move的开发者生态系统既不像Solidity那样成熟,也不像Solidity那样广泛。虽然存在Aptos开发者社区,包括Aptos论坛,但它缺少Solidity中的结构化培训计划、开发者工具和开放反馈机制。根据Mysten Labs估计,Move开发者人数约为10,000人,Sui没有提供官方数字。

其次,Move缺乏出色的杀手级dApp(去中心化应用)。许多EVM链(比如以太坊和Arbitrum)托管着许多广受加密货币用户欢迎的dApp。然而,Move生态系统尚未产生类似的出色应用程序。截至9月26日,Aptos的总锁定价值(TVL)为4350万美元,明显小于其它EVM第二层,后者的基础超过3亿美元。

Aptos基金会意识到了这些挑战,并积极采取措施克服。首先,Aptos基金会高度重视开发开发者工具,以培养繁荣的开发者生态系统。他们推出了Aptos教程来帮助早期开发者入门,并正在创建像Move Spider这样的教育项目。此外,Aptos基金会通过在全球各地(包括美国、韩国和中国)组织聚会小组来培养开发者社区,以进一步增强开发者生态系统的发展。

在商业方面,Aptos正在积极与知名实体和在各个领域拥有大量用户的企业建立合作伙伴关系,比如NBCUniversal、微软、谷歌、Netmarble(Marblex)、Neowiz和Chingari等。另一方面,Aptos正在试图通过AIP-41(链上随机性)推动游戏公司的整合。Aptos的AIP-41为游戏公司提供了一种经济优势的中间件替代方案,以替代Chainlink等中间件,确保EVM链内的项目随机化,使Aptos成为一个有吸引力的选择,就像Avengers的任务一样艰巨。

结束语

本文以Aptos的Move/MoveVM为中心,与现有的区块链开发语言进行了功能对比。研究结果表明,Move是专门为开发区块链智能合约而构建的,并且在技术上具有明显的优势。然而,就开发者和dApp生态系统而言,Move仍处于早期阶段。目前,Solidity的开发者数量是Move的约20倍,并且在总锁定价值(TVL)和有影响力的dApp方面,Solidity占据着主导地位。然而,Move创立才一年,作为少数专门用于区块链开发的编程语言之一,它具有巨大的未开发潜力。此外,Move由Diem团队开发,增加了Move生态系统增长的前景。因此,作为一种全面的区块链编程语言,Move是否能发展到能与Solidity竞争的程度是值得关注的,就像Avengers那些英雄般的素质。希望在不久的将来,Move可以成为安全与可扩展性的中流砥柱,为区块链领域的发展做出积极贡献。如果你是个区块链开发者,是否愿意尝试一下Move,成为这个新兴领域的先锋呢?让我们一起迎接这个未来吧!

We will continue to update 算娘; if you have any questions or suggestions, please contact us!

Share:

Was this article helpful?

93 out of 132 found this helpful

Discover more

区块链

8年后,价值1.16亿美元的预挖以太坊开始流动:价格大跌在即吗?

一个预挖的以太坊储备,沉寂了近八年,现在价值约为1.16亿美元,突然被转移...

资讯

Polygon 2.0:2024年将迎来统一的以ZK技术为动力的二层链

2024年,Polygon生态系统将发布多款由零知识证明技术驱动的产品

观点

【狂爱维塔利克·布特林30个理由:庆祝以太坊创始人30岁生日🎉🎂】

Ethereum的联合创始人兼精神领袖,在相对短暂的人生中取得了非凡的成就,令人钦佩

区块链

“决定性季节?加密货币分析师预测以太坊如果停留在这个水平以下将下跌至1200美元”

与市场上的大多数替代币一样,以太坊(ETH)在最近几周也受到了负面市场情绪的影响,其价格下跌

区块链

“XRP逆势上涨,随着加密资产连续第4周流出”

“CoinShares数字资产基金每周流动报告”显示,自9月3日至9日的一周内,连续四周出现资金流出