我最近一直在想这个问题:你可能每天都在使用虚拟机,而且甚至都没有意识到。从在云端运行应用程序到在 DeFi 中交互你最喜欢的代币,所有这些都由一台在幕后默默工作的虚拟机支撑着。



先从基础说起。虚拟机本质上是一台你只要点几下就能创建的“电脑”,不需要额外的硬件。你可以在其上安装全然不同的操作系统、保存文件、运行你想做的任何事情——这一切都发生在你现有的电脑之中。你的宿主机负责大部分“重活”,为这台虚拟机提供内存、处理能力和存储。它在你需要某些只存在于另一个操作系统中的软件,或者你想在不冒险影响主机的前提下先试试某些东西时非常有用。

有趣的是,在这一切背后有一种叫做 hipervisor(管理程序)的软件在操控“魔法”。它的基本原理是:把你电脑的物理资源(CPU、RAM、存储)切分出来,让多个虚拟机能够同时使用这些资源。主要有两种类型:Tipo 1(类型 1)hipervisores 直接安装在硬件上,这正是你在数据中心或云平台上常见的那类,重点优化性能;Tipo 2(类型 2)则像普通应用一样运行在你的操作系统之上,非常适合开发和测试。

那么,为什么有人会想使用虚拟机呢?首先,你可以在不动你主机的情况下试用不同的操作系统。其次,如果你需要打开一个可疑文件或未知的应用程序,把它放在虚拟机中运行能够让你的机器保持更安全。第三,某些老旧程序只在诸如 Windows XP 之类的老系统上才能工作,而虚拟机可以重现那个环境。第四,开发者使用虚拟机来在不同平台上测试代码,并观察应用程序的行为。第五,很多云服务都是建立在虚拟机之上的:当你在 AWS、Azure 或 Google Cloud 上启动一个实例时,你实际上是在远程数据中心启动了一台虚拟机。

但这才是对我们在 crypto(加密)领域来说真正有趣的部分。区块链虚拟机是执行智能合约的引擎,例如在 Ethereum(以太坊)等网络中运行。Ethereum Virtual Machine(EVM,以太坊虚拟机)让开发者能够使用 Solidity、Vyper 或 Yul 编写合约,并不仅可以部署到 Ethereum,还可以部署到任何兼容 EVM 的网络。关键在于,EVM 会确保网络中的所有节点在创建或交互智能合约时遵循完全相同的规则。

当然,并不是所有区块链都使用同一种虚拟机。比如 NEAR 和 Cosmos 这类网络,会实现基于 WebAssembly(WASM)的虚拟机,从而让合约能够用多种语言编写。Sui 使用 MoveVM 来执行用 Move 语言编写的合约。Solana 则拥有自己的 Solana Virtual Machine(SVM,Solana 虚拟机),专门为并行处理交易以及应对大量活动而设计。

当你使用 Uniswap 进行 swap(兑换)时,你的交易会被在 EVM 中运行的智能合约所管理。当你铸造一个 NFT 时,虚拟机正在执行维护“谁拥有什么”的那段代码。如果你使用 Layer 2(第二层)的 rollup,你的交易可能会在诸如 zkEVM 这样的专用虚拟机上运行,这使得 zk-rollups 能在执行智能合约的同时受益于 zero-knowledge proofs(零知识证明)。

但并非一切都一帆风顺。虚拟机会在硬件和代码之间额外加上一层,可能会让速度变慢,或者需要比直接在硬件上运行更多的计算资源。在云基础设施或区块链网络中维护虚拟机,往往需要持续的配置和更新,这既耗时,也需要专业知识。而且还存在兼容性问题:为 Ethereum 编写的智能合约,若要在 Solana 或其他不兼容的区块链上运行,就通常需要重写或改编。开发者如果想在多个网络上发布同一款应用,就得投入额外的时间和精力。

现实是,虚拟机在我们常规电脑的运行方式以及区块链系统的工作方式中都扮演着至关重要的角色。它们让你可以运行不同的操作系统,以安全的方式测试软件,并且用同一套硬件完成多种任务。在 crypto 世界里,虚拟机正是让智能合约和 dApps(去中心化应用)能够在全球网络中可靠运行的关键。即便你不是开发者,理解虚拟机如何工作,也能让你更清楚地知道:你正在使用的 DeFi 工具和平台背后到底发生着什么。
ETH-3.25%
ATOM3.25%
SUI-5.59%
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
请输入评论内容
请输入评论内容
暂无评论