最近身边很多朋友都在咨询我关于区块链行业的发展状况,不少互联网企业也在积极探索web3,试图将自己的业务与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(以太坊虚拟机)
EVM是以太坊的虚拟机,兼容EVM本质上是兼容以太坊生态,因为以太坊生态基本占据了行业生态的大半半壁江山,所以兼容EVM是为了更好的获得用户和资源,而很多公链开发则直接选择基于EVM进行开发。EVM的优势如下:
成熟的生态:EVM是目前最广泛使用的区块链虚拟机标准,兼容以太坊生态,拥有庞大的开发者社区和丰富的工具(如Truffle、Hardhat)。使用EVM意味着可以轻松接入现有的DeFi、NFT和其他DApp生态。
1) 广泛的兼容性:许多主流公链(如BNB Chain、Polygon、Avalanche)都采用了EVM,开发者迁移项目或技术合作时难度较小。
2) 开发者友好:由于EVM的普及,大量开发文档、教程和模板已经存在,开发者学习成本较低,工具链完善。
3) 网络效应:基于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生态,来提升以太坊的安全性,补其短板。