无数次出现的 EVM 为何物

CN
1 year ago

 EVM,即以太坊虚拟机(Ethereum Virtual Machine,EVM)是什么意思?这篇文章带你一探究竟。

 

什么是以太坊虚拟机(EVM)

 

在以太坊上,开发者开发智能合约使用的编程语言是 Solidity。Solidity 是专门为以太坊区块链设计的一款编程语言,一般其他区块链不会默认使用这种编程语言来开发智能合约。 而如果要在非 Solidity 语言的区块链上部署运行 Solidity 语言智能合约,就需要在这个区块链上开发 EVM,以太坊虚拟机,让这些 Solidity 语言智能合约在以太坊虚拟机(EVM)环境下运行。即,以太坊虚拟机(EVM)是这些非以太坊区块链的一个虚拟运行环境,它使得那些 Solidity 语言以太坊智能合约间接地在这些非以太坊区块链上运行。

 

以太坊虚拟机的优势与不足

 

优势

 

EVM 允许任何人创建自己的 DApp。

 

任何人都可以创建数字艺术并在去中心化的市场上销售。

 

不足

 

EVM 网络并非完全去中心化。

 

EVM 需要一些技术知识。

 

在网络拥塞期间 EVM 将收取高昂的 gas 费。

 

以太坊上的 EVM

 

在做开发前,程序员需要把 Java 代码编译成字节码,但计算机无法识别字节码,Java 虚拟机的作用就是把字节码编译成计算机系统可以识别的机器码指令,然后在计算机上运行。那么同样的,EVM 的存在是为了能让程序员用 Solidity 编写的合约代码,运行在以太坊的环境中。

 

可见,以太坊就相当于计算机环境,而 EVM 负责把合约代码编译成以太坊能识别的机器码运行。在网络较为繁荣,也就是开发者搭建应用需求比较旺盛的时候,每天甚至每小时都会有成千上万条新的代码写入以太坊网络。但是,这些合约代码,如果无法被编译成系统可以识别的语言信号,就无法转化成具体的指令和程序。所以,我们可以把 EVM 看成是以太坊生态中最重要的资源转换器。没有了他,以太坊上的代码就无法生效,即便是开发者孜孜不倦地编写程序语言,也等同于停更。须知,任何一款程序的代码停止更新,就意味着他走向终结。另外,如果没有 EVM,任何人都无法在以太坊协议上执行程序软件,因为这样一来他们写入系统的代码,全是 Bug。

 

参考:欧易

免责声明:本文章仅代表作者个人观点,不代表本平台的立场和观点。本文章仅供信息分享,不构成对任何人的任何投资建议。用户与作者之间的任何争议,与本平台无关。如网页中刊载的文章或图片涉及侵权,请提供相关的权利证明和身份证明发送邮件到support@aicoin.com,本平台相关工作人员将会进行核查。

Share