首页 / 币圈百科

Web3中文|什么是以太坊虚拟机(EVM),它是如何工作的?

发布时间:2023-05-07 17:02:11
欧意最新版本

欧意最新版本

欧意最新版本app是一款安全、稳定、可靠的数字货币交易平台。

APP下载  官网地址

来源 | cointelegraph

编译 | Dali@iNFTnews.com

以太坊已成为仅次于比特币的第二重要区块链。以太坊可以发展得这么好,它的本土Solidity编程语言和以太坊虚拟机(EVM)它起着重要的作用。

以太坊区块链以其灵活性、大量可用的开发工具和庞大的用户基础,继续吸引分散的应用(Dapp)加入开发人员。

EVM作为区块链架构的核心,是执行以太坊应用代码或智能合同的程序,为以太坊网络提供运行环境。

另外,EVM是图灵完整的( 所有可计算的问题都可以计算出来。这种虚拟机或编程语言称为图灵完整性)。因此,理论上,它可以运行编程语言编写的所有程序,使开发人员能够轻松创建自定义的智能合同和Dapp

除此之外,EVM还可以访问网络中的所有节点,处理智能合同的执行,有效管理以太坊区块链上的所有交易,成为世界上最强大的虚拟机之一。

以太坊网络的概念是程序员Vitalik Buterin于2013年提出。

作为Dapp开发者的首选区块链,以太坊的成功取决于Gavin 在以太坊任职期间,Wood设计了以太坊虚拟机(EVM)。

EVM用C 编写并使用 LLVM项目编译器(LLVM是架构编译器的框架系统,用于优化编译时间、链接时间、运行时间和任何程序语言编写的空闲时间)。它是一种特殊的状态机器,可以连续运行,决定以太坊区块链中每个块的状态。

EVM不仅管理节点对分布式账本的操作范围,还定义了不同块之间改变状态的具体规则。后一个功能是以太坊智能合约成功运行的基础。

要了解以太坊虚拟机的功能,我们需要知道它在确保以太坊网络的平稳运行方面做了什么。

EVM将对接收到的每一个输入信息产生基本确定的输出信息。

EVM的运行模式类似于将瞬态值推入并推出下推栈的堆栈机,其深度为1024个项,每个项为256个字。

此外,它还以字节数组的形式维护临时内存。已编译的智能合同代码由EVM以140个标准操作代码集合的形式执行,其他区块链独特的堆栈操作也由EVM执行。

因此,EVM在处理交易过程中具有本质上不稳定的机器状态,并具有整体或世界状态,以容纳以太坊区块链上的不同账户信息。

以太坊上的所有操作都由EVM代码管理。自2015年以太坊网络推出以来,EVM代码本身经历了多次迭代,这也使得有各种EVM实现工具。

EVM负责维护数千个以太坊节点和执行代码之间的抽象级别,并在不向客户端或节点泄露太多细节的情况下传输一致信息。

EVM一直在为以太坊的所有应用提供可靠的动力。

对于开发人员来说,EVM是运行较小的可执行程序(以太坊称为智能合同)的主要程序,并提供各种编程语言(如Solidity)、Vyper、自由编写这些智能合同,如Python和Yul。

由于EVM提供的灵活性,以太坊区块链在DEFi和NFT领域催生了数千个Dapp

每一个Dapp和构成它们的智能合同都被转换成字节码,它们被传输到EVM,并分布在以太坊网络的所有节点中。

EVM在部署智能合同时,负责联系所有节点,并在达成共识后改变状态。

可以说,由于EVM,以太坊可以使用字节码而不是基本编程语言来执行智能合同,因此物理主机可以区分以太坊运行的机器代码。

EVM的操作模式清除了开发人员执行代码的一些担忧——数据或个人文件不会影响网络的其他部分或托管在任何节点。

此外,开发人员可以在具有分布式共识的不同计算环境中运行复杂的智能合同。

这确保单个节点的故障不会对Dapp或智能合约的整体运行产生任何负面影响,因为所有节点上的EVM代码都是一样的。

不仅如此,由于账户数据在EVM中保持整体状态,为开发人员编写自定义智能合同代码和创建独特的Dapp创造了良好的条件,可以访问整体数据集并产生可靠的输出。

总的来说,以太坊区块链非常适合Dapp和智能合约的可持续扩展。

除了上面提到的,EVM还有标准代码库供开发人员选择,越来越多兼容的第二层区块链和大量潜在的EVM用例,这就是为什么EVM是Web3开发的首选平台。

然而,EVM并不完美。计划在以太坊开发项目的开发人员和企业家也需要了解EVM的缺点,如高交易费用或Gas成本。

这些费用需要用户通过ETH支付,并根据智能合同的复杂性和当时的网络拥堵情况进行变化,这要求开发者和企业家定价服务。

此外,Solidity是EVM上最流行的编码语言,这意味着开发人员需要有足够的经验和一定的技术专长来利用Solidity创建高效的智能合同。

这一点非常重要,因为任何额外的计算需求都会导致更高的GSA成本,这不利于项目的成功。

如果开发人员选择使用其他语言编码,他们需要认真解决代码中的任何固有重复问题。

EVM给区块生态系统带来了革命性的变化,但许多区块链项目也在改进这种用于读取和执行代码的技术。

跨链互操作对开发人员来说是最重要的。许多与EVM兼容的区块链已经发展起来,其中大多数比以太坊提供更低的成本和更快的交易速度。

以太坊用户可以通过跨链桥直接与这些区块链无缝互动,将以太坊上的资金转移到这些区块链。

必须指出的是,随着2022年9月合并的完成,以太坊的下一个目标是完成从EVM到以太坊Webasembly (eWASM)范式转换。

以太坊旨在将eWASM打造成高度模块化、独立于平台的虚拟指令集体架构。

许多人把eWASM吹捧为以太坊的下一个游戏规则变化者,并认为它可以用于其他区块链。

然而,EWASM能否取代EVM成为最值得信赖的智能合约机制?也许只有时间才能回答这个问题。

声明:web3中文编译作品仅代表作者的立场,不构成投资建议。请谨慎对待。如果文章/材料受到侵犯,请联系官方客户服务。

免责声明:本文为转载,非本网原创内容,不代表本网观点。其原创性以及文中陈述文字和内容未经本站证实,对本文以及其中全部或者部分内容、文字的真实性、完整性、及时性本站不作任何保证或承诺,请读者仅作参考,并请自行核实相关内容。

如有疑问请发送邮件至:bangqikeconnect@gmail.com