传统经济不景气,最近身边很多互联网朋友都在咨询我关于Web3的情况,试图找到一个合适的切入口,当然我的建议是自己公链,这样灵活性更高,也方便业务的开展,不受限于其他公链的瓶颈。

同时,这也引发我一个思考,如果企业要自己开发公链,那么选择现有的开发框架如Cosmos SDK、StarStack、Substrate进行开发无疑是最简单和省事的,或者用OP Stack、Polgon CDK等技术做一条L2也是很方便,但我的问题是应该选择EVM虚拟机,还是Move呢?

EVM是第一个为区块链行业创建的虚拟机,也是目前使用范围和兼容生态最多的虚拟机,而Move作为第二代开发语言,在安全性和功能方面更强大,同时也是Meta这种大厂开发出来的,孰优孰劣真的不是很好选择,于是我咨询了公司的开发人员,也与行业内的技术大牛沟通后,通过对安全性、兼容型、开发友好、稳定性等角度进行了比较全面的比较,希望能给行业内正在从事公链开发,或者即将从事公链开发的朋友一些参考。

1. 定义公链类型

在决定公链开发之前,首先要确定自己的公链的类型,行业内对公链类型的划分主要去中心化程度进行,如公有链、联盟链、私有链。但这里的类型是只对公链的定位,先要问自己几个问题:

  1. 是要做一个开发平台,构建很多生态应用?如以太坊、Solana

  2. 还是要做一个独立的区块链,满足自身的业务发展需求?如Uniswap Chain、dYdX Chain

  3. 或者是做一个区块链集合平台,基于你的平台可以构建很多其他公链,最终形成一个多链宇宙?如Polygon、Optimism


公链开发是一件极其复杂,费时费力的事情,不但开发工程量巨大,并且后期运营维护成本也很高。所以,弄清楚自己对公链的定位是选择公链开发的第一步,这决定了后续工作的难易程度。

如果要做类似以太坊这种拥有庞大生态的区块链,那么道阻且长。而如果要做一条类似dYdX Chain这种应用级别的链,那么开发难度或许比你想象的还容易些,目前已经非常成熟的框架如Starcoin的StarStack、Cosmos SDK等Layer1框架,可以快速帮助你实现独立区块链的开发。


2. EVM和Move VM的不同

EVM是以太坊虚拟机,兼容整个以太坊生态,而Move VM则是不兼容以太坊。举例来说,两者就像是不同操作系统的手机,我们把EVM比作安卓系统,而Move则是iOS系统,基于安卓系统开发的应用包是无法在iOS系统上运行的,同样基于iOS系统的应用也无法在安卓上运行,也无法上线安卓的应用市场。

所以,在选择虚拟机的时候就很重要,基于EVM开发的公链可以与以太坊生态,包括其二层网络兼容,但无法与Move生态兼容。目前,知名的 EVM 链包括Ethereum、Bsc、Arbitrum、Polygon、Avalanche 等,而Move生态的知名公链包括Starcoin、Aptos、Sui、Movement等。


3. 虚拟机选择EVM还是Move VM?

确定好公链类型后,就是站队环节了,选择EVM生态或是Move生态。EVM是目前应用最广的虚拟机,有其长期发展带来的群体效应。而Move是一种全新的开发语言,拥有自己的生态,如Sui、Aptos、Starcoin等都是其生态的明星项目,并且Move也是大部分开发者认为更安全和先进的开发语言。

3.1 EVM(Ethereum Virtual Machine)

EVM是以太坊的虚拟机,兼容EVM本质上是兼容以太坊生态,因为以太坊生态基本占据了行业生态的大半半壁江山,所以兼容EVM是为了更好的获得用户和资源,而很多公链开发则直接选择基于EVM进行开发。EVM的优势如下:

  1. 成熟的生态:EVM是目前最广泛使用的区块链虚拟机标准,兼容以太坊生态,拥有庞大的开发者社区和丰富的工具(如Truffle、Hardhat)。使用EVM意味着可以轻松接入现有的DeFi、NFT和其他DApp生态。

  2. 广泛的兼容性:许多主流公链(如BNB链、Polygon、Avalanche)都采用了EVM,开发者迁移项目或技术合作时难度较小。

  3. 开发者友好:由于EVM的普及,大量开发文档、教程和模板已经存在,开发者学习成本较低,工具链完善。

  4. 网络效应:基于EVM的链更容易吸引已有的区块链用户和项目,并且能快速匹配用户使用习惯,快速获得生态流量。

当然也存在一些不足:

  1. 技术局限性:EVM存在一定的架构瓶颈,如Gas机制的复杂性和灵活性较低,限制了某些场景的创新,这也是如dYdX这类应用出逃选择自己构建独立区块链的主要原因之一。

  2. 安全问题:Solidity合约的开发难以避免漏洞问题,尤其是对初学者来说更容易出错。

  3. 拥堵与高费用:在主流EVM链中,随着用户量的增加,容易出现拥堵,Gas费用也随之上升。在之前以太坊拥堵的情况下,进行一笔交易的gas一般要超过上百美金,包括现在在以太坊上进行交易,也要20多美金手续费,这对于需要高频交互场景的应用来说是不可接受的。

除此之外,EVM生态还存在许多局限性,导致用户体量无法进行扩大。这些局限性从近两年生态发展可以看出,Solana凭借优异的网络性能和低成本优势,快速抢占市场,到目前为止,活跃地址数已经完全反超以太坊生态。据defilama数据显示,以太坊活跃地址仅为41.96万,而Solana活跃地址为568万,已经超过10倍。

3.2 Move VM(Move虚拟机)

Move VM是基于Move语言开发的虚拟机,主要作用于Move生态。但目前Move生态各自为政,生态内的项目并不能实现互通,不过值得注意的是Move生态项目Starcoin近期推出的Move v7升级,将实现Move生态主流应用的无缝迁移,这或许对于打通Move生态,实现流量和资源的共享有帮助。

  1. 安全性更强:Move语言从设计上就引入了“资源安全”的概念,避免了许多传统智能合约中的漏洞。例如,它能更好地管理资产的唯一性和所有权,极大降低了出错的概率。

  2. 面向资源的编程:MoveVM 将资产视为有形的、不可复制的资源,从而确保了资产管理的更高程度的安全性和完整性。

  3. 创新的技术设计:Move的生态目前主要集中在新兴的链(如Aptos、Sui、Starcoin等)上,这些链在性能、用户体验和开发模式上往往具有更高的创新性。尤其是Starcoin,它将并行化技术和DAG技术结合,在试运行环境下TPS达到13万,网络性能表现非常亮眼。

  4. 发展潜力:Move生态目前处于早期阶段,对于想要引领技术方向或开发新标准的团队,Move链可能提供更多发展和差异化空间。

Move VM的不足:

  1. 生态不够成熟:相较于EVM,Move的生态规模较小,开发者社区和工具链还在不断完善中,对于想要快速获取生态用户的项目来说,需要通过自身建设来完成。

  2. 存在不确定性:Move生态仍处于早期阶段,未来是否能达到EVM生态的影响力尚不确定。作为公链,可能面临吸引开发者和用户的难题。

  3. 开发者稀缺:Move语言的开发者目前相对较少,培养人才需要时间和资源。


但值得一提的是Move生态项目Starcoin推出了StarStack,它是一个区块链开发框架和工具箱,对于不熟悉Move语言或者需要定制化开发Move区块链的开发者来说,可以用StarStack进行快速构建Move区块链。简单来说,它类似Optimism的Stack,Cosmos SDK这些公链开发工具,上手容易,开发进度快。


4. 公链开发如何进行选择?

通过以上对比可以看出,EVM虽然生态最大,但近期很多用户已经被Solana抢占,并且竞争巨大,各类Layer2和兼容链让市场竞争白热化,基于EVM开发公链属于在确定性种找不确定性。而Move生态目前仍处于早期,知名项目并不多,并且发展潜力较大,市场竞争压力小,属于在不确定性中找确定性。

但归根到底,进行公链开发还是要结合自身需求,以下是预设情况:

  1. 短期目标:如果你的目标是快速上线并吸引用户,EVM可能是更好的选择,尤其是你希望快速整合DeFi或NFT应用时。

  2. 长期创新:如果你计划构建一个创新性强、以安全和高性能为核心的公链,Move是值得投资的方向。

  3. 生态策略:如果你选择Move技术,也可以兼容EVM(如通过桥接或双虚拟机方案),实现两者的优势互补。如今年上线的Movement就是致力于将Move引入EVM生态,来提升以太坊的安全性,补其短板。