Что такое виртуальная машина (ВМ)?

Основные выводы

Виртуальные машины (ВМ) позволяют запускать разные операционные системы или приложения на одном устройстве без дополнительного оборудования.

ВМ отлично подходят для безопасного тестирования нового программного обеспечения, опробования других систем или изолирования программ, которые могут быть рискованными.

ВМ, такие как Ethereum Virtual Machine (EVM), позволяют смарт-контрактам и децентрализованным приложениям (DApps) надежно работать в глобальной сети компьютеров.

Хотя ВМ предлагают гибкость и контроль, они могут иметь недостатки в производительности, использовании ресурсов и сложности.

Введение

Когда-нибудь вы хотели запустить Windows на своем MacBook или протестировать приложение Linux, не меняя свою операционную систему или не покупая отдельный компьютер? ВМ позволяют вам это сделать, создавая изолированную среду, в которой различные операционные системы и приложения могут работать безопасно. Они также широко используются в блокчейн-сетях для поддержки смарт-контрактов и децентрализованных приложений (DApps).

Что такое ВМ?

ВМ похожи на компьютер, который вы можете настроить всего за несколько кликов, и дополнительное оборудование не требуется. Вы можете установить операционную систему, сохранять файлы, запускать приложения и подключаться к интернету, но вы запускаете это внутри вашего существующего компьютера, также известного как хост.

Ваша хост-система выполняет тяжелую работу за кулисами, предоставляя свою память, вычислительную мощность и хранилище, чтобы ВМ могла работать плавно. Это особенно полезно, если вам нужно использовать программное обеспечение, которое доступно только на другой операционной системе.

Как ВМ на самом деле работают?

За кулисами программное обеспечение, называемое гипервизором, управляет всем этим. Гипервизор использует физические ресурсы вашего компьютера, такие как ЦП, оперативная память (RAM) и хранилище, и делит их так, чтобы несколько ВМ могли использовать их одновременно.

Существует два основных типа гипервизоров:

Тип 1 (Bare-metal): Эти ВМ устанавливаются непосредственно на оборудование и часто используются в дата-центрах или облачных платформах. Они созданы для производительности и эффективности.

Тип 2 (Хостинговая): Эти ВМ работают поверх вашей обычной операционной системы (как приложения) и подходят для тестирования и разработки.

После настройки ВМ вы можете запустить ее так же, как настоящий компьютер, и установить программное обеспечение, просматривать веб, или создавать приложения.

Почему использовать ВМ?

1. Тестирование новых операционных систем

С помощью ВМ вы можете тестировать различные операционные системы, не внося никаких изменений в ваш основной компьютер. Это похоже на то, как попробовать новую систему в безопасном, отдельном пространстве.

2. Изоляция рискованного программного обеспечения

Необходимо открыть файл, в котором вы не уверены, или протестировать незнакомое приложение? Запуск его в ВМ защищает ваш компьютер, так что если вы столкнетесь с вредоносным ПО или сбоем системы, ваш основной компьютер не пострадает.

3. Запуск устаревшего или недоступного программного обеспечения

Некоторые программы работают только на устаревших системах, таких как Windows XP. ВМ может воссоздать эту среду, позволяя вам продолжать использовать программное обеспечение, которое может не запускаться на современных устройствах.

4. Разработка и тестирование кода на разных платформах

ВМ упрощают разработчикам тестирование кода на различных операционных системах и симуляцию того, как новые приложения будут вести себя в различных средах.

5. Запустите облако

Многие облачные сервисы (такие как AWS, Azure и Google Cloud) основаны на ВМ. Когда вы запускаете облачный экземпляр, вы начинаете ВМ в удаленном дата-центре, готовом размещать веб-сайты, приложения или базы данных.

Как блокчейн-сети используют ВМ

Хотя традиционные ВМ представляют собой изолированные песочницы, блокчейн-виртуальные машины действуют как движок, который запускает смарт-контракты в блокчейн-сетях. Ethereum Virtual Machine (EVM) позволяет разработчикам писать смарт-контракты на языках, таких как Solidity, Vyper и Yul, и развертывать их в Ethereum и других совместимых с EVM сетях. EVM обеспечивает соблюдение одинаковых правил каждым узлом сети при создании или взаимодействии со смарт-контрактами.

Блокчейн-сети реализуют свои собственные типы ВМ в зависимости от проектных целей. Некоторые сосредотачиваются на скорости и масштабируемости, в то время как другие стремятся быть более безопасными или гибкими для разработчиков. Сети, такие как NEAR и Cosmos, используют ВМ на основе WebAssembly (WASM), которые поддерживают смарт-контракты, написанные на нескольких языках программирования.

Другие блокчейн-сети, такие как Sui, используют MoveVM, который выполняет смарт-контракты, написанные на языке Move. Блокчейн Solana использует собственную среду выполнения, часто называемую Solana Virtual Machine (SVM), которая предназначена для обработки транзакций параллельно и управления большим объемом сетевой активности.

Виртуальные машины в действии

Вы можете не замечать их, но ВМ работают за кулисами каждый раз, когда вы взаимодействуете с децентрализованными приложениями (DApps).

Если вы используете приложение децентрализованного финансирования (DeFi), такое как Uniswap, для обмена токенами, ваши транзакции обрабатываются смарт-контрактами, работающими внутри EVM.

Если вы создаете NFT, ВМ выполняет код, который отслеживает, кто владеет каждым NFT. Когда вы совершаете покупку или перевод, ВМ обновляет записи, чтобы владение NFT оставалось точным.

Если вы используете Layer 2 rollup, ваши транзакции могут выполняться специализированной ВМ, такой как zkEVM. zkEVM позволяют zk-rollups запускать смарт-контракты, извлекая выгоду из доказательств с нулевым разглашением (ZKP).

Ограничения ВМ

1. Нагрузка на производительность: ВМ добавляют дополнительный уровень между аппаратным обеспечением и кодом, который выполняется. Это может замедлить работу или потребовать больше вычислительных ресурсов по сравнению с запуском приложений непосредственно на физическом устройстве.

2. Операционная сложность: Поддержка ВМ (особенно в облачной инфраструктуре или блокчейн-сетях) требует много усилий для настройки и обновления. Это займет время и часто требует специализированных инструментов и знаний.

3. Совместимость: Смарт-контракты часто разрабатываются для конкретной среды ВМ. Код, написанный для смарт-контрактов на Ethereum, необходимо переписывать или адаптировать для работы на других несовместимых блокчейнах, таких как Solana. Это означает, что разработчикам нужно тратить дополнительное время и усилия, если они хотят запустить одно и то же приложение в нескольких средах.

Заключительные мысли

ВМ играют важную роль в том, как функционируют как обычные компьютеры, так и блокчейн-системы. Они позволяют запускать различные операционные системы, безопасно тестировать программное обеспечение и использовать одно и то же оборудование для выполнения нескольких задач.

Виртуальные машины также используются в блокчейн-сетях для работы со смарт-контрактами и децентрализованными приложениями. Даже если вы не являетесь экспертом, знание о том, как работают ВМ, может дать вам лучшее представление о том, что происходит под капотом во многих инструментах и платформах DeFi, которые мы используем.

Дополнительное чтение

Что такое модульные блокчейны?

Что такое сети Bitcoin второго уровня?

Что такое аудит безопасности смарт-контрактов?

Отказ от ответственности: Этот контент представлен вам на основании «как есть» для общей информации и образовательных целей, без каких-либо представлений или гарантий. Он не должен интерпретироваться как финансовый, юридический или другой профессиональный совет, и не предназначен для рекомендации покупки какого-либо конкретного продукта или услуги. Вам следует обратиться за собственным советом к соответствующим профессиональным консультантам. Продукты, упомянутые в этой статье, могут быть недоступны в вашем регионе. Если статья написана сторонним автором, обратите внимание, что мнения, выраженные в ней, принадлежат стороннему автору и не обязательно отражают мнение Binance Academy. Пожалуйста, прочитайте наш полный отказ от ответственности для получения дополнительных деталей. Цены на цифровые активы могут быть волатильными. Стоимость ваших инвестиций может как упасть, так и вырасти, и вы можете не вернуть вложенную сумму. Вы несете полную ответственность за свои инвестиционные решения, и Binance Academy не несет ответственности за любые убытки, которые вы можете понести. Этот материал не должен интерпретироваться как финансовый, юридический или другой профессиональный совет. Для получения дополнительной информации смотрите наши Условия использования и Предупреждение о рисках.