主页 > imtoken苹果app下载 > 以太坊虚拟机? eWASM 真的能像它想象的那样带动整个以太坊 2.0 吗?

以太坊虚拟机? eWASM 真的能像它想象的那样带动整个以太坊 2.0 吗?

imtoken苹果app下载 2024-01-26 05:12:18

公众号(蟹老板的进击之路)观看更多我的原创文章!

Ethereum Virtual Machine的简称以太坊虚拟机处理的事务,中文直译称为以太坊虚拟机。 对于没有接触过软件开发的用户来说,EVM 可能显得晦涩难懂。 但是如果我们先比较一下什么是Java虚拟机,可能会更好理解。

1. 一个简单的类比:EVM之于以太坊,就像Java虚拟机之于Java语言一样

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

以太坊经典和以太坊_以太坊虚拟机处理的事务_以太坊有虚拟平台吗

可以看出,以太坊相当于一个计算机环境以太坊虚拟机处理的事务,EVM负责将合约代码编译成以太坊可以识别运行的机器码。 在网络比较繁荣的时候,也就是开发者构建应用的需求比较旺盛的时候,每天甚至每小时都有成千上万的新代码被写入以太坊网络。 但是,如果这些合约代码不能编译成系统可以识别的语言信号,就不能转换成具体的指令和程序。 因此,我们可以将 EVM 视为以太坊生态中最重要的资源转换器。 没有他,以太坊上的代码无法生效,即使开发者孜孜不倦地编写编程语言,也无异于停止更新。 需要注意的是,如果任何一个程序的代码停止更新,就意味着它即将结束。 此外,如果没有 EVM,任何人都无法在以太坊协议上执行程序软件,因为他们写入系统的代码充满了错误。

以太坊经典和以太坊_以太坊有虚拟平台吗_以太坊虚拟机处理的事务

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

2.理解最关键的两个概念:虚拟机和图灵完备性

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

也就是说,可以在虚拟机上实现在物理机上可以完成的工作。 通过生成现有操作系统的新虚拟镜像,使虚拟机具有与Windows系统完全相同的功能,但独立运行,不会影响真实系统。

以太坊经典和以太坊_以太坊虚拟机处理的事务_以太坊有虚拟平台吗

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

以太坊经典和以太坊_以太坊有虚拟平台吗_以太坊虚拟机处理的事务

第二,图灵完备是一个专业术语,以英国数学家艾伦·图灵的名字命名,他发明了第一台图灵机,是当今计算机的先驱。 后来,计算机界用图灵完备性来指代可以处理任何复杂度计算的计算。 理论上,以太坊可以部署任何类型和功能的计算机程序,但这些程序是分布式的,而不是我们通常看到的集中式,这一切都需要归功于 EVM 的底层设计。 从这个角度来看,比特币不是图灵完备的,因为它只是一个分布式账本,不能执行任何应用程序。

最后,结合这两个概念,我们可以看出EVM是一个完全虚拟化的计算机系统,可以进行任何复杂度的计算。 从这个角度来看,它就像是以太坊的大脑。

3. 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会将转账本金和手续费原封不动地退还给付款人。

以太坊有虚拟平台吗_以太坊经典和以太坊_以太坊虚拟机处理的事务

4、EVM公链概念及重要趋势分析

以太坊在公链赛道稳居龙头地位,无论是生态应用数量还是锁仓总量都占据了行业绝大部分。 所以市面上主流的公链都是兼容EVM的,这也是它们被命名为EVM公链的原因。

EVM兼容性是指构建在其公链上的智能合约,可以快速、方便、低成本地在以太坊上来回无缝迁移。 目前很多公链的开发中,都特意实现了EVM兼容功能,以最大限度发挥承接以太坊外溢项目的功能,类似于移动互联网玩法中的引流。 因此,很多公链项目方都会将实现EVM兼容性作为自己最大的卖点和吸引力。

以太坊虚拟机处理的事务_以太坊经典和以太坊_以太坊有虚拟平台吗

当然,从目前的市场情况来看,EVM兼容链的最终赢家还是寥寥无几。

5.什么是eWASM? 它和EVM有什么关系?

以太坊经典和以太坊_以太坊虚拟机处理的事务_以太坊有虚拟平台吗

熟悉以太坊生态的朋友都知道,以太坊2.0是以太坊的终极形态。 实现POW-to-POS机制后,可以高性能的处理所有计算任务,甚至可以媲美Web2互联网产品。 但是,根据目前EVM的底层设计和性能,EVM确实无法适应以太坊2.0的理想状态。 因此,eWASM(WebAssemly 的 ETH 版本)成为了 EVM 的继承者和替代者。

告诉你吧,WebAssemly就是Web上的程序集。 作为近年兴起的一种Web执行环境,它是为基于栈的虚拟机设计的二进制指令格式。 与JavaScript相比,它具有更好的性能、更低的存储成本、更安全的执行环境、更多的语言支持等优势。

根据假设,由于eWASM比EVM有更好的性能和更好的可扩展性,它可以支持Solidity、C++、Rust、AssemblyScript等编程语言,开发合约也会更加容易。 eWASM 还兼容当前的网络标准,使其更易于在常见浏览器中运行,允许用户无需扩展即可访问 DApp。

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

值得注意的是,以太坊 2.0 分为三个阶段:PoS、分片和末尾的 eWASM。 目前大家最关心的向POS的过渡,也就是合并,还在筹备过程中。 因此,尚需时日的 eWASM 并没有频繁更新其代码,但其理念足够吸引人。 eWASM 是否真的能像它想象的那样撬动整个以太坊 2.0,将继续受到关注。

今天的分享就到此为止,稍后我会为大家带来其他赛道领先项目的分析。 有兴趣的可以关注一下。 我也会不定期整理一些前沿咨询和项目点评,欢迎币圈所有志同道合者一起探讨。

大家看完记得点赞转发哦!