Strona główna - ETHEREUM VIRTUAL MACHINE – CZYM JEST?

ETHEREUM VIRTUAL MACHINE – CZYM JEST?

ETHEREUM VIRTUAL MACHINE

Ethereum zrewolucjonizowało świat technologii blockchain.

Bitcoina, blockchain pierwszej generacji, zaprojektowano jedynie jako zdecentralizowany system płatności, umożliwiający transakcje pieniężne bez pośredników.

Ethereum, blockchain drugiej generacji, jest już przeznaczony do tworzenia i wykonywania pełnoprawnych inteligentnych kontraktów, na których budowane są różne zdecentralizowane aplikacje (Dapps).

Funkcjonalność blockchaina rozszerzyła się tak bardzo, że Ethereum stało się popularnym środowiskiem dla deweloperów do wdrażania nowych pomysłów.

W tym miejscu do gry wchodzi Ethereum Virtual Machine (EVM), czyli środowisko programowe, w którym wdraża się inteligentne kontrakty i tworzy się Dapps-y.

Jest to w zasadzie globalny, zdecentralizowany komputer z wieloma węzłami, które posiadają własne magazyny danych.

Ogólna charakterystyka EVM

EVM to tak zwana „rozproszona maszyna stanów” opracowana w 2015 roku (stworzona przez Gavina Wooda).

W Ethereum stan jest obszerną strukturą danych, która zawiera wszystkie konta i salda kont.

EVM aktualizuje stan sieci po dodaniu każdego nowego bloku.

Procedurę tę kontroluje określony zestaw reguł, zdefiniowanych przez sam EVM.

EVM (maszyna stanów) jest quasi-kompletna według Turinga, tzn. w rzeczywistości jest zdolna do wykonania dowolnego obliczenia, ale z własnymi ograniczeniami (które zostaną omówione w następnym rozdziale).

Takie możliwości pojawiły się dzięki opcodes — instrukcjom EVM dla konkretnych operacji, czy to arytmetycznych, blokowych itp. Obecnie jest ich około 150.

Same obliczenia przebiegają według dość długiego schematu.

Najpierw piszemy kod w konkretnym języku programowania, takim jak Solidity (również stworzony przez Gavina Wooda).

Ten kod źródłowy jest następnie konwertowany na bytecode (ciąg znaków w systemie szesnastkowym), który jest dzielony na poszczególne bajty.

W efekcie operacje obliczeniowe wykonywane są za pomocą kodów op (każdemu kodowi op przypisany jest jeden bajt).

Pracują z obszarami pamięci, które przechowują dane i są nazywane „stosami” (w przybliżeniu jest to stos elementów, w którym elementy mogą być dodawane i usuwane tylko na jego szczycie).

Maksymalny rozmiar „stosu” to 1024 elementy po 256 bitów każdy.

EVM posiada również obszary pamięci, w których przechowuje się złożone typy danych — pamięć tymczasowa i pamięć trwała.

Gaz

Teraz wyobraź sobie, że sieć musi przetworzyć astronomiczną liczbę wysoce złożonych operacji.

Znacznie zwolniłaby, a może nawet się zepsułaby.

Ponieważ inteligentny kontrakt obejmuje tylko ograniczoną liczbę operacji obliczeniowych, mamy do czynienia z systemem quasi-turing-complete (zwanym również „maszyną stanu skończonego”).

Jednostką rozliczeniową, która mierzy zasoby obliczeniowe i magazynowe dla operacji, jest gaz.

Jego wartość oblicza się w eterach i zależy od złożoności transakcji, a także obciążenia Ethereum.

Gaz pełni trzy funkcje.

Po pierwsze, działa jako środek płatniczy umożliwiający transakcje obliczeniowe oraz jako nagroda dla walidatorów, którzy weryfikują transakcje.

W tym przypadku gaz przypomina paliwo, które samochód wykorzystuje do podróży z jednego punktu do drugiego.

Po drugie, gaz zachęca programistów do pisania bardziej zwięzłego kodu.

Im bardziej złożony, tym większe obciążenie dla sieci przetwarzającej go.

Więc mniej wydajny kod będzie miał wyższy koszt, a deweloperzy bedą pracować nad jego zmniejszeniem.

Po trzecie, gaz zabezpiecza sieć.

Bez gazu atakujący mogliby uruchamiać niekończące się pętle, które doprowadziłyby do zatrzymania sieci.

Dlatego bloki mają limit na liczbę jednostek gazu i odpowiednio limit na liczbę transakcji.

Jeśli przekroczy on limit, urządzenie po prostu nie zostanie przyjęte.

Rola EVM

Znaczenia EVM nie można przecenić.

Stała się ona odpowiednim środowiskiem do rozwoju inteligentnych kontraktów, a te z kolei stają się podstawą dla tokenów ERC-20, NFT, DAO (zdecentralizowanych organizacji autonomicznych) oraz Dapps, w tym różnych gier, projektów DeFi, a nawet zdecentralizowanych giełd (takich jak Uniswap).

Ponadto decentralizacja systemu gwarantuje bezpieczeństwo inteligentnych kontraktów i zdecentralizowanych aplikacji — zakłócenie pracy jednego węzła nie spowoduje ich zawieszenia.

Mimo to, maszyna wirtualna Ethereum ma także namacalne wady.

W szczególności sieć cierpi z powodu wysokich kosztów transakcji i przechowywania, a także niskiej skalowalności.

Te aspekty mocno krytykuje społeczność kryptowalutowa, choć w celu rozwiązania tych problemów powstają sidechainy i projekty L2 (rozwiązania warstwy 2).

EVM zostanie w najbliższym czasie zastąpiony ulepszonym odpowiednikiem maszynowym, EWASM (Ethereum Web Assembly).

Będzie to część większego przejścia sieci na Ethereum 2.0.

EWASM rozwiąże wiele problemów poprzez zwiększenie szybkości sieci, dodanie nowych języków programowania itp.

Już wkrótce dowiemy się, czy EWASM będzie skutecznym zamiennikiem dla popularnego EVM.

Rate this post