更新时间:2021-11-22 10:15:01点击:142
数据v-9033光纤72数据v-0航空98aa 。
以太网虚拟机是一种轻型虚拟机,用于在以太网上执行各种智能合约。 与传统操作系统(如Windows )不同,EVM的功能一次只能在一台计算机上运行。 EVM是为模拟物理机而在本机操作系统上构建的高级抽象。 使用EVM,可以在许多不同的操作系统和硬件体系结构上运行相同的平台。 此功能使虚拟机适用于以太网等网络,并且可以从分布在世界各地不同计算机上的不同客户端进行访问。 EVM模拟物理CPU上执行的功能,负责以太网上的大部分功能。 EVM有以下特点:
确定性
确定程序为同一组输入提供相同的输出,而与同一代码的执行次数无关。 在以太坊,dApp一次处理数百万美元,不同的用户需要知道代码在执行的各个阶段会做出什么样的反应。
可以隔离
智能合约必须在完全隔离的环境中运行。 这样,即使智能合约发生黑客或错误,也不会影响协议的其他部分。
可以结束
以太坊的智能合约是图灵完备的。 因此,只要有足够的时间和资源,他们应该可以解决任何问题。 智能合约必须有终止机制。 因为很难判断合同是否在规定的期限内完成所有的操作。 以太坊将使用“gas”限制退出超出运行限制的智能合约。
虚拟机的功能
是以太网的中心化处理单元。 各项对话、交易和智能合约的执行只能在这里进行。 获取并执行命令,然后使用所提供的命令分配器对操作数进行解码。 负责操作数、数据处理、指令等所有数据结构。 跟踪网络组件,包括存储状态、数据块信息和世界状态。 负责在以太网上创建各种智能合约的运行时环境。 EVM的课题
虽然EVM这样处理很多不同的操作并不令人反感,但是其操作码规格还没有发展到能够适应变化的程度。 没能进化意味着语言也有局限性。 什么是网络组合(wasm )?
网页组合(wasm )是一种可以在现代浏览器中有效运行的新代码。 这个新代码是由全球网络联盟(W3C )创建和定义的。 WSM是为包括谷歌、Mozilla和苹果的工程师在内的网络而构建的。 本质上,WASM通常被称为Ethereum 2.0,它拥有EVM的所有功能,并附带其他功能。
网络专用
如上所述,来自谷歌、微软、苹果等大型技术公司的工程师是开发团队的一部分。 因此,这些工程师必须确保WASM与引擎和协议兼容。
设计时考虑了一组特定的目标
WASM是为了快速、高效和便携而创建的。 WSM利用一般的硬件能力,以“接近本地速度”的方式运行。
易于阅读和调试。 它具有人类可读的文本格式,可以手动查看、创建和调试代码。 确保安全。 这是通过加强主机浏览器的权限策略和维护向后兼容性实现的。
速度
简单地说,EVM是万事通,但什么都不知道。 这是EVM如何处理编译的一个很好的例子。 本机引擎会寻找执行特定操作的最佳路径,最终会影响EVM的整体吞吐量。
EVM只能处理256位字节码。 也就是说,小于256位的字节码在发送到EVM之前必须转换为256位格式。 可扩展性问题显而易见,因为EVM每秒只处理25个事务。
由于WASM直接转换为编译的代码,因此可以减少加载时间,同时增加每个块处理的事务数。
预先编译
EVM依赖于预编译(预编译合同)。 在进行预编译调用时,EVM会执行预定义的本机代码并显示结果。 这些预编译特定于用于基本操作的特定协议,如签名方案和散列。
预编译可以简化加密计算,而不消耗大量的gas,但也有问题。 要部署新的预编译器,网络通常需要经历整个系统的硬交叉。
WASM消除了以太坊对预编译合同的依赖。 因为WASM非常高效,所以开发人员可以创建高效、快速的智能合约,而不必担心硬叉的可能性。
灵活性和互操作性
WSM支持更多的语言,提供比EVM更广泛的工具集。 WASM支持传统语言,如Rust、c和c。 WASM是谷歌的V8引擎(基于Node.js和Chromium的浏览器)、微软的Chakra引擎、微软的Spidermonkey引擎) thundo
以太坊引入了比特币区块链无法使用的几个功能。 以太网虚拟机的部署使开发人员可以轻松地创建和部署智能合约。 但是,EVM也有很多限制,WASM正在尝试解决这些限制。 据WebAssembly.org介绍,WebAssembly 1.0提供了四个主要的浏览器引擎。