什么是以太坊(ETH)虚拟机(EVM),它是如何工作的?_以太坊:区块链技术发展现状和趋势ETH钱包地址

EVM构成了以太坊区块链的支柱,为开发人员提供了一个运行时环境来构建DApp和其他应用程序。

就市值而言,以太币(ETH)是第二大加密货币,因其原生ETH代币而受到加密货币投资者的欢迎。然而,它的原生Solidity编程语言和以太坊虚拟机(EVM)有助于它从开发者社区获得好评。事实上,以太坊区块链因其灵活性、广泛的可用开发工具和平台庞大的用户群而继续吸引着去中心化应用程序(DApp)开发人员。

EVM构成区块链架构的核心,是执行其应用程序代码或智能合约的程序,正如它们所称,为它们提供运行在以太坊网络之上的运行时环境。更重要的是,EVM是图灵完备的,因此可以运行以任何编程语言编写的任何程序,从而允许开发人员轻松地为新兴的Web3空间创建自定义智能合约和DApp。

赵长鹏:Twitter价格可能略高,无论马斯克做出什么决定都会支持:金色财经消息,币安CEO赵长鹏在社交媒体回复网友时表示,Twitter的价格可能略高。但无论如何马斯克的决定如何,他都会支持。[2022/7/24 2:34:08]

除了这些重要功能外,EVM还可以访问网络中的所有节点,处理智能合约执行并有效处理以太坊区块链上的所有交易,使其成为当今最强大的虚拟机之一。

什么是以太坊虚拟机(EVM),它是如何工作的?

以太坊网络于2013年由程序员VitalikButerin概念化,其作为DApp开发人员首选区块链的巨大成功归功于GavinWood在以太坊任职期间设计的以太坊虚拟机(EVM)。EVM使用C++编写并使用LLVM项目编译器,是一种特殊的状态机,可以连续运行,其不可变操作决定了以太坊区块链中每个块的状态。

直播| Dora > 以太坊2.0来了,我们能做些什么:金色财经 · 直播主办的《 币圈 “后浪” 仙女直播周》第8期20:00准时开始,本期“后浪”仙女HashQuark CMO Dora 将在直播间聊聊“以太坊2.0来了,我们能做些什么”,感兴趣的朋友扫码移步收听![2020/7/7]

EVM不仅管理节点可以或不可以对以太坊区块链维护的分布式账本做什么,还定义了从一个块到另一个块改变状态的具体规则。后一种功能使以太坊闻名的智能合约功能成为可能。

要了解以太坊虚拟机的作用,需要查看它为确保以太坊网络平稳运行而提供的每一种不同功能。对于接收到的每个输入,EVM都会产生一个本质上具有确定性并遵循最简单意义上的数学函数的输出。

EVM的运行方式类似于将瞬态值推送到下推堆栈和从下推堆栈推送瞬态值的堆栈机器,其深度为1024项,每一项都是一个256位字。它还以字节数组的形式维护一个临时内存,它在以太坊区块链上的两个交易之间发生变化。已编译的智能合约代码由EVM以140个标准操作码集合的形式执行,而其他区块链特定的堆栈操作也由它实现。

声音 | 福布斯财务委员会成员:Ripple有很多产品可以提升XRP的价值 但没人知道XRP可以达到什么水平:福布斯财务委员会成员David Gokhshtein发推文称,Ripple公司将尽一切可能使XRP有价值。他们有很多很棒的产品(如:xRapid)可以提升它的价值。但是没有人知道它会达到什么水平。[2019/7/29]

因此,EVM的机器状态在处理任何交易期间本质上是易变的,而全局或世界状态包含有关在以太坊区块链上维护的不同账户的信息。所有操作均由EVM代码管理,自2015年以太坊网络推出以来,该代码本身已经经历了多次迭代,导致目前使用的EVM存在不同的实现。

事实上,EVM负责在数千个以太坊节点和执行代码之间维持一定程度的抽象,充当提供一致结果而不向客户端或节点泄露许多细节的函数。

声音 | 周鸿祎:没有什么系统是不能攻破的,区块链系统亦然:在《吴晓波频道十年二十人》第2018-07-04期中,奇虎360公司董事长作为嘉宾出席。对于区块链,周鸿祎也表达了其“质疑”,提出当区块链的系统不够安全时,会“打击整个行业的信心”。周鸿祎得出经验,没有不能攻破的系统,无论多完美的系统,只要它设计得足够复杂,便一定存在漏洞。“越复杂,漏洞越多。”[2018/7/6]

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

EVM一直可靠地为以太坊网络上运行的所有应用程序提供支持,没有任何重大停机报告。对于开发人员而言,EVM充当运行较小的可执行程序的总体程序,同时为他们提供使用各种编程语言编写这些智能合约的自由其他。

由于EVM提供的这种灵活性,以太坊区块链在去中心化金融(DeFi)和不可替代代币(NFT)领域催生了数以千计的DApp。这些DApp中的每一个及其构成的智能合约都被转换成字节码,这些字节码被输入EVM并分布在以太坊网络的所有节点中。部署智能合约时,EVM负责与所有节点通信并在达成共识后影响状态更改。

朱啸虎:2000年的互联网泡沫至少还有eyeball,今天的区块链除了炒币外还有什么?:3月1日,朱啸虎在其朋友圈分享了一张区块链应用图,并配文道:“这么多所谓的区块链应用,除了炒币的用户外,所有这些应用加在一起有多少日活用户?2000年的互联网泡沫至少还有eyeball,今天的区块链除了炒币外还有什么”。[2018/3/1]

可以说,EVM被插入到每个以太坊节点中,使用字节码而不是基础编程语言来执行智能合约,从而将物理主机与运行以太坊的机器代码隔离开来。

以太坊虚拟机(EVM)的好处

由于EVM的运行方式,开发人员可以执行代码而不必担心它对网络其余部分的影响,或者它可能会逃避托管在任何节点计算机上的数据或个人文件。

此外,他们可以在具有分布式共识的不同计算环境中运行复杂的智能合约。这确保单个节点的故障不会对DApp或智能合约的运行产生任何负面影响,因为EVM代码在所有节点上保持相同。此外,由于帐户数据在EVM中维护在全局级别,开发人员发现它非常适合编写自定义智能合约代码和创建可以访问此全局数据集并产生可靠输出的不同DApp。

结果的神圣性使得EVM,特别是Ethereum区块链总体上非常适合DApps和智能合约Ethereum生态系统的可持续扩展。再加上可供开发人员选择的标准代码库、越来越多的EVM兼容的第2层区块链和大量潜在的EVM用例,很容易看出为什么EVM是首选平台用于Web3开发。

以太坊虚拟机(EVM)的缺点

尽管EVM提供了许多优点,但在以太坊上构建的开发人员和企业家需要考虑某些缺点。其中最重要的是与在以太坊网络上运行智能合约相关的高额交易费用或天然气成本。

这些费用以ETH支付,根据合同的复杂程度和执行时的网络拥堵情况而有所不同,因此开发人员和企业家必须相应地为其服务定价。此外,由于Solidity是EVM上最受欢迎的编码语言,这确实意味着开发人员需要有足够的经验并拥有少量的技术专长才能使用它创建高效的智能合约。

后者很重要,因为任何额外的计算要求都会导致更高的gas成本,并最终证明不利于项目的成功。如果开发人员选择使用其他语言编写代码,他们需要小心解决代码中的任何固有重复,因为EVM无论如何都会继续编译它们。虽然可以在稍后阶段升级智能合约,但它会带来与创建引用原始智能合约地址的中介智能合约相关的安全风险。

EVM的未来

尽管EVM给区块链生态系统带来了革命性的变化,但许多区块链项目正在改进这种用于读取和执行代码的技术。

随着跨链互操作性成为开发人员最重要的方面,许多EVM兼容的区块链得到了支持,其中大多数提供比以太坊协议更低的gas和更快的交易速度。因此,这些区块链现在能够与以太坊用户无缝交互,并使用区块链桥促进资金转移到他们自己的网络。

然而,随着以太坊协议在2022年9月成功完成Merge,下一个目标是从EVM转向以太坊WebAssembly(eWASM)。eWASM被设计为高度模块化和独立于平台,被吹捧为以太坊协议的下一个游戏规则改变者,并且可以激励其他区块链也将这种运行时环境用于智能合约。然而,eWASM是否会取代EVM成为最受信任的智能合约机制,这个问题只有时间才能回答。

抱团取暖,有问题的可以在评论区给我留言

郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。

水星链

[0:0ms0-0:509ms