主页 > imtokendapp授权 > 独家 | 以太坊2.0的“换心术”:一文看懂从EVM升级到EWASM

独家 | 以太坊2.0的“换心术”:一文看懂从EVM升级到EWASM

imtokendapp授权 2023-09-29 05:12:06

火星独家 | 牛市引擎启动,深度剖析ETH 2.0六大看点

火星独家 | 没有32个ETH如何参与以太坊2.0质押?了解这些机构

火星独家 | 为什么以太坊 2.0 是“懒惰验证者的避风港”?

首先,我们要了解Ewasm。 我们先来介绍一下“虚拟机”是什么意思?

虚拟机

简单地说,传统操作系统(Windows/iOS)一次只需要在一个系统上运行。 另一方面,虚拟机 (VM) 是在本机操作系统之上创建的更高级别的抽象,可用于复制物理机的功能。

虚拟机使用户能够在不同的硬件架构和操作系统上同时运行同一个平台,这就是虚拟机非常适合像以太坊这样的去中心化网络的原因。 以太坊虚拟机 (EVM) 的功能就像一台世界计算机,全世界的节点都可以访问它。

以太坊 EVM

EVM 是一种轻量级虚拟机,旨在在以太坊网络上运行智能合约。 作为虚拟机,EVM 的功能与 Windows 等传统操作系统略有不同。 一般来说,虚拟机是建立在原生操作系统上的一种高级抽象,用来模拟物理机。 它们允许同一个平台在许多不同的硬件架构和操作系统上运行,这使得虚拟机成为以太坊等分布式网络的理想选择。 EVM 是为了模拟物理 CPU 可以执行的操作而构建的,它还负责以太坊的许多关键功能。

以太坊虚拟机是以太坊区块链的关键组成部分,或者说是一个通用的执行环境。 没有它EVM以太坊虚拟机,以太坊智能合约的确定性将无法得到保证。

虚拟机

从这个层级图中我们可以看出EVM是智能合约运行的基础环境。 EVM之于以太坊就像心脏之于人体。

通过运行以太坊虚拟机,计算机成为网络中的一个“节点”,与其他节点平等地处理交易。

您可以将其与 Windows 等传统操作系统进行比较。 所不同的是,Windows 一次只能在一台机器上运行。 以太坊虚拟机需要同时操作很多台机器,模拟一台物理机器。

由于当前以太坊虚拟机 (EVM) 架构的不灵活性,在加固以太坊协议方面存在一定的局限性。 扩展执行层的方法是引入特殊的“预编译”合约。 通过使用 WebAssembly 作为执行高性能“预编译”合约的虚拟机规范,简化引入此类合约的过程。

以太坊Ewasm

虚拟机

WebAssembly(简称WASM)的设计目标是性能和效率。 它是为 Web 开发而构建的高效计算引擎。 它是一种可移植、体积小、加载速度快并与 Web 兼容的新格式。 WebAssembly 有一套完整的语义。 事实上,WASM 是一种小型且加载速度快的二进制格式,您可以使用它来编写 Web 代码。 它是计算机中的虚拟机,可以专门执行优化的命令。 设计的首要目标是性能,适合在区块链项目中使用。 它的主要任务是优化执行和加载时间,它通过转换或执行某些命令来实现。

相关信息

eWASM 提案

eWASM设计

Ewasm 也是以太坊 2.0 更新的重要组成部分,将成为解决以太坊可扩展性问题的一部分。 以太坊将加入已经或正在采用 Wasm 的项目队列,例如 Polkadot、Cardano、EOS、Tron、Spacemesh 和 NEAR 协议。

Ewasm 和 EVM

虚拟机

从狭义上讲,以太坊代表了一组协议,为去中心化应用程序定义了一个平台。 其核心是以太坊虚拟机,它可以执行任意算法复杂度的代码。 用计算机科学术语来说,以太坊是图灵完备的。 开发人员可以使用语法上类似于 JavaScript 和 Python 的编程语言(Solidity)来创建在 EVM 上运行的应用程序。

以太坊虚拟机使用 256 位机器码,是一个基于堆栈的虚拟机,用于执行以太坊智能合约。 由于 EVM 是为以太坊系统设计的,因此使用以太坊账户模型(Account Model)进行价值传递。

从一开始,EVM 的设计就强调正确性而非效率。 这反映在网络上的所有节点都必须完全准确地运行 EVM。 Wasm,虽然类似于 EVM,是为 web 发明的,与其说是为了正确性,不如说是为了效率和快速加载。 因此,所有节点都必须完全准确地运行 EVM。 相反,Ewasm 更关注快速加载时间和效率。 eWasm 比 EVM 更快更安全,它支持的语言比 Solidity 还多。 Ewasm 受益于 WASM 生态系统,可以在任何地方执行,这也将增加处理的交易数量。

概括来说,两者的区别主要表现在以下三个方面:

(1) 速度和效率的提升:与EVM相比,eWASM最明显的优势就是代码执行的速度和效率有了很大的提升。 执行速度的提升意味着区块每秒可以处理的交易数量TPS(吞吐量)增加了。

(2) 预编译:Ewasm 的另一大好处是它减少甚至消除了预编译的需要。 所谓预编译(precompiled contract)就是EVM字节码的一个特殊位。 如果调用预编译的合约,EVM 将执行预定义的本机代码并返回结果。

(3)互操作性:Ewasm 在性能上优于 EVM 的第三个方面是互操作性。 Ewasm 将支持更多语言,并将受益于比 EVM 更广泛的工具集。

Ewasm 可以与多种语言交互,并拥有更广泛的开发工具集,将支持 C/C++/Rust 语言。 Ewasm 可以帮助开发者快速、经济地创建智能合约,并且无需担心硬分叉,Ewasm 可以直接转换为编译代码,从而提高加载速度,大大增加每个区块可以处理的交易量。

Ewasm 还支持更多类型的编程语言进行智能合约开发。 与Solidity相比EVM以太坊虚拟机,这些编程语言拥有更广泛的社区开发支持资源,包括编译工具和开发者。

Ewasm 的目标是什么?

虚拟机

Ewasm 的目标是取代 EVM。 因此,Ewasm 与现有的交易处理模式有很大不同,它可以极大地提高交易吞吐量。

综上所述,Ewasm比原来的EVM支持更多的开发语言,支持64位数据处理,代码执行速度快,达到硬件级别,需要预编译。 ETH2.0 将是一个与以太坊完全不同的系统,两者将以不同的功能集并存多年。

参考文章:

以太坊 2.0:完整指南。 Ewasm。

以太坊 eWASM 简单解释