主页 > imtoken有usdt钱包地址吗 > Web3 中文 | 什么是以太坊虚拟机 (EVM),它是如何工作的?

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

imtoken有usdt钱包地址吗 2023-03-12 05:57:24

来源 | 电讯报

编译 | Dali@iNFTnews.com

以太坊已成为继比特币之后第二重要的区块链。 以太坊能发展得这么好,其原生的Solidity编程语言和以太坊虚拟机(EVM)都发挥了重要作用。

以太坊区块链因其灵活性、大量可用的开发工具和庞大的用户群而继续吸引着去中心化应用程序 (DApp) 开发人员。

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

此外,EVM是图灵完备的(所有可计算的问题都可以计算,这样的虚拟机或编程语言称为图灵完备),所以理论上它可以运行所有用编程语言编写的程序,让开发者可以轻松创建自定义智能合约和 DApp。

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

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

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

中国以太坊币官网_以太坊官网中文_以太坊官网下载

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

中国以太坊币官网_以太坊官网中文_以太坊官网下载

EVM用C++编写,使用LLVM项目编译器(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 中保持全局状态,这为开发人员编写自定义智能合约代码和创建可以访问全局数据集并产生可靠输出的独特 DApps 创造了良好条件。

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

除了上面提到的,EVM还有一个供开发者选择的标准代码库,越来越多与之兼容的二层区块链,以及大量潜在的EVM用例,这也是EVM成为平台的原因Web3 开发的首选。

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

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

这些费用需要用户通过 ETH 支付,并且会根据智能合约的复杂程度和当前的网络拥堵情况而有所不同,这就需要开发者和企业家对服务进行相应的定价。

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

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

以太坊官网中文_中国以太坊币官网_以太坊官网下载

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

EVM 的未来

EVM 彻底改变了区块链生态系统,但许多区块链项目也在改进这项技术以读取和执行代码。

跨链互操作性对开发人员来说至关重要,并且已经开发了许多 EVM 兼容的区块链,其中大多数提供比以太坊更低的费用和更快的交易速度。

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

还必须提到的是,随着 2022 年 9 月合并的完成,以太坊的下一个目标是完成从 EVM 到 Ethereum WebAssembly (eWASM) 的范式转变。

以太坊旨在将 eWASM 构建成高度模块化和平台无关的虚拟指令集架构。

许多人将 eWASM 吹捧为以太坊的下一个游戏规则改变者,并认为它可能会被其他区块链使用。

然而,eWASM 能否取代 EVM 成为最值得信赖的智能合约机制呢? 这个问题或许只能交给时间来回答了。