简介
虽然操作系统(OS)是互斥的,即它要么是Windows、MacOS或Linux等,但有时可以在一个操作系统上运行另一个操作系统。例如,有可能在MacOS上运行Windows操作系统,以及在Windows操作系统上运行Android操作系统。堆叠操作系统的目的是测试操作系统、将一些有风险的软件与主机操作系统隔离、运行旧版本的操作系统或跨平台开发和测试代码。区块链中使用EVM是因为它提供了一种通用、可靠的方式来运行智能合约,并确保网络上的每个节点以完全相同的方式执行交易。
什么是虚拟机?
虚拟机(VM)本质上是存在于您现有计算机内部的另一台计算机。只需点击几下,您就可以设置它,而无需任何额外的物理硬件。一旦运行起来,它就像一台功能齐全的计算机。您可以安装操作系统、存储文件、运行应用程序,甚至浏览互联网,这一切都在虚拟空间内完成。在加密货币世界中,区块链上的智能合约是在虚拟机上开发和运行的。其中最常见的是以太坊虚拟机(EVM)。
在幕后,是您的主计算机,即所谓的主机,使这一切成为可能。为了保持虚拟机平稳运行,主机共享其自身的资源,如内存、处理能力和存储空间。当您需要使用只能在与主机安装的操作系统不同的操作系统上运行的软件时,这种设置就派上用场了。
虚拟机如何工作
那么虚拟机实际上是如何工作的呢?整个过程的核心是一种称为虚拟机监控程序(hypervisor)的特殊软件。虚拟机监控程序像管理员一样,利用计算机的物理资源。这些资源包括处理器(CPU)、内存(RAM)和存储等组件。它们被设计成高效分工,使一个甚至多个虚拟机可以同时运行。
虚拟机监控程序通常有两种设置方式。一些直接安装在硬件本身上,这就是为什么它们经常出现在数据中心和云环境中,因为在这些地方速度和效率最为重要。其他则运行在您的普通操作系统之上,几乎就像任何其他应用程序一样。这些更常用于日常使用、测试或开发工作。例如,您可以通过安装BlueStacks应用程序在Windows操作系统上享受安卓生态系统。
一旦虚拟机监控程序完成其工作,您的虚拟机就准备好了,您可以像对待物理计算机一样对待它。您可以启动它,然后安装程序,使用互联网,甚至在虚拟空间内构建和运行应用程序。
区块链网络中的虚拟机
大多数使用区块链应用程序的人从不考虑使一切顺利运行的无形基础设施。无论您是在去中心化交易所交换代币,铸造NFT,还是通过第2层区块链发送资金,都有一个重要组件在后台完成所有繁重的任务。该组件就是区块链虚拟机。
在传统技术世界中,虚拟机(VM)基本上是一个隔离的沙盒。它允许开发人员在有限和受控的环境中运行软件。这种软件与底层硬件分离。然而,在区块链网络上,虚拟机服务于非常不同的目的。它们作为智能合约的执行引擎,这些智能合约是代码的自执行代理,使去中心化应用程序能够全天候平稳运行。没有虚拟机,全球数千台独立计算机就无法就合约应如何运行达成一致。
以太坊虚拟机
以太坊虚拟机(EVM)是区块链虚拟机中最著名的例子。开发人员可以使用Solidity、Vyper或Yul等语言编写合约,并将它们部署在以太坊以及其他EVM兼容的区块链上。EVM确保每个节点以完全相同的方式处理智能合约,因为它有助于维护网络的一致性和安全性。
区块链世界中的其他虚拟机
但以太坊并不是唯一拥有虚拟机的区块链。不同的区块链网络设计自己的模型以满足其特定需求的目标。NEAR和Cosmos依赖于基于WebAssembly的虚拟机,以其灵活性而闻名。这些允许智能合约用几种编程语言编写,这降低了不想学习全新东西的开发人员的障碍。同时,被Sui等区块链使用的MoveVM更重视Move语言,以优先考虑交易执行的安全性。Solana则采取不同的路线,其Solana虚拟机被优化为同时处理多笔交易。
尽管大多数用户从不直接与它们交互,但虚拟机在后台不断工作。当您在像Uniswap这样的DeFi平台上进行代币交换时,EVM正在执行合约。如果您铸造新的NFT,虚拟机会更新账本以显示谁拥有它。即使是像zk-rollups这样的高级扩展解决方案也依赖于专门的虚拟机,如zkEVMs,它们将智能合约执行与加密证明相结合,以提高效率和安全性。
虚拟机的缺陷
然而,虚拟机也有一些缺点。虚拟机在借用的组件上运行代码和管理智能合约,这使得过程比直接在硬件上运行要慢。在大型网络上维护虚拟机会导致操作复杂性,需要不断更新和专业知识。兼容性是另一个缺点。为以太坊编写的合约如果不进行大量更改,就无法在Solana上运行。这为希望覆盖多个生态系统的开发人员创造了额外的工作。
尽管面临这些挑战,区块链虚拟机仍然是去中心化技术创新的核心。它们是那些使用户更容易信任代码而非中间人的无名英雄。虚拟机创造了一个金融产品、数字所有权和去中心化社区的世界。虽然您可能永远不会直接看到它们,但虚拟机是保持区块链经济运转的无声引擎。
结论
简而言之,虚拟机可能不被注意,但它们在现代技术中扮演着至关重要的角色。通过在幕后使事情变得更简单和更安全,它们帮助我们构建和使用新型计算机程序,并改变我们信任和共享信息的方式。无论是为最新的区块链工具提供动力,还是让人们在受保护的空间中运行软件,虚拟机都在悄悄地不断改进。它们的真正力量在于它们如何从后台支持一切,表明使技术最佳运行的许多因素往往是看不见的。
常见问题
区块链中的虚拟机是一种执行引擎,它以安全和一致的方式在所有网络节点上运行智能合约。
什么是以太坊虚拟机(EVM)?以太坊虚拟机(EVM)是最广泛使用的区块链虚拟机,它确保每个智能合约在所有以太坊兼容的区块链上以相同的方式运行。
为什么虚拟机在区块链中很重要?虚拟机很重要,因为它们使去中心化应用程序(dApps)能够可靠、安全和一致地工作,而无需中介。
来源:https://blockchainreporter.net/virtual-machines-hidden-engines-powering-blockchain/