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项目编译器,是一种特殊的状态机,可以连续运行,其不可变操作决定了以太坊区块链中每个块的状态。
火币尖峰对话|今天,我们为什么要讨论DeFi?:7月30日,由金色财经作为独家战略媒体支持的火币尖峰对话DeFi系列首场AMA将于15:00线上开启。
此次对话以“今天,我们为什么要谈论DeFi?”为主题,金色财经合伙人佟扬将与火币去中心化事业部运营负责人高潮深度探讨DeFi发展的那些事,为行业从业者呈现真实的DeFi发展图景。
更多详情见原文链接查看。[2020/7/30]
EVM不仅管理节点可以或不可以对以太坊区块链维护的分布式账本做什么,还定义了从一个块到另一个块改变状态的具体规则。后一种功能使以太坊闻名的智能合约功能成为可能。
要了解以太坊虚拟机的作用,需要查看它为确保以太坊网络平稳运行而提供的每一种不同功能。对于接收到的每个输入,EVM都会产生一个本质上具有确定性并遵循最简单意义上的数学函数的输出。
EVM的运行方式类似于将瞬态值推送到下推堆栈和从下推堆栈推送瞬态值的堆栈机器,其深度为1024项,每一项都是一个256位字。它还以字节数组的形式维护一个临时内存,它在以太坊区块链上的两个交易之间发生变化。已编译的智能合约代码由EVM以140个标准操作码集合的形式执行,而其他区块链特定的堆栈操作也由它实现。
声音 | 比特币安全专家:代码提交等KPI可信度取决于区块链项目既定目标是什么:据AMBcrypto消息,比特币安全专家Andreas Antonopoulos近期在会议现场提出:“我们是否应该将代码提交、区块链活动、DApp数量或节点数量作为衡量区块链项目成功与否的KPI(关键绩效指标)?这取决于你想达到的目标是什么。”Antonopoulos指出,KPI的可信度在很大程度上取决于选择适合其特定需求的度量标准。然而,他承认在许多情况下很难准确地衡量这些标准。Antonopoulos还提醒与会者,要避免将KPI视为一种投资零和游戏。[2019/5/7]
因此,EVM的机器状态在处理任何交易期间本质上是易变的,而全局或世界状态包含有关在以太坊区块链上维护的不同账户的信息。所有操作均由EVM代码管理,自2015年以太坊网络推出以来,该代码本身已经经历了多次迭代,导致目前使用的EVM存在不同的实现。
声音 | 吴忌寒:想知道什么时候可以将BSV存入交易所并出售:吴忌寒发推文称,想知道什么时候可以将其BSV存入交易所并出售。[2018/11/18]
事实上,EVM负责在数千个以太坊节点和执行代码之间维持一定程度的抽象,充当提供一致结果而不向客户端或节点泄露许多细节的函数。
以太坊虚拟机(EVM)的用途是什么?
EVM一直可靠地为以太坊网络上运行的所有应用程序提供支持,没有任何重大停机报告。对于开发人员而言,EVM充当运行较小的可执行程序的总体程序,同时为他们提供使用各种编程语言编写这些智能合约的自由其他。
由于EVM提供的这种灵活性,以太坊区块链在去中心化金融(DeFi)和不可替代代币(NFT)领域催生了数以千计的DApp。这些DApp中的每一个及其构成的智能合约都被转换成字节码,这些字节码被输入EVM并分布在以太坊网络的所有节点中。部署智能合约时,EVM负责与所有节点通信并在达成共识后影响状态更改。
Game.com创始人徐乐:现在谁都定义不了什么是区块链游戏 :Game.com的CEO徐乐接受采访时说:“我的第一条twitter是在07年发的。进入游戏领域10年后,我发了第二条twitter,说Game.com会告诉全世界什么是区块链游戏。我说那句话的意思是:目前没有人能够定义什么是区块链游戏。目前的概念都是错误的。只有干出来,干成了标准,做成了老大,再去定义才有意义。”后又在朋友圈分享想法:“1.首先需打造基础服务,甚至比交易所还要安全的数字货币充提币的自动化系统加人工风控,冷钱包存储永不联网的保障用户的数字资产安全;2.有基础后,才有资格为数字货币玩家群体提供娱乐服务,服务端的内容只有在非常必要的情况下才有必要放在区块链上;3.一定要用区块链思维去思考和设计新玩法,进行再创造,舍弃旧世界的东西。”[2018/3/3]
可以说,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成为最受信任的智能合约机制,这个问题只有时间才能回答。
抱团取暖,有问题的可以在评论区给我留言
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。