EVM构成了以太坊区块链的支柱,为开发人员提供了一个运行时环境来构建DApp和其他应用程序。
就市值而言,以太币(ETH)是第二大加密货币,因其原生ETH代币而受到加密货币投资者的欢迎。然而,它的原生Solidity编程语言和以太坊虚拟机(EVM)有助于它从开发者社区获得好评。事实上,以太坊区块链因其灵活性、广泛的可用开发工具和平台庞大的用户群而继续吸引着去中心化应用程序(DApp)开发人员。
EVM构成区块链架构的核心,是执行其应用程序代码或智能合约的程序,正如它们所称,为它们提供运行在以太坊网络之上的运行时环境。更重要的是,EVM是图灵完备的,因此可以运行以任何编程语言编写的任何程序,从而允许开发人员轻松地为新兴的Web3空间创建自定义智能合约和DApp。
Memeland:OpenSea上出现虚假MEMECOIN,请勿铸造:7月5日消息,NFT项目Memeland在其官推发文称,NFT交易市场OpenSea上出现了虚假MEMECOIN,目前已就该问题联系了OpenSea平台,提醒用户不要铸造该虚假MEMECOIN,同时可以向平台发起欺诈报告。Memeland补充称,上架虚假MEMECOIN可能是OpenSea平台的一个Bug。[2023/7/5 22:18:13]
除了这些重要功能外,EVM还可以访问网络中的所有节点,处理智能合约执行并有效处理以太坊区块链上的所有交易,使其成为当今最强大的虚拟机之一。
什么是以太坊虚拟机(EVM),它是如何工作的?
以太坊网络于2013年由程序员VitalikButerin概念化,其作为DApp开发人员首选区块链的巨大成功归功于GavinWood在以太坊任职期间设计的以太坊虚拟机(EVM)。EVM使用C++编写并使用LLVM项目编译器,是一种特殊的状态机,可以连续运行,其不可变操作决定了以太坊区块链中每个块的状态。
CoinShares:加密货币2周内流出2.67亿美元,BTC产品交易活跃度回升:据数字资管公司CoinShares周一发布数据,在机构减仓影响下,加密货币投资产品和基金连续第二周出现资金外流。上周加密资金流出2100万美元,5月中旬以来,总流出2.67亿美元。CoinShares数据显示,ETH创下1270万美元的单周流出记录。BTC资金流出量从前一周创纪录的1.41亿美元降至1000万美元。BTC产品的交易活跃度较前一周增长43%。灰度上周的资产管理规模从前一周303亿美元增至330.4亿美元。CoinShares资产管理规模从一周前的近40亿美元下滑至38亿美元。(路透社)[2021/6/15 23:37:25]
EVM不仅管理节点可以或不可以对以太坊区块链维护的分布式账本做什么,还定义了从一个块到另一个块改变状态的具体规则。后一种功能使以太坊闻名的智能合约功能成为可能。
58COIN发布ETH区块拥堵说明:据58COIN官方公告,由于ETH区块网络拥堵,大量请求尚未得到区块确认,导致ETH和ERC20系列代币充值、提现出现延迟。其建议投资者优先通过法币OTC渠道实现出金。[2020/8/12]
要了解以太坊虚拟机的作用,需要查看它为确保以太坊网络平稳运行而提供的每一种不同功能。对于接收到的每个输入,EVM都会产生一个本质上具有确定性并遵循最简单意义上的数学函数的输出。
EVM的运行方式类似于将瞬态值推送到下推堆栈和从下推堆栈推送瞬态值的堆栈机器,其深度为1024项,每一项都是一个256位字。它还以字节数组的形式维护一个临时内存,它在以太坊区块链上的两个交易之间发生变化。已编译的智能合约代码由EVM以140个标准操作码集合的形式执行,而其他区块链特定的堆栈操作也由它实现。
因此,EVM的机器状态在处理任何交易期间本质上是易变的,而全局或世界状态包含有关在以太坊区块链上维护的不同账户的信息。所有操作均由EVM代码管理,自2015年以太坊网络推出以来,该代码本身已经经历了多次迭代,导致目前使用的EVM存在不同的实现。
事实上,EVM负责在数千个以太坊节点和执行代码之间维持一定程度的抽象,充当提供一致结果而不向客户端或节点泄露许多细节的函数。
以太坊虚拟机(EVM)的用途是什么?
EVM一直可靠地为以太坊网络上运行的所有应用程序提供支持,没有任何重大停机报告。对于开发人员而言,EVM充当运行较小的可执行程序的总体程序,同时为他们提供使用各种编程语言编写这些智能合约的自由其他。
由于EVM提供的这种灵活性,以太坊区块链在去中心化金融(DeFi)和不可替代代币(NFT)领域催生了数以千计的DApp。这些DApp中的每一个及其构成的智能合约都被转换成字节码,这些字节码被输入EVM并分布在以太坊网络的所有节点中。部署智能合约时,EVM负责与所有节点通信并在达成共识后影响状态更改。
可以说,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成为最受信任的智能合约机制,这个问题只有时间才能回答。
抱团取暖,有问题的可以在评论区给我留言
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。