前 Move 语言工程师 @artoriatech 发文表示宣布离开 Move 生态,表达了对 Move 生态的悲观情绪。
作为一名前 Move 工程师,Move-VM 生态系统经过两年的构建后让我感到沮丧,我决定离开。 原因如下:
1. Move 不是单一的智能合约语言,而是源自 Diem 的一系列语言和 VM 设计,但随着像 @Aptos @SuiNetwork @movementlabsxyz 这样的公司构建自己的版本,而出现显着分化。
2. 这意味着开发人员从一个 Move 链过渡到另一个 Move 链时遇到的阻力非常大。 每个链都是一个孤立的生态系统,具有独特的虚拟机和工具包。 在 EVM L2 的早期,我们已经看到了 1% 的 VM 差异可能导致糟糕的体验甚至安全漏洞的例子。 Move 链之间的差异如此之大(并且随着各个协议发布新功能而继续增长!),以至于它们几乎已经成为不同的语言,并且没有采取任何措施来缩小这个差距。
3. Move 语言项目通常将 Move 作为一种超安全语言进行营销。 然而,由于 Move 不是单一语言,所以真正应该讨论的是 Aptos-Move / Sui-Move / xyz-Move 的安全性。 仅当协议实现安全时,语言才是安全的。 例如,@zellic_io 曾经发现 Sui Move 中的一个错误可能导致数十亿美元面临风险 https://zellic.io/blog/the-billion-dollar-move-bug/
4. 有趣的是,上述漏洞也存在于 Aptos 中,但 Aptos Labs 拒绝了向 Zellic 提供漏洞赏金,理由是该漏洞是在 Sui 中发现的。
5. 如果特权管理密钥泄露,智能合约永远不会安全。 与 Solidity 合约相反,人们通常会质疑合约可升级的必要性,Move 合约默认是可管理升级的。
6. 虽然可以选择使合约不可更改,但这就要求一个不可更改合约不能依赖于一个可更改合约。 例如,如果你想调用一个可升级的外部预言机,你自己的合约也必须是可升级的。
7. 我还想提一下其他几点,例如:
(1)钱包签名者的权限太大。 任何钱包都可以通过签署 1 笔交易来耗尽所有资金
(2) 区块浏览器上缺乏智能合约验证
(3) 缺乏可供新开发人员使用的高质量生产就绪代码示例
(4) 审计成本高昂,尤其是涉及形式化验证的情况下






