Maszyna wirtualna
Maszyna wirtualna, często nazywana VM, to oprogramowanie działające jak komputer lub środowisko do wykonywania kodu. W świecie kryptowalut takie środowisko uruchamia smart kontrakty zgodnie z ustalonymi zasadami.
Czym jest maszyna wirtualna?
Istnieją dwa główne rodzaje maszyn wirtualnych. Maszyna systemowa to wirtualny komputer z własnym systemem operacyjnym. Kilka takich komputerów może korzystać z tego samego fizycznego urządzenia.
Maszyna procesowa nie jest kompletnym komputerem. To przede wszystkim wydzielone środowisko, w którym działa kod. Zasady tego środowiska określają, co kod może, a czego nie może zrobić.
W świecie kryptowalut maszyna wirtualna zwykle przypomina ten drugi rodzaj. Na przykład Ethereum Virtual Machine, czyli EVM, uruchamia smart kontrakty. Smart kontrakt to kod, który automatycznie wykonuje wcześniej określone zadanie.
Przykład działania maszyny wirtualnej
Użytkownik wysyła transakcję do smart kontraktu, aby przesłać tokeny. EVM uruchamia wtedy kod tego kontraktu.
Maszyna wirtualna sprawdza warunki zapisane w kodzie. Jeśli wszystkie są spełnione, kontrakt może zmienić zapisane salda. Do wykonania tych obliczeń transakcja zużywa gas.
Dlaczego maszyny wirtualne są ważne w świecie kryptowalut?
Maszyna wirtualna blockchaina zapewnia, że różne węzły, czyli komputery w sieci, wykonują ten sam kod w ten sam sposób. Dzięki temu te same dane wejściowe powinny zawsze dawać ten sam wynik.
Dlatego w artykułach o Ethereum, smart kontraktach lub innych programowalnych blockchainach można spotkać takie terminy jak VM czy EVM. Oznaczają one, że sieć może wykonywać kod, a więc robić więcej niż tylko przesyłać kryptowaluty.
Maszyna wirtualna i konsensus pełnią różne funkcje. Maszyna wirtualna określa, co transakcja robi od strony technicznej. Konsensus pozwala sieci uzgodnić, które transakcje i wyniki zostaną zaakceptowane. Obliczenia i przechowywanie danych w maszynach wirtualnych blockchaina są ponadto ograniczone i mogą wiązać się z opłatami.