选边站队,以太坊手里的大杀器—EVM

如今不管是公链、侧链还是layer2,我们鉴别它们的不同时,会提到一个很好的参照系,也就是否兼容EVM。如果兼容EVM,等于是走了捷径,认以太坊做大哥,可以得到很多便利,但凡事就得按照大哥的规矩办事,不然你啥也不是。当然也有很多项目天生傲骨,我就是不和你以太坊玩,你以太坊的EVM并不是最好选项,我自己开发。 

什么是EVM?

EVM的全英文是Ethereum Virtual Machine,翻译过来就是“以太坊虚拟机”,它又被称作“以太坊的心脏”,它为什么如此重要,这其实要从比特币开始讲,我们都知道比特币作为区块链应用的鼻祖,虽然被誉为“数字黄金”。但是它的作用仅仅是在网络里记录、验证、存储及复制交易数据,没办法构建应用程序。这显然无法建造一个去中心化的世界,所以V神创造的公链以太坊就是基于图灵完备可编程的,也就是讲在上面可以运行各种程序,就像是现在的手机安卓和苹果系统,开发者可以在上面进行再创造,这样才不是死板的,是一条可以对接现实世界的公链。

但是会有另外一个问题存在,如果所有的开发者都在硬件设备上去写程序,一旦受到了攻击,那么整条链都会出现风险,而虚拟机的作用就是通过软件模拟出了跟我们硬件设备一模一样的虚拟机器,它拥有跟实际物理电脑同样的软硬件资源。那么进入虚拟的系统之后,我们就可以进行折腾,所有其他项目都可以来这里创造他们的构想,就算被攻击,也没事,EVM就是创造了一个和主链有相同功能,又有主链相隔离的世界,就像是一个镜像,它隔断了主机所有的风险。

EVM的出现,让以太坊有望成为“世界计算机”,它跳出了比特币的圈禁,如果说比特币是一片荒凉的矿山,那么以太坊就成为了肥沃的田野,然后开始有了大量的码农来这里耕种自己的“种子”,这也标志着以太坊将区块链带入了2.0时代。

选边站队,EVM成为以太坊的大杀器

发展到今天,以太坊上的生态众多,也聚集了大量优秀的开发者和项目,这对于起于草根的项目来讲,初始流量能否聚集关系到项目的生死,如果兼容EVM的话,那么对于开发者和优质项目的迁移有着天然的优势,而如果不兼容,那么开发者要重新学习语言,项目方要花大价钱进行迁移,试想一下,如果新公链没有足够的利益吸引,哪有开发者和项目愿意做这件事情,但是如果兼容EVM,那么以太坊上的项目,几乎就可以做到一键迁移过去,便可以承接住以太坊由于gas高昂、tps低下而正在外溢的生态价值。

像 Polygon、BNB Chain、Celo、Optimism、zkSync、Avalanche、Fantom这些都是兼容EVM的,而也应该看到,很多公链在走自己的路,开发属于自己的虚拟机,Solana、Terra。以及Dfinity,这些项目依托强大的资金背景,或者秉着未来“宏图大业”的愿景,并不想因为短期的捷径而“臣服”于以太坊,除了Dfinity现在依旧在沉寂期,Solana和Terra今年毫无疑问是公链市场里耀眼的明星,它们的成功也在向市场表明,在公链的江湖里,以太坊无法一家独大。 

EVM的优势与缺点

EVM接收用 Solidity 语言编写的程序,这也是以太坊的官方语言,为了使该语言更强大,优秀的以太坊开发人员还创建了许多“库”,这就像是军火,让后来基于以太坊创建程序的开发者便于使用,而且以太坊还有区块链浏览器 Etherscan、MetaMask钱包,它通过网络广播用户的命令将用户连接到 EVM。这些成熟的基础工具,是以太坊优秀的开发人员花费数千小时搭建起来的,一套成熟的系统可以让后来者节约大量的精力财力,这些都是以太坊的优势。

此外,除了卓越的技术外,EVM 生态系统还拥有庞大的区块链开发者和开源项目市场。这些项目可以快速复制,不需要耗时的代码重写,这也就是我们可以看到,以太坊是创新的试验场,一旦以太坊上成功了,其他公链的复制项目立马会跟进。

随着区块链的发展,EVM也越来越显示出它的诸多缺点,比如说EVM缺少完善的标准库支持,甚至最基本的string类型支持,其次EVM不支持合约升级,合约升级是智能合约开发中的一个强需求,开发者只能通过发布新合约来解决这个问题,费时费力,而且EVM的效率不高,EVM 只能处理256位字节码,这意味着小于256位的字节码必须先转换为256位格式,然后才能发送给 EVM。EVM 的可扩展性问题很明显,因为它每秒只处理25个交易,这些种种都限制了以太坊的发展,甚至可以说限制了众多公链的发展,毕竟那些兼容EVM的公链,也必须承载这些缺陷。

更优秀的虚拟机,会让以太坊妥协吗?

Dfinity使用的虚拟机是WASM,它具有 EVM 的所有功能,并附带了额外的功能,是由万维网联盟(W3C)创建和定义的,WASM相较于EVM来讲更高效,它消除了以太坊对预编译合同的依赖,开发人员可以创建高效、快速的智能合约,而无需担心潜在的硬分叉,同时WASM支持更多的语言,我们知道EVM只能接收用Solidity语言编写的程序,而WASM除此以外还支持传统的编程语言,比如Rust、C和C++等,这些对于传统的程序员来讲降低了进入门槛。

虚拟机是公链的心脏,以太坊对于自身EVM的缺陷肯定也非常清楚,有消息称在以太坊2.0 当中,以太坊也有计划从EVM移植到WASM。 

以太坊是一条优秀的公链,在不断的自我革新之中,不管是从1.0到2.0的升级,还是对layer2的支持,以及在虚拟机上面的更新,以太坊的表现都非常的积极,在拥抱EVM,拥抱以太坊的流量和生态溢出价值,还是走漫长属于自己的路,每个项目都有自己的深度考量,在这百花齐放的去中心化世界里,不管选择了哪一条去“罗马”的路,希望终点都会汇合。

Subscribe to 区块链思维
Receive the latest updates directly to your inbox.
Verification
This entry has been permanently stored onchain and signed by its creator.