EVM(以太坊虚拟机)是一种虚拟计算环境,一种分布式计算机,负责在以太坊网络上执行算法,称为智能合约。它是如何工作的,我们为什么需要它?让我们来了解一下
EVM 是一个图灵完备机,这意味着它理论上可以处理任何可以在具有足够计算资源的计算机上执行的计算。
EVM 使用“gas”(gwei)作为智能合约执行的支付,包含在交易成本中。用户所需的 gas 量取决于所执行计算的复杂性和以太坊区块链上的当前负载。
EVM 创建者
以太坊的联合创始人、以太坊基金会的技术总监Gavin Wood在2015 年的“黄皮书”中概述了以太坊虚拟机的概念。
他还开发了 Solidity 编程语言,用于在以太坊区块链上创建智能合约。2016 年,Wood 离开以太坊去开发一个新项目——Polkadot。
为什么我们需要以太坊虚拟机?
在没有中心化控制主体的情况下,EVM 可以表示为一组在同一网络中按照相同规则进行计算的分布式计算机。
与作为分布式注册表呈现的比特币协议不同,以太坊是一个大型数据结构,EVM 负责对其进行处理和修改。写入以太坊区块的任何代码都在数以万计的虚拟机上独立执行。
与作为分布式注册表呈现的比特币协议不同,以太坊代表一个大型数据结构,EVM 负责处理和修改。写入以太坊区块的任何代码都在数以万计的虚拟机上独立执行。
EWM 保证以太坊区块链中的所有交易和智能合约都将按照智能合约代码按照既定规则执行。它是 EVM,用作在以太坊网络上使用代币执行操作、调用智能合约、更改地址余额和应用程序状态的平台。
用于 EVM 的 Gwei
以太坊中的 Gwei 执行内部货币的功能,用于支付在 EVM 上进行的交易。1 gwei 是 0.000000001 ETH。以太坊中的“Gas”是汽车燃料的类似物,用户必须在开始移动之前“填充”传输。
每笔交易的 gas 限制将根据操作的复杂性和以太坊网络的工作量而有所不同。例如,2021 年年中,在柴犬 meme 加密货币被炒作需求的背景下,以太坊平均交易费用达到 60 美元,Uniswap 上的掉期费用为 135 美元,Compound 中的存款补充超过 200 美元。造成这种情况的主要原因是区块链的高负载 – 大量用户并行执行 Shiba Inu 操作。
如果操作太复杂,设置的 gas 限制量可能不够,EVM 将停止处理交易而不将其写入以太坊区块链。
作为 EVM 运行支付的 gas 不足可能导致无限复杂的计算,从而可能由于过载而停止网络。因此,以太坊中的gas起到了防止入侵者和对区块链攻击的作用。
EVM 在哪里使用?
尽管许多加密货币项目使用自己的虚拟机,但以太坊区块链并不是唯一在 EVM 上运行的平台。以下是一些使用以太坊基金会开发的区块链平台:
- 以太经典。基于工作量证明共识算法创建和执行智能合约的平台。
- 维链。基于权威证明共识机制的区块链。
- 幻想。使用有向无环图 (DAG) 的智能合约平台,与 EVM 完全兼容。
- Polygon。部署在以太坊之上的协议和区块链网络。
与 EVM 兼容的区块链
以太坊虚拟机有许多缺点,包括数据存储成本高、可扩展性低、以太坊网络拥塞期间的高gas价格以及对智能合约编程的重大限制。
作为这些问题的解决方案,EVM 兼容网络可以采取行动,它使用类似于以太坊虚拟机的代码执行环境,但同时由于特殊的扩展解决方案,交易成本要低得多。这允许以太坊生态系统中去中心化应用程序的开发人员迁移到更具可扩展性的区块链,而无需从头开始编写智能合约。
一组这样的解决方案称为侧链。他们可以使用具有自己的共识算法和块创建参数的单独区块链,但可以使用与 EVM 兼容的虚拟机。以太坊侧链的示例包括 Matic(Polygon PoS)、Gnosis 链或 Loom Network。
另一种选择是基于 Rollups 技术的二级解决方案(Layer 2)。L2项目的一个例子是使用 Optimistic Rollups 协议的 Optimism 平台。该区块链中的智能合约由 EVM 控制,汇总协议执行计算并将合约状态存储在单独的 Optimistic Virtual Machine 中。
以太坊虚拟机(EVM)的发展
在接下来的几年里,以太坊应该会发生一些重大更新,其中第一个应该是 The Merge——区块链向新的 Proof-of-Stake 共识算法的过渡。
2022 年 7 月,Vitalik Buterin 提出了以太坊区块链开发的分阶段计划。这些主要阶段之一应该是将以太坊虚拟机更改为新的虚拟机——以太坊 WebAssembly (eWASM)。
资料来源:推特
虽然目前还没有关于 eWASM 的最终详细文档,但开发人员强调了它的以下优势:
在接下来的几年里,以太坊应该会发生一些重大更新,其中第一个应该是 The Merge——区块链向新的 Proof-of-Stake 共识算法的过渡。
- 智能合约的执行速度,接近原生;
- 能够以多种流行语言开发合约,包括 C、C++ 和 Rust;
- 访问庞大的开发人员社区和 Web 组装工具。
资讯来源:由a0资讯编译自THECOINREPUBLIC。版权归作者A0资讯所有,未经许可,不得转载