以太坊虚拟机是一种轻量级虚拟机,用于在以太坊网络上运行各种智能合约。EVM的功能不同于Windows等传统操作系统,后者一次只能在一台机器上运行。EVM 是构建在本机操作系统上的高级抽象,用于模拟物理机。
通过使用EVM,相同的平台可以在许多不同的操作系统和硬件架构上运行。该特性使虚拟机适合以太坊等网络,可以通过分布在世界各地的不同机器上的不同客户端访问这些网络。EVM可以模拟在物理CPU上执行的功能,并负责以太坊网络上的大部分功能。
EVM具有以下特点:
确定性
确定性程序对相同的输入集提供相同的输出,而与它执行相同代码的次数无关。在以太坊中,dApp每次处理数百万美元,各种用户需要知道代码在执行的每个阶段是如何反应的。
Uniswap V3部署至Filecoin虚拟机(FVM)的提案已通过温度检查投票:6月19日消息,Snapshot投票页面显示,Uniswap社区以99.98%的支持率通过了将Uniswap V3部署至Filecoin虚拟机(FVM)提案的温度检查投票。该投票由Michigan Blockchain发起,该团队认为Uniswap尽早在其数据经济中获得市场份额是有价值的,FVM部署是推进Uniswap多链愿景的合适方式。
接下来,将开始最终确定此前RFC中提到的相关利益相关者,待利益相关者确定后v3合约将部署在目标链上。此后,一旦对合同进行审计,就会开始链上投票。[2023/6/19 21:46:56]
可隔离
IPFS创始人发布Filecoin整体规划:拟打造跨链桥、构建和以太坊虚拟机的兼容性等:9月21日消息,在由万向区块链实验室主办的第八届区块链全球峰会上,IPFS创始人Juan Benet发布题为《Filecoin整体规划》的主旨演讲,Filecoin整体规划分为3个阶段:1.搭建世界上最大的去中心化存储网络;2.上传人类各种数据,并且开发大规模的数据的载入管道;3.将数据和计算相结合。
Filecoin已实现第一阶段并正在关注第二阶段,Filecoin正通过几个大的项目,来实现这个阶段的目标。今年年初全网大概有20pb的数据使用,而现在已升至185pb。此外,在第三阶段,Filecoin计划将在明年第一季度为Filecoin虚拟机引入可编程性从现在到明年的第一季度,Filecoin将会推出一系列的测试网,让很多团队可以基于测试网进行构建。Filecoin也在构建和以太坊虚拟机的兼容性,也就是说开发者可以直接调用以太坊FVM的合约,不需要做任何的变更,最多是改变一下部署路径,就可以去部署。Filecoin还有一个非常重要的维度,就是打造与其他区块链连接的跨链桥。[2022/9/21 7:11:14]
智能合约需要在完全隔离的环境中运行。这确保了如果智能合约发生黑客或bug,它不会影响底层协议的其他部分。
孙宇晨:BitTorrent Chain将完全兼容以太坊虚拟机:9月17日消息,点对点文件传输协议BitTorrent宣布推出区块链网络BitTorrent Chain,此前收购BitTorrent的波场创始人孙宇晨表示,BitTorrent Chain作为兼容波场协议与以太坊协议的二层网络,将完全兼容以太坊虚拟机(EVM),EVM开发者可以通过简单迁移的方式,将以太坊应用迁移到BitTorrent Chain上,为以太坊网络提供高速扩容。[2021/9/17 23:32:49]
可终止
以太坊智能合约是图灵完备的。因此,只要有足够的时间和资源,他们就应该能够解决任何问题。智能合约应该有终止机制,因为很难确定合约是否会在规定的期限内完成所有操作。以太坊使用“gas”限制来终止超出执行限制的智能合约。
Telos发布以太坊虚拟机EVM 可运行与以太坊兼容的智能合约:Telos今日在其测试网上发布了一个以太坊虚拟机(EVM)。它将使开发者能够创建和运行与以太坊兼容的智能合约,而无需支付交易费用。开发者已经被邀请使用以太坊的主要编程语言Solidity来在测试网上运行智能合约,之后在7月份将在mainnet上启动Telos EVM。Telos声称可以支持每秒10000次交易(TPS),而且不收取交易费用。这是以太坊每秒14次交易收费的一个有竞争力的替代品。(Cointelegraph)[2020/6/18]
它是以太坊网络的去中心化处理单元。每个交互、交易和智能合约执行都只能在这里发生。
获取并执行指令,然后通过给定的指令分派器解码操作数。
负责所有的数据结构,如操作数,数据处理和指令。
跟踪网络组件,如存储状态、区块信息和世界状态。
负责为以太坊网络上的不同智能合约创建运行时环境。
EVM处理如此多不同的操作并不快,但是它的操作码规范还没有发展到可以处理变化的需求。
未能进化意味着语言也有局限性。
WebAssembly (WASM)是一种新型代码,可以在现代浏览器上高效地执行。这个新代码是由万维网联盟(W3C)创建和定义的。WASM是为网络而建的,包括来自谷歌、Mozilla和苹果的工程师。本质上,WASM通常被称为Ethereum 2.0,它具有EVM的所有功能,并附带了额外的功能。
如前所述,来自谷歌、微软和苹果等大型技术公司的工程师都是开发团队的一部分。因此,这些工程师要确保WASM与他们的引擎和协议兼容。
创建WASM是为了快速、高效和便携。WASM将利用常见的硬件能力,以“接近本地速度”执行。
易于阅读和调试。它具有人类可读的文本格式,代码可以手动查看、编写和调试。
确保安全。它通过增强主机浏览器的权限策略和保持向后兼容性来实现这一点。
速度
简单地说,EVM是一个万事通,但却什么都不懂。EVM如何处理编译就是这一点的一个很好的例子。本机引擎努力寻找执行某些操作的最佳路径,最终影响EVM的总体吞吐量。
EVM只能处理256位字节码,这意味着小于256位的字节码必须先转换为256位格式,然后才能发送给EVM。EVM的可扩展性问题很明显,因为它每秒只处理25个交易。
WASM直接转换为编译后的代码,这使它能够更快地加载,同时增加每个区块所处理的交易数量。
预编译
EVM依赖于预编译(预编译合约)。当发出预编译调用时,EVM将执行预定义的本机代码,然后显示结果。这些预编译特定于用于基本操作的特定协议,例如签名方案和哈希。
尽管预编译在不消耗大量gas的情况下使加密计算变得高效,但它们也带来了问题。引入新的预编译器通常要求网络经历一个系统范围的硬分叉。
WASM消除了以太坊对预编译合同的依赖。由于WASM非常高效,开发人员可以创建高效、快速的智能合约,而无需担心潜在的硬分叉。
灵活性和互操作性
WASM支持更多的语言,并且提供了比EVM更广泛的工具集。WASM支持传统语言,如Rust、C和c++。WASM也被本地JavaScript引擎支持,例如 Google 的 V8 引擎(基于 Node.js 和 Chromium 的浏览器)、微软的 Chakra 引擎(Microsoft Edge)和 Mozilla 的 Spidermonkey 引擎(Thunderbird 和 Firefox)。
以太坊引入了比特币区块链上不可用的某些功能。以太坊虚拟机的引入允许开发人员轻松地创建和部署智能合约。然而,EVM也有许多局限性,而WASM正试图解决这些局限性。根据WebAssembly.org, WebAssembly 1.0已经被提供给四个主要的浏览器引擎。
Source:https://medium.com/momentum6/the-war-on-virtual-machines-wasm-vs-evm-8e68f9d53ef4
郑重声明: 本文版权归原作者所有, 转载文章仅为传播更多信息之目的, 如作者信息标记有误, 请第一时间联系我们修改或删除, 多谢。