EVM (Ethereum-Virtual Machine) – maszyna wirtualna
Wirtualna maszyna Ethereum (EVM) to kompletna maszyna wirtualna oparta na pakietach Turinga, która wykonuje inteligentne kontrakty na blockchainie Ethereum.
A virtual machine (VM) is a software-based emulation of a physical computer system. It operates as a self-contained environment that runs its own operating system (guest OS) and applications, independent of the underlying hardware (host machine). Virtualization technology allows multiple VMs to run concurrently on a single physical host, each with its own virtualized hardware resources such as CPU, memory, storage, and network interfaces. This abstraction is managed by a hypervisor, which is a layer of software (Type 1 runs directly on hardware, Type 2 runs on top of a host OS) responsible for creating, running, and managing the VMs. VMs provide numerous benefits, including hardware independence, allowing applications to run on different hardware configurations without modification; resource isolation, preventing issues in one VM from affecting others or the host; and efficient resource utilization, by consolidating multiple workloads onto fewer physical servers. They are widely used for server consolidation, testing and development environments, disaster recovery, running legacy applications, and creating isolated security sandboxes. Trade-offs include performance overhead compared to bare-metal execution due to the hypervisor layer, and the need for sufficient host resources to support multiple VMs effectively. Managing VM lifecycles, storage, and networking also requires specialized expertise.
graph LR
Center["EVM (Ethereum-Virtual Machine) – maszyna wirtualna"]:::main
Rel_hypervisor["hypervisor"]:::related -.-> Center
click Rel_hypervisor "/terms/hypervisor"
Rel_virtualization["virtualization"]:::related -.-> Center
click Rel_virtualization "/terms/virtualization"
classDef main fill:#7c3aed,stroke:#8b5cf6,stroke-width:2px,color:white,font-weight:bold,rx:5,ry:5;
classDef pre fill:#0f172a,stroke:#3b82f6,color:#94a3b8,rx:5,ry:5;
classDef child fill:#0f172a,stroke:#10b981,color:#94a3b8,rx:5,ry:5;
classDef related fill:#0f172a,stroke:#8b5cf6,stroke-dasharray: 5 5,color:#94a3b8,rx:5,ry:5;
linkStyle default stroke:#4b5563,stroke-width:2px;
🧒 Wyjaśnij jak 5-latkowi
EVM to taka jakby jednostka napędowa w komputerze [Ethereum](/pl/terms/ethereum). Czyta ona specjalne instrukcje (kod bajtowy) ze smart kontraktów i wykonuje działania, tak jak szef kuchni krok po kroku realizuje przepis. Każdy krok kosztuje trochę pieniędzy, czyli "gazu", żeby gotowanie nie trwało wiecznie.
🤓 Expert Deep Dive
Wirtualna Maszyna Ethereum (EVM) to deterministyczne środowisko wykonawcze oparte na stosie, zaprojektowane do obsługi inteligentnych kontraktów. Jej podstawową funkcją jest przetwarzanie wywołań transakcji i przejść stanu w całej sieci Ethereum. Specyfikacja EVM definiuje zestaw kodów operacji (opcode'ów), rozmiar słowa wynoszący 256 bitów oraz mechanizm rozliczania gazu do mierzenia nakładu obliczeniowego. Determinizm jest kluczowy; każdy węzeł wykonujący ten sam kod bajtowy z tym samym stanem początkowym musi osiągnąć identyczny stan końcowy. Jest to realizowane poprzez ścisłe przestrzeganie funkcji przejścia stanu EVM. Mechanizm gazu, choć zapobiega nadużywaniu zasobów, wprowadza ograniczenia ekonomiczne, które znacząco wpływają na projektowanie dAppów i doświadczenie użytkownika, szczególnie w odniesieniu do kosztów transakcji i ograniczeń przepustowości. Kompromisy architektoniczne obejmują nieodłączne ograniczenia architektury opartej na stosie w przypadku złożonych obliczeń oraz wyzwania związane z optymalizacją efektywności gazu dla wykonania inteligentnych kontraktów. Wybory projektowe EVM wpłynęły na późniejsze projekty wirtualnych maszyn blockchain, ale także podkreślają ciągłe dążenie do wyższej wydajności i niższych opłat transakcyjnych, prowadząc do innowacji takich jak rozwiązania warstwy 2 i alternatywne środowiska wykonawcze.