星球日报
搜索
手机客户端
iPhone · Android
公众号
微信公众号

什么是以太坊虚拟机?| 区块链课堂第 56 问

2018-09-23

​虚拟机指的是,通过软件模拟的、具备完整硬件系统功能并运行在隔离环境下的完整计算机系统。

编者按:本文来自哈希派(ID:hashpai),作者:LucyCheng,星球日报经授权转载。

什么是以太坊虚拟机?| 区块链课堂第 56 问

虚拟机指的是,通过软件模拟的、具备完整硬件系统功能并运行在隔离环境下的完整计算机系统;比如虚拟化物理机VMware、Java虚拟机等。而以太坊虚拟机(Ethereum Virtual Machine,EVM)则是建立在以太坊区块链上的代码运行环境,其主要作用是处理以太坊系统内的智能合约。

简单来说,以太坊虚拟机是一个完全独立的沙盒,合约代码可对外完全隔离并在EVM内部运行。由于EVM分散储存在每个节点的计算机上,所以希望创建智能合约的公司可使用类似JavaScript和Python等编程语言创建运行于EVM的应用程序;同时以太坊虚拟机又能与主网的其余部分隔离,运行时不影响主区块链的操作。出于这个原因,以太坊有时被形容为“世界电脑”。

为了减少资源耗费及保证系统性能,以太坊虚拟机并没有采用模拟完整计算机的模式,而是使用更为轻量级的虚拟机构架。其开发者团队表示,EVM设计的目标是构建具有简单性、确定性、容易优化、节省空间、确保安全等属性且专用于区块链的系统。此外,2017年召开的Devcon3会议上,以太坊开发者还推出了基于以太坊电子分布式代码合约的高级程序语言Solidity,希望借此进一步扩大该技术的应用范围。

理论上以太坊是图灵完备的,其虚拟机为智能合约的实现提供了基础,可实现任何复杂程度的操作。不过它同时也存在着缺陷,比如EVM常用的Solidity语言缺乏标准库、基于栈的架构易于优化但所需opcode更多等。而QTUM推出的量子链x86虚拟机则是由EVM衍生出、旨在修改后者不足的虚拟机。

本文来自投稿,不代表Odaily立场。如若转载请注明出处。

参与讨论

登录后参与讨论

总文章数:


分享至

微信扫一扫分享

0
金融区块链

Copyright 2017-2018 Beijing Star Node Media Culture Co., Ltd.