Najważniejsze informacje
Maszyny wirtualne (VM) dają możliwość korzystania z różnych systemów operacyjnych czy aplikacji na tym samym urządzeniu bez konieczności stosowania dodatkowego sprzętu.
Maszyny wirtualne nadają się doskonale do bezpiecznego testowania nowego oprogramowania, innych systemów czy izolowania programów, które mogą stwarzać zagrożenie.
Maszyny wirtualne – np. maszyna wirtualna Ethereum (EVM) – umożliwiają niezawodne działanie smart kontraktów i aplikacji DApp (DApp) w ogólnoświatowej sieci komputerów.
Maszyny wirtualne dają elastyczność i kontrolę, ale mogą się wiązać się z kompromisami w zakresie wydajności, wykorzystania zasobów czy złożoności.
Wstęp
Czy zdarzyła Ci się kiedykolwiek potrzeba uruchomienia systemu Windows na MacBooku czy przetestowania aplikacji z Linuksa bez zmiany systemu operacyjnego czy kupowania osobnego komputera? Maszyny wirtualne dają taką możliwość, ponieważ stanowią odizolowane środowisko, w którym mogą bezpiecznie działać różne systemy operacyjne i aplikacje. Służą również powszechnie w sieciach blockchain do obsługi smart kontraktów i aplikacji zdecentralizowanych (DApp).
Co to jest maszyna wirtualna (VM)?
Maszyna wirtualna jest jak komputer, który można skonfigurować w zaledwie kilka kliknięć, bez potrzeby stosowania dodatkowych urządzeń. Można zainstalować system operacyjny, zapisywać pliki, uruchamiać aplikacje i łączyć się z internetem, ale robimy to na już posiadanym komputerze, który pełni rolę bazy, czyli tzw. hosta.
Nasz system bazowy wykonuje ciężką pracę w sposób niewidoczny, udostępniając pamięć, moc obliczeniową i miejsce na dysku, aby maszyna wirtualna mogła płynnie działać. Przydaje się to zwłaszcza jeżeli trzeba użyć oprogramowania dostępnego tylko na innym systemie operacyjnym.
Jak właściwie działają maszyny wirtualne?
Całość koordynuje w sposób niewidoczny oprogramowanie zwane hipernadzorcą. Hipernadzorca przejmuje zasoby fizyczne komputera, np. procesor CPU, pamięć RAM czy dysk twardy, i dzieli je tak, aby mogła z nich korzystać jednocześnie większa liczba maszyn wirtualnych.
Są dwa główne rodzaje hipernadzorców:
Rodzaj pierwszy (goły metal): Instaluje się je bezpośrednio na urządzeniu i często stosuje w centrach danych lub platformach chmurowych. Są stworzone z myślą o wydajności i sprawności.
Rodzaj drugi (na bazie hosta): Działają na naszym zwykłym systemie operacyjnym (jak aplikacje) i nadają się do testowania oraz programowania.
Po skonfigurowaniu maszynę wirtualną można uruchomić jak prawdziwy komputer i instalować oprogramowanie, przeglądać internet czy tworzyć aplikacje.
Do czego służy VM?
1. Testowanie nowych systemów operacyjnych
Dzięki maszynie wirtualnej można testować różne systemy operacyjne bez wprowadzania jakichkolwiek zmian na swoim komputerze głównym. To jak testowanie nowego systemu w bezpiecznym, osobnym miejscu.
2. Izolowanie ryzykownego oprogramowania
Musisz otworzyć niepewny plik albo przetestować nieznaną aplikację? Uruchomienie pliku lub aplikacji na maszynie wirtualnej zapewnia ochronę komputera, więc w razie napotkania złośliwego oprogramowania lub awarii systemu główny komputer nie ulegnie uszkodzeniu.
3. Korzystanie ze starszego lub niedostępnego oprogramowania
Niektóre programy działają tylko na starszych systemach, jak np. Windows XP. Maszyna wirtualna jest w stanie odtworzyć to środowisko, co umożliwia dalsze korzystanie z oprogramowania, które może nie działać na dzisiejszych urządzeniach.
4. Opracowywanie i testowanie kodu na różnych platformach
Maszyny wirtualne ułatwiają deweloperom testowanie kodu na różnych systemach operacyjnych i symulowanie zachowania nowych aplikacji w różnych środowiskach.
5. Obsługa chmury
Wiele usług chmurowych (np. AWS, Azure czy Google Cloud) działa na maszynach wirtualnych. Kiedy uruchamiamy instancję chmurową, uruchamiamy maszynę wirtualną w zdalnym centrum danych, która jest gotowa do hostowania stron internetowych, aplikacji czy baz danych.
Do czego służą sieciom blockchain maszyny wirtualne
O ile tradycyjne maszyny wirtualne to wyizolowane środowiska testowe (tzw. sandboksy), o tyle maszyny wirtualne w technologii blockchain pełnią funkcję modułu, który obsługuje smart kontrakty w sieciach blockchain. Maszyna Wirtualna Ethereum (EVM) daje deweloperom możliwość pisania smart kontraktów w językach takich jak Solidity, Vyper czy Yul oraz ich wdrażania na Ethereum i innych sieciach kompatybilnych z maszyną EVM. Maszyna EVM dba o to, aby każdy węzeł w sieci przestrzegał tych samych zasad podczas tworzenia lub korzystania ze smart kontraktów.
Sieci blockchain wdrażają własne rodzaje maszyn wirtualnych stosownie do celów projektowych. Niektóre są nastawione na szybkość i skalowalność, a inne mają dawać deweloperom więcej bezpieczeństwa czy elastyczności. W sieciach takich jak NEAR czy Cosmos służą maszyny wirtualne w standardzie WebAssembly (WASM), które obsługują smart kontrakty pisane w różnych językach programowania.
Inne sieci blockchain, np. Sui, działają na maszynie MoveVM, która wykonuje smart kontrakty pisane w języku Move. Sieć blockchain Solana ma własny moduł wykonawczy, często nazywany maszyną wirtualną Solana (SVM), który jest zaprojektowany do równoległej realizacji transakcji i obsługi dużej liczby działań w sieci.
Maszyny wirtualne w praktyce
Może tego nie widać, ale maszyny wirtualne (VM) zawsze działają w tle, kiedy korzystamy z aplikacji zdecentralizowanych (DApp).
Jeżeli dokonujemy wymiany tokenów przy użyciu aplikacji finansów zdecentralizowanych (DeFi), np. Uniswap, nasze transakcje realizują smart kontrakty działające w maszynie wirtualnej Ethereum (EVM).
Jeżeli tworzymy token NFT, maszyna wirtualna realizuje kod, który na bieżąco rejestruje, kto jest właścicielem poszczególnych tokenów NFT. Kiedy realizujemy zakup lub przelew, VM uaktualnia zapisy, aby stan własnościowy tokena NFT był właściwy.
Jeżeli korzystamy z rollupu warstwy drugiej, nasze transakcje może realizować specjalistyczna maszyna wirtualna, np. zkEVM. Maszyna zkEVM umożliwia rollupom z wiedzą zerową realizację smart kontraktów, a jednocześnie korzystanie z dowodów z wiedzą zerową (ZKP).
Ograniczenia maszyn wirtualnych
1. Narzut w zakresie wydajności: Maszyny wirtualne dokładają system między urządzeniem a wykonywanym kodem. Może to oznaczać wolniejsze działanie lub wiązać się z koniecznością stosowania większych zasobów obliczeniowych niż przy realizowaniu aplikacji bezpośrednio na maszynie fizycznej.
2. Komplikacje eksploatacyjne: W utrzymanie maszyn wirtualnych (szczególnie w infrastrukturze chmurowej lub sieciach blockchain) trzeba włożyć dużo wysiłku przy konfiguracji i aktualizacji. Zajmuje to czas i często wiąże się z koniecznością stosowania specjalistycznych narzędzi oraz wiedzy.
3. Kompatybilność: Smart kontrakty są często projektowane do konkretnego środowiska VM. Kod napisany pod smart kontrakty w sieci Ethereum trzeba będzie przepisać albo przerobić, aby mógł działać na innych, niekompatybilnych sieciach blockchain, np. Solana. Dla deweloperów oznacza to większy nakład czasu i pracy, jeżeli chcą prowadzić tę samą aplikację w różnych środowiskach.
Wnioski końcowe
Maszyny wirtualne odgrywają ważną rolę w działaniu zarówno zwykłych komputerów, jak i systemów blockchain. Dają możliwość korzystania z różnych systemów operacyjnych, bezpiecznego testowania oprogramowania i wykorzystywania tych samych urządzeń do wielu zadań.
Maszyny wirtualne służą również w sieciach blockchain do obsługi smart kontraktów i aplikacji zdecentralizowanych. Nawet jeżeli nie jesteś znawcą, znajomość działania maszyn wirtualnych (VM) może Ci dać lepsze pojęcie o tym, co się dzieje „pod maską” wielu narzędzi i platform DeFi, z których korzystamy.
Dalsza lektura
Wyłączenie odpowiedzialności: Niniejsza treść jest prezentowana bez rękojmi, wyłącznie w celach ogólnoinformacyjnych i dydaktycznych, bez jakichkolwiek oświadczeń ani gwarancji. Nie należy jej rozumieć jako porady finansowej, prawnej ani innego rodzaju porady specjalistycznej. Nie ma ona również charakteru zachęty do zakupu jakiegokolwiek konkretnego produktu ani usługi. Użytkownik powinien zasięgnąć własnej porady u odpowiednich fachowych doradców. Możliwe, że produkty wspomniane w tym artykule nie będą dostępne w danym regionie. Jeżeli artykuł jest napisany przez osobę z zewnątrz, należy pamiętać, że wyrażane poglądy są poglądami tej osoby i nie muszą odzwierciedlać poglądów Akademii Binance. Więcej informacji można znaleźć w naszym pełnym wyłączeniu odpowiedzialności. Ceny aktywów cyfrowych bywają zmienne. Wartość Twojej inwestycji może spaść lub wzrosnąć i możliwe, że nie odzyskasz zainwestowanej kwoty. Ponosisz wyłączną odpowiedzialność za swoje decyzje inwestycyjne, a Akademia Binance nie ponosi odpowiedzialności za ewentualne straty. Niniejszego materiału nie należy rozumieć jako porady z zakresu finansów, prawa ani innej dziedziny. Więcej informacji można znaleźć w naszych Warunkach użytkowania i Ostrzeżeniu o ryzyku.