什么是EVM(以太坊虚拟机)?eWASM和它的关系是什么?

Ethereum Virtual Machine的缩写,中文直译全称为以太坊虚拟机。对于没有接触过软件开发的用户来说,EVM看似晦涩难懂。但是如果我们先类比什么是Java虚拟机,或许会更好理解。

一、简单的类比:EVM之于以太坊,正如Java虚拟机之于Java语言

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

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

为进一步强化读者对EVM的概念,大家不妨先明晰两个概念:虚拟机和图灵完备性。

二、读懂两个最关键概念:虚拟机和图灵完备性

首先,虚拟机(Virtual Machine)是指通过软件模拟的具有完整硬件系统功能的、运行在一个完全隔离环境中的完整计算机系统。

也就是说在实体计算机中能够完成的工作,在虚拟机中都能够实现。虚拟机通过生成现有操作系统的全新虚拟镜像,具有和Windows系统完全一样的功能,但它又是独立运行的,不会对真正的系统产生影响。

因此,可以这么理解,以太坊的虚拟机(EVM)就是以太坊智能合约的运行环境,系统中的节点可借助EVM来运行自己的DAPP。另外,由于以太坊虚拟机的运行环境完全与主链隔离,这自然而然地形成了一种测试环境。这种测试环境,给了许多没有区块链技术经验的开发者大胆试错的机会,因为他们的错误代码完全不会影响到以太坊智能合约

其次,图灵完备是个技术术语,得名自英国数学家艾伦·图灵(Alan Turing),发明了第一台图灵机器,它是当今计算机的先驱。后来,计算机业界用图灵完备代指可以处理任意复杂程度的计算。从理论上看,以太坊可以部署任何类型和功能的计算机程序,只是这些程序是分布式的,而非通常我们所看到的中心化的,而这一切,需要归功于EVM的底层设计。从这一角度来看,比特币并不是图灵完备的,因为他只是个分布式账本,无法执行任何应用程序。

最后,综合这两大概念,可知EVM是一个可以执行任何复杂度计算的、完全虚拟化的计算机系统,从这一点来看它又像以太坊的大脑。

三、EVM执行过程中的关键性模块

EVM的运转,紧紧地围绕着以太坊的生态。所以,很多让我们感到晦涩但又熟悉的以太坊术语,其实均与EVM有着莫大的关系。

首先是操作码。EVM就是通过操作码,来解释和转译Solidity编写的指令。目前EVM中有140多个不同的操作码,他们类似EVM直接发出的指令。例如,CREAT操作码对应着创建智能合约,STOP操作码意指暂停正在运行的合约;

其次是Gas费。Gas费是在EVM环境中执行代码的资源,以“gwei”(以太单位)为单位。具体来看,执行任何一笔交易,都需要消耗算力资源和存储空间,就像我们在手机中任意下载一个应用,都需要占用电量和内存。这部分隐性的消耗,在链上就直观地转化成显性的Gas费成本。EVM和Gas费之间的关系,像是汽车和汽油,EVM每执行一项指令,都要消耗对应额度的Gas费

最后是执行转账功能,这也是EVM和全体以太坊用户都能产生关联的地方。EVM在转账时的具体步骤如下:

1)核对是否有误差,包括转账数值和签名的有效性等;

2)计算转账所需要的Gas费,并执行收取Gas费指令;

3)将数字资产转账到指定的地址。

需要注意的是,EVM若检测出转账者未支付足够的手续费,那么转账会被回滚,且不退转账费,直接支付给矿工。另外,如果是收款人地址错误导致的交易失败,EVM会原封不动的把转账本金和手续费退回给付款人。

四、浅析EVM公链的概念和重要动向

以太坊在公链赛道,稳坐龙头地位,无论是生态应用数量和总锁仓量都占行业绝大多数。因此,市面上主流的公链,都选择兼容EVM,他们也因此得名EVM公链。

EVM兼容,指的是在其公链上搭建的智能合约,可以快速便捷而又低成本地在以太坊上来回迁移、无缝搬运。目前,很多公链在开发中,特意实现了EVM兼容的功能,以达到最大化承接以太坊外溢项目的功能,类似于移动互联网玩法中的引流。所以,许多公链项目方都将实现EVM兼容,作为其最大的卖点和看点。

当然,从目前的行情来看,EVM兼容链的最终优胜者,依然寥寥。OKTC公链,很有可能在下一阶段凭借兼容EVM逆袭成功。

2021年5月10日,OKTC公链主网正式实现EVM兼容,从而进入一个新时代。作为一个100%开源的公链,每0.5秒就产生一个新的区块的OKTC性能卓越,相较于其他EVM兼容公链,它的性能更稳定、速率更高效,生态规模也更强大。

OKTC公链背靠OKX,而后者目前已升级为全球Web3基础设施服务商。OKTC的Web3生态,已涵盖全球体量最大的数字资产交易平台、可兼容全球最优质币种的Web3数字钱包,以及综合性价比最高的NFT市场等等。借此,OKTC公链能够获得源源不断的生态资源倾斜,而兼容EVM之后,将会把这些优势不断放大累加。相较于其他EVM公链,OKTC公链更显得天独厚。

一个事例,足以证明OKTC在兼容EVM后,所能发挥的独家优势:

2021年OKTC公链上线后,开发者社区将原创的EVM虚拟机代码开源并共享给Cosmos社区,为Cosmos网络解决了与以太坊兼容的问题。

五、什么是eWASM?它和EVM的关系是什么?

熟悉以太坊生态的朋友都知道,以太坊2.0是以太坊的终极形态,它在实现了POW转POS机制后,能够高性能地处理一切计算任务,甚至媲美Web2的互联网产品。但是,按照目前EVM的底层设计和性能表现来看,EVM实在无法与以太坊2.0的理想状态适配。于是,eWASM(ETH版的WebAssemly)成为EVM的接棒者、替代品。

交待一下,WebAssemly即Web上的汇编,作为近年来兴起的Web执行环境,是一种为基于栈的虚拟机设计的的二进制指令格式。相对JavaScript,拥有更好的性能、较低的存储成本、更安全的执行环境、更多的语言支持等优势。

按照设想,因为相比于EVM,eWASM具有更好的性能以及更好的扩展性,可以支持Solidity、C++、Rust、AssemblyScript等编程语言,开发合约会更容易。eWASM也与当前的Web标准兼容,因而更容易在普通浏览器中运行,用户无需扩展程序即可访问DApp。

此外,以太坊并不是唯一一个使用WASM作为其底层执行引擎的,EOS、Dfinity、Polkadot、Tron、Cardano、Spacemesh等都已经或正在采用 WASM。

值得注意的是,以太坊2.0分为三个阶段:PoS、分片,以及排在最后的eWASM。目前大家最关心的转POS,也就是合并,还在准备过程当中。所以尚需时日的eWASM,其代码更新的频次并不多,但他的概念足够吸引人。eWASM能否真如其设想,撬动整个以太坊2.0,我们还将持续关注。

免责声明
本内容仅供参考,可能包含您所在地区不支持的产品信息。本内容无意提供 (i) 投资建议或投资推荐;(ii) 购买、出售或持有数字货币/数字资产的要约或邀约;或 (iii) 财务、会计、法律或税务建议。持有数字货币/数字资产 (包括稳定币和 NFT) 存在较高风险,其价值可能大幅波动。您应根据您的财务状况和风险承受能力,仔细考虑交易或持有数字货币/数字资产是否适合您。有关您的具体情况,请咨询您的法律/税务/投资专业人士。本帖中的所有信息 (包括市场数据与统计资料) 仅作一般性参考。某些内容可能由人工智能 (AI) 工具生成或辅助。虽然我们在编写相关数据和图表时已采取一切合理措施确保准确,但我们不对其中可能存在的任何事实错误或遗漏承担任何责任。OKX Wallet 及相关服务并非由欧易交易所直接提供,受 OKX Web3 生态系统服务条款 约束。

相关推荐

查看更多
thumbnail:metax-gas-fee
Web3

还在为链上手续费困扰?OKX Wallet 为你提供便利

对于刚进入加密世界的新用户来说,首先看懂行业的基础设施,并理清其各自的功能和作用,可以快人一步实现入门,并进一步理解行业内一系列更深奥的专业名词和概念,如 Gas费 (链上手续费)。 一、公链和Dapp如何运转,Gas费扮演什么角色 目前,加密圈的基础设施主要有公链、Dapp(分布式应用)、钱包和交易所。我们首先介绍公链和Dapp。 公链是底层设施,Dapp是具体应用。如果公链相当于我们手机里的安卓系统,那么Dapp就类似于我们每天都用的各类应用,如微信和抖音等。
2025年7月18日
2
thumbnail:zero-basic-science-bitcoin-analysis-26-common-analysis-index-8-td
NFT

一文了解什么是无聊猿(Bored Ape Yacht Club)及其背后的经济生态

![一文了解什么是无聊猿(Bored Ape Yacht Club)及其背后的经济生态-png1](//images.ctfassets.net/4nqoo8goeymu/1gr5onRP92plaqcfPtqNY1/a9069c26cebc0c8a9ac85e256cf526b9/1.webp) 图片来源于网络 在过去的一年多时间里,一只叫“无聊猿”的非同质化代币(NFT)迅速在互联网上流行起来
2025年7月17日
1
thumbnail:layer-2-observation
Layer2

Layer 2观察:质押量飙涨,手续费骤降,技术开发“百花齐放”

不得不说,开发者、用户早已受够了以太坊高昂的手续费,最新数据显示,目前以太坊平均手续费已高达20美元,是2018年巅峰时刻的8-10倍。 在如此拥堵的交易环境下,以太坊生态的开发者、投资者、用户等几乎所有参与者,无一不叫苦不迭——赚的盘满钵满的以太坊矿工们除外。 有人将以太坊比作90年代中期的互联网,认为尽管当下的以太坊笨重、昂贵、规模不大,但强大用户的生态系统依然强大,未来愿景可能比想象的更快实
2025年2月26日
thumbnail:a-cross-chain-bridge
DeFi

一文读懂跨链桥:多链繁荣下的新基础设施

近两年,DeFi、NFT、GameFi等热潮打开了人们对以太坊的想象空间,我们率先在以太坊上看到了有实际需求的应用场景,以太坊也成为了公链领域当之无愧的“老大哥”。 但生态高速发展的同时,以太坊的性能问题也日渐凸显。一些收费更低,确认时间更短的新兴公链项目,如Solana、Avalanche、Cardano、Terra、Cosmos等抓住机遇,迎来了爆炸式发展,用户与资金也开始向其他使用成本更低的
2024年10月28日
thumbnail:on-chain-data
数据指标

链上数据是什么?一文速览区块链浏览器OKLink

公链的链上数据包括活跃地址数、新增地址数、链上交易量、平均每笔交易量、区块大小、区块耗时、挖矿难度、平均单笔手续费、平均Gas价格等。这些链上数据可以帮助您了解公链项目的技术水平、经济模型,以及公链的生态和热度等信息,从而帮助您对某一公链的价值进行判断。 您可以使用区块链浏览器获取链上数据。区块链浏览器是链上数据可视化的一个窗口,它可以记录和统计不同公链的每个区块、每笔交易以及地址等信息。我们推荐
2024年6月21日
2
AA智能合约钱包
钱包

什么是AA智能合约钱包(账户抽象)

### 引言 在区块链和加密货币的世界中,钱包起着至关重要的作用,它们不仅管理用户的资产,也作为进入Web3生态系统的门户。然而,传统的钱包往往伴随着一些挑战和局限性,这些问题可能会阻碍用户体验并带来安全风险。例如,用户在不同的链上进行交互时,需要准备不同主网的Token当作Gas费,增加了用户的交互成本。 为了解决这些问题,以太坊 ERC-4337 应运而生,这是一种以太坊标准,可让我们创建AA
2024年4月25日
查看更多