当前位置:首页 > 新闻资讯 > 行业动态

什么是以太坊虚拟机VM 它是如何工作的?

时间:2023-03-12 20:24:00作者:欧易交易所app官网下载阅读:

欧易交易所app下载

欧易交易所app

类型:金融理财大小:214.05MB 版本:v6.1.42语言:中文

安卓版
苹果(H5)版

欧易(okx)交易所是一款数字货币交易平台,可以查看主流数字货币实时价格,支持100多种数字货币交易,感兴趣的朋友欢迎来下载体验吧!

EVM 是以太坊区块链的支柱,为开发人员提供了一个运行时环境来构建 DApp 和其他应用程序。

以太币(ETH)是市值第二大的加密货币,因其原以太币$1,193币而在加密货币投资者中很受欢迎。然而,它的原生Solidity编程语言和以太坊虚拟机(EVM)有助于它从开发人员社区获得赞誉。事实上,以太坊区块链继续吸引去中心化应用程序(DApp)开发人员,因为它的灵活性、广泛的可用开发人员工具和平台庞大的用户群。

0.png

EVM 构成了区块链架构的核心,是执行其应用程序代码或智能合约的程序,为它们提供了一个在以太坊网络上运行的运行时环境。更重要的是,EVM 是图灵完备的,因此可以运行用任何编程语言编码的任何程序,从而允许开发人员轻松地为蓬勃发展的Web3空间创建自定义智能合约和 DApp。

除了这些重要功能外,EVM还可以访问网络中的所有节点,处理智能合约执行并有效处理以太坊区块链上的所有交易,使其成为当今最强大的虚拟机之一。

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

以太坊网络由程序员Vitalik Buterin于2013年提出概念,其作为DApp开发人员首选区块链的惊人成功归功于Gavin Wood在以太坊任职期间设计的以太坊虚拟机(EVM)。EVM 是用 C++ 编写并使用 LLVM 项目编译器编写的,是一种特殊的状态机,它连续运行,其不可变操作决定了以太坊区块链中每个区块的状态。

EVM不仅控制节点可以或不能对以太坊区块链维护的分布式账本做什么,而且还定义了从一个区块到另一个区块改变状态的具体规则。后一种功能使以太坊众所周知的智能合约功能成为可能。

要了解以太坊虚拟机的作用,需要查看它在确保以太坊网络平稳运行方面提供的每个不同功能。对于它接收的每个输入,EVM 都会产生一个本质上是确定性的输出,并遵循最简单意义上的数学函数。

EVM 的运行方式类似于将瞬态值推入和推出下推堆栈的堆栈机,其深度为 1024 个项目,每个项目都是一个 256 位字。它还以字节数组的形式维护一个临时内存,该内存在以太坊区块链上的两个交易之间变化。已经编译的智能合约代码由EVM以140个标准操作码的集合的形式执行,而其他特定于区块链的堆栈操作也由它实现。

因此,EVM 具有在任何交易处理过程中本质上是易失性的机器状态,以及包含有关以太坊区块链上维护的不同帐户的信息的全局或世界状态。所有操作都由 EVM 代码控制,自 2015 年以太坊网络推出以来,EVM 代码本身经历了多次迭代,导致当前使用的 EVM 存在不同的实现。

事实上,EVM 负责在数千个以太坊节点和执行代码之间维护一个抽象级别,充当一个提供一致结果的函数,而不会向客户端或节点泄露许多细节。

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

EVM 一直可靠地为以太坊网络上运行的所有应用程序提供动力,没有报告任何重大停机。对于开发人员来说,EVM充当总体程序,运行较小的可执行程序,这些程序在以太坊中称为智能合约,同时为他们提供了用各种编程语言编写这些智能合约的自由,包括Solidity,Vyper,Python和Yul等。

由于 EVM 提供的这种灵活性,以太坊区块链在去中心化金融 (DeFi) 和不可替代代币 (NFT) 领域催生了数千个 DApp。这些DApp中的每一个以及它们所组成的智能合约都被转换为字节码,该字节码被输入EVM并分布在以太坊网络中的所有节点之间。部署智能合约时,EVM 负责与所有节点通信,并在达成共识时进行状态更改。

可以说,EVM 插入每个以太坊节点内部,使用字节码而不是基本编程语言执行智能合约,从而将物理主机与运行以太坊的机器码隔离开来。

以太坊虚拟机 (EVM) 的优势

由于 EVM 的运行方式,开发人员可以执行代码,而不必担心它对网络其余部分的影响,或者担心它可能会对托管在任何节点计算机上的数据或个人文件逃学。

此外,他们可以通过分布式共识在不同的计算环境中运行复杂的智能合约。这确保了单个节点的故障不会对DApp或智能合约的运行产生任何负面影响,因为EVM代码在所有节点上保持不变。此外,由于账户数据在EVM中以全局级别维护,开发人员发现它非常适合编写自定义智能合约代码并创建可以访问此全局数据集并产生可靠输出的独特DApp。

结果的神圣性使EVM和以太坊区块链总体上非常适合DApp和智能合约以太坊生态系统的可持续扩展。除此之外,开发人员可以选择的标准代码库、越来越多的 EVM 兼容第2 层区块链和大量潜在的 EVM 用例,很容易理解为什么EVM 是 Web3 开发的首选平台。

以太坊虚拟机(EVM)的缺点

尽管 EVM 提供了许多优势,但在以太坊上构建的开发人员和企业家需要考虑某些缺点。其中最重要的是与在以太坊网络上运行智能合约相关的高额交易费用或gas成本。

这些费用以ETH支付,根据合同的复杂性和执行时的网络拥塞而有所不同,因此开发人员和企业家必须相应地为其服务定价。此外,由于Solidity是在EVM上编码的首选语言,它确实意味着开发人员需要有足够的经验,并拥有一点技术专长,以使用它来创建高效的智能合约。

后者很重要,因为任何额外的计算要求都会导致更高的天然气成本,并最终证明对项目的成功有害。如果开发人员选择使用其他语言进行编码,则需要小心解决代码中任何固有的重复问题,因为 EVM 无论如何都会继续编译它们。虽然升级智能合约可以在后期阶段进行,但它伴随着与创建引用原始智能合约地址的中间智能合约相关的安全风险。

EVM 的未来

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

由于跨链互操作性是开发人员最重要的方面,许多与EVM兼容的区块链得到了支持,大多数区块链提供的gas和更快的交易速度比以太坊协议低。因此,这些区块链现在能够与以太坊用户无缝交互,并使用区块链桥促进资金转移到他们自己的网络。

然而,随着以太坊协议在 2022 年 9 月成功完成合并,下一个目标是从EVM 转向以太坊 WebAssembly (eWASM)。eWASM被设计为高度模块化和独立于平台,被吹捧为以太坊协议的下一个游戏规则改变者,并可能激励其他区块链也将这种运行时环境用于智能合约。然而,eWASM是否会取代EVM成为智能合约最受信任的机制,这是一个只有时间才能回答的问题。


展开全部内容

相关文章

猜你喜欢

精品推荐