主页 > imtoken制作冷钱包 > Wasm 与 EVM 虚拟机

Wasm 与 EVM 虚拟机

imtoken制作冷钱包 2023-12-06 05:13:10

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

以太坊虚拟机是一种轻量级虚拟机,用于在以太坊网络上运行各种智能合约。 EVM 的功能不同于 Windows 等传统操作系统,后者一次只能在一台机器上运行。 EVM 是建立在本机操作系统上以模拟物理机的高级抽象。

通过使用 EVM,同一平台可以运行在许多不同的操作系统和硬件架构上。 这种特性使得虚拟机适用于以太坊等网络,分布在世界各地的不同机器上的不同客户端可以访问这些网络。 EVM 可以模拟在物理 CPU 上执行的功能,并负责以太坊网络上的大部分功能。

EVM具有以下特点:

肯定

以太坊经典和以太坊_以太坊虚拟机处理的事务_以太坊矿机价格

确定性程序为同一组输入提供相同的输出,而不管它执行相同代码的次数如何。 在以太坊中,dApp 一次处理数百万美元,各种用户需要知道代码在每个执行阶段的反应。

可以隔离

智能合约需要在完全隔离的环境中运行。 这确保如果智能合约中发生黑客攻击或错误,它不会影响底层协议的其他部分。

可以终止

以太坊智能合约是图灵完备的。 因此,如果有足够的时间和资源,他们应该能够解决任何问题。 智能合约应该有终止机制,因为很难确定合约会在规定的期限内完成所有操作。 以太坊使用“gas”限制来终止超过执行限制的智能合约。

以太坊矿机价格_以太坊经典和以太坊_以太坊虚拟机处理的事务

EVM 的功能

EVM挑战

什么是 WebAssembly(WASM)?

WebAssembly (WASM) 是一种新型代码,可以在现代浏览器上高效执行。 这个新代码是由万维网联盟 (W3C) 创建和定义的。 WASM 是为网络构建的,包括来自 Google、Mozilla 和 Apple 的工程师。 本质上,WASM以太坊虚拟机处理的事务,通常被称为以太坊 2.0,具有 EVM 的所有功能,以及附加功能。

专为网络打造

以太坊矿机价格_以太坊经典和以太坊_以太坊虚拟机处理的事务

如前所述,开发团队中有来自谷歌、微软和苹果等大型科技公司的工程师。 因此,这些工程师确保 WASM 与他们的引擎和协议兼容。

设计时考虑了一组特定的目标

WASM 的创建是为了快速、高效和便携。 WASM 将利用通用硬件功能以“接近本地速度”执行。

EVM 和 WASM

速度

以太坊虚拟机处理的事务_以太坊经典和以太坊_以太坊矿机价格

简而言之,EVM 是万事通,但一无所知。 EVM 如何处理编译就是一个很好的例子。 本机引擎努力寻找执行某些操作的最佳路径,最终影响 EVM 的整体吞吐量。

EVM 只能处理 256 位字节码,这意味着小于 256 位的字节码在发送到 EVM 之前必须转换为 256 位格式。 EVM 的可扩展性问题很明显,因为它每秒只能处理 25 个事务。

WASM 直接转换为编译后的代码,这使得它可以更快地加载,同时增加每个块处理的交易数量。

预编译

EVM 依赖于预编译(precompiled contracts)。 当进行预编译调用时,EVM 将执行预定义的本机代码,然后显示结果。 这些预编译特定于用于基本操作的特定协议,例如签名方案和哈希。

以太坊虚拟机处理的事务_以太坊经典和以太坊_以太坊矿机价格

尽管预编译可以在不消耗大量气体的情况下提高密码计算的效率以太坊虚拟机处理的事务,但它们也会带来问题。 引入新的预编译器通常需要网络进行全系统的硬分叉。

WASM 消除了以太坊对预编译合约的依赖。 由于 WASM 非常高效,开发人员可以创建高效快速的智能合约,而不必担心潜在的硬分叉。

灵活性和互操作性

WASM 支持更多语言,提供比 EVM 更广泛的工具集。 WASM 支持 Rust、C、C++ 等传统语言。 WASM 还受到原生 JavaScript 引擎的支持,例如 Google 的 V8 引擎(基于 Node.js 和 Chromium 的浏览器)、Microsoft 的 Chakra 引擎(Microsoft Edge)和 Mozilla 的 Spidermonkey 引擎(Thunderbird 和 Firefox)。

概括

以太坊引入了比特币区块链上不可用的某些功能。 以太坊虚拟机的引入使开发人员可以轻松创建和部署智能合约。 然而,EVM 也有很多局限性,这是 WASM 正在努力解决的。 据 WebAssembly.org 称,WebAssembly 1.0 已经发布到四大浏览器引擎。