为什么虚拟机成为区块链的支柱?虚拟机完整指南

您需要了解的内容

虚拟机 (VM) 不仅仅是普通的计算机技术——它是您每天进行的所有区块链交易的核心。VM 允许您在一台设备上运行多种操作系统或应用程序,而无需额外的硬件。更重要的是,像以太坊虚拟机 (EVM) 这样的 VM 使智能合约和 DApp 能够在全球网络中稳定运行。虽然灵活且功能强大,VM 也存在一些权衡:性能问题、资源消耗和操作复杂性。

虚拟机的工作原理是什么?

想象一下,您想在 MacBook 上运行 Windows,而无需更改原有系统或购买新电脑。这就是 VM 的作用——创建一个独立的环境,让各种操作系统和应用程序可以安全运行。

技术上,一款名为 hypervisor 的软件在后台管理一切。Hypervisor 从您的物理计算机 (CPU、RAM、存储) 获取资源,并将其划分,使多个 VM 能够同时使用。

主要有两种类型的 hypervisor:

类型 1 (物理服务器): 直接安装在硬件上,通常位于数据中心或云平台中。优化性能和效率。

类型 2 (已安装): 作为普通应用程序在您的操作系统上运行,适合测试和开发。

设置完成后,您可以像使用真实电脑一样运行 VM——安装软件、浏览网页或开发应用。

为什么人们使用虚拟机?

无风险测试操作系统: 在隔离空间试用各种操作系统,而不改变主机电脑。

隔离有风险的软件: 需要打开未知文件或不可信应用?在 VM 中运行——如果出现恶意软件或崩溃,主机电脑仍然安全。

运行旧软件: 一些程序只能在旧版 Windows(如 Windows XP)上运行。VM 可以模拟这些环境。

开发和测试: 开发者可以在不同操作系统上测试代码,模拟新应用在各种环境中的运行情况。

支持云服务: AWS、Azure、Google Cloud——都建立在 VM 之上。当你启动云实例时,实际上是在远程数据中心启动 VM。

区块链中的 VM:重要的内容

虽然传统 VM 作为隔离沙箱运行,区块链虚拟机则作为智能合约的执行引擎。

以太坊虚拟机 (EVM) 允许开发者用 Solidity、Vyper 和 Yul 等语言编写智能合约,然后部署到以太坊及兼容 EVM 的网络中。EVM 确保网络中的每个节点在创建或交互智能合约时遵循相同的规则。

不同的区块链根据设计采用不同的 VM 策略。有些注重速度和扩展性,有些则优先考虑安全性或开发者的灵活性。

像 NEAR 和 Cosmos 使用基于 WebAssembly (WASM) 的 VM,支持多种编程语言的智能合约。Sui 使用 MoveVM 来执行 Move 语言的智能合约。Solana 拥有专门设计的 Solana Virtual Machine (SVM),用于处理并行交易和高吞吐量的网络活动。

在不知不觉中使用 VM (时)

每次与 DApp 交互,实际上都依赖于 VM:

DeFi 交易: 在 Uniswap 等平台进行代币兑换?您的交易由运行在 EVM 上的智能合约处理。

NFT 铸造: 在铸造 NFT 时,VM 执行代码以追踪每个 NFT 的所有权。当您购买或转让代币时,VM 更新历史记录,确保所有权始终准确。

Layer 2 Rollups: 您的交易可能由特定的 VM(如 zkEVM)处理——允许 zk-rollup 在利用零知识证明 (ZKP) 的同时运行智能合约。

需要了解的虚拟机局限性

性能开销: VM 在硬件和执行的代码之间增加了一层。这可能会减慢速度或比直接在物理机上运行应用程序消耗更多资源。

操作复杂: 维护 VM (尤其是在云或区块链中) 需要大量努力进行设置和更新——需要专门的工具和专业知识。

兼容性有限: 智能合约设计用于特定的 VM 环境。为以太坊编写的代码需要重写或调整才能在不兼容的区块链(如 Solana)上运行。开发者在不同环境部署相同应用时需要花费更多时间。

总结

虚拟机在现代计算机和区块链系统中扮演着关键角色。它们允许运行多种操作系统、安全测试软件,并利用相同硬件完成多项任务。在区块链中,VM 支持智能合约和 DApp,使 DeFi 生态系统得以存在。即使你不是技术专家,理解 VM 的工作原理也能帮助你更好地理解我们每天使用的许多工具和平台背后的机制。

ETH-0.59%
SUI-2.16%
SOL-1.89%
查看原文
此页面可能包含第三方内容,仅供参考(非陈述/保证),不应被视为 Gate 认可其观点表述,也不得被视为财务或专业建议。详见声明
  • 赞赏
  • 评论
  • 转发
  • 分享
评论
0/400
暂无评论
交易,随时随地
qrCode
扫码下载 Gate App
社群列表
简体中文
  • 简体中文
  • English
  • Tiếng Việt
  • 繁體中文
  • Español
  • Русский
  • Français (Afrique)
  • Português (Portugal)
  • Bahasa Indonesia
  • 日本語
  • بالعربية
  • Українська
  • Português (Brasil)