Jak działa i czym jest ethereum? Wyjaśnienie podstaw technologii blockchain

18 stycznia 2024

Prawdopodobnie każda osoba, która zetknęła się z kryptowalutami, miała okazję usłyszeć o ethereum. Celem tego artykułu jest wyjaśnienie, jak ono funkcjonuje na poziomie technicznym, bez skomplikowanej matematyki i przerażających formuł.

Ethereum - podstawy technologii blockchain

Czym jest ethereum?

Ethereum zostało stworzone przez rosyjskiego programistę z kanadyjskimi korzeniami – Vitalika Buterina.

W istocie jest to publiczna baza danych, która prowadzi stały zapis transakcji cyfrowych. Co ważne, nie wymaga ona żadnego centralnego organu do jej utrzymania i zabezpieczenia. Działa jako system transakcyjny – struktura, w której jednostki mogą dokonywać transakcji P2P (model sieci, w której wszystkie jednostki znajdujące się w niej mają takie same uprawnienia) bez konieczności zaufania trzeciej stronie lub sobie nawzajem.

Aby zrozumieć, jak działa ethereum, należałoby wyjaśnić w pierwszej kolejności, czym jest blockchain.

Technologia blockchain

Według definicji jest to rozproszona baza danych, której kod źródłowy jest otwarty i dostępny dla każdego użytkownika sieci. Posiada architekturę P2P (ang. Peer-to-Peer), bez centralnych serwerów do przechowywania danych. Służy do księgowania poszczególnych transakcji, płatności lub zapisów księgowych, które zakodowane są za pomocą bezpiecznych algorytmów kryptograficznych, co uniemożliwia oszukanie systemu. Ethereum spełnia wszystkie wymogi tej definicji.

Łańcuchowy blok ethereum jest zasadniczo „maszyną stanów” opartą na transakcjach. W informatyce maszyna stanów to pojęcie, które odnosi się do czegoś, co odczytuje serię danych wejściowych i na podstawie tych danych przechodzi do nowego stanu. Podczas wykonywania transakcji stan każdej z nich ulega zmianie: ze stanu początkowego na końcowy. Są one grupowane w bloki, a każdy z nich zawiera określoną ilość transakcji i jest połączony z poprzednim.

W przypadku tej kryptowaluty blokiem, od którego wszystko się rozpoczęło, był blok „genesis” – tzw. blok zerowy, który powstał, zanim jakiekolwiek transakcje zostały wykonane. Jest on wyjątkowy, ponieważ nie odwołuje się do poprzedniego bloku. Stanowił swego rodzaju „wzorzec” dla kolejnych bloków.

Blockchain
Rys. 1. Blok „genesis” oraz połączona sieć pozostałych bloków zawierających określone transakcje.

Proces walidacji każdego bloku, polegający na dostarczeniu przez górnika matematycznego dowodu, jest znany jako protokół proof of work. Górnik, który zatwierdzał nowy blok, nagradzany był za wykonanie tej pracy. Aktualnie w sieci ethereum funkcjonuje już jej wersja 2.0 i jest to od dawna wyczekiwana aktualizacja, która spowodowała zmianę algorytmu wykorzystywanego przez platformę z proof-of-work (dowód pracy) na proof-of stake (dowód stawki). Zmiana ta również pozwoliła na zaimplementowanie stakingu, który jest jednym z mechanizmów umożliwiających weryfikację transakcji i obsługę całej zdecentralizowanej sieci. Wykorzystując staking, udostępniamy w sieci swoją pulę kryptowaluty na poczet zabezpieczenia w procesie walidacji sieci oraz wydobycia kolejnych bloków.

Ghost protocol w sieci ethereum

Aby określić, która ścieżka łańcucha jest prawidłowa, i uniknąć rozgałęzienia pierwotnego łańcucha bloków na inny, sieć ethereum wykorzystuje tzw. „GHOST protocol”. Protokół ten mówi, że musimy wybrać ścieżkę, na której wykonano najwięcej obliczeń. Im wyższy numer bloku, tym dłuższa ścieżka i większy wysiłek wydobywczy, który musiał zostać użyty, by osiągnąć ten punkt.

Łańcuch bloków w sieci ethereum
Rys. 2. Łańcuch bloków w sieci ethereum.

Mając już ogólny zarys, jak działa blockchain, możemy przejść do głównych części składowych, na których oparta jest platforma ethereum.

Części składowe platformy ethereum

Globalne współdzielenie sieci ethereum polega na wykorzystaniu wielu małych obiektów, którymi są konta i adresy użytkowników. Są one w stanie współdziałać za pomocą struktury, w której przekazywane są transakcje. Każde konto ma przypisany określony stan początkowy i 20-bajtowy adres. Adres w ethereum składa się 160-bitów i jest używany jako identyfikator.

W tej sieci występują dwa rodzaje kont:

  • Konta będące własnością zewnętrzną określonych użytkowników, które są kontrolowane przez klucze prywatne.
  • Konta zwierające kontrakty, które posiadają powiązany z nimi kod.

Konto kontrolowane kluczem prywatnym może wykonywać transakcje, na inne rachunki (Rys. 3.) lub konta kontraktowe (Rys. 4.), poprzez tworzenie i podpisywanie ich przy użyciu tego klucza. Wysyłanie transakcji z konta zewnętrznego na konto zawierające kontrakt powoduje jego aktywację i umożliwia wykonanie opisanych w nim działań (np. tworzenie nowych tokenów, kontraktów lub wykonywania określonych obliczeń). Co ważne, z kont kontraktowych nie możemy również samodzielnie wykonywać nowych transakcji, są one stworzone w taki sposób, aby wykonywać określone działania w odpowiedzi na otrzymane na ich adres transakcje.

Transakcja wykonywana między kontami kontrolowanymi kluczem zewnętrznym
Rys. 3. Transakcja wykonywana między kontami kontrolowanymi kluczem zewnętrznym.
 Transakcja wykonywane między kontem kontrolowanym kluczem prywatnym a kontem kontraktowym
Rys. 4. Transakcja wykonywane między kontem kontrolowanym kluczem prywatnym a kontem kontraktowym.

Jakie informacje zawiera konto utworzone w sieci ethereum?

  • Nonce – jest to ilość tranksacji, która została wysłana z określonego konta. Dla nowo powstałego konta nonce równe jest zeru.
  • Balance – jest to ilość środków znajdująca się na koncie. W przypadku nowego konta również wartość ta jest równa zeru. Najmniejszą częścią składową ethera jest Wei. Jeden ether = 1 *10^18 Wei.
  • Storage root – skrót zawartości pamięci konta, uzyskany poprzez zastosowanie odpowiedniego skryptu (ang. hash). Zawiera informacje na temat węzła głównego i jest domyślnie pusty.
  • Code hash – skrót zawartości pamięci konta uzyskany poprzez zastosowanie odpowiedniego skryptu dla kodu EVM (ang. EVM – ethereum virtual machine) przydzielonego dla tego konta.

EVM jest to środowisko do tworzenia inteligentnych kontraktów, złożone z węzłów. Każdy z nich ma zaimplementowany taki sam zbiór instrukcji oraz jest zdolny do przetwarzania różnych języków programowania (np. C++, Python czy Java).

Inteligentne kontrakty to wirtualnie utworzone umowy między użytkownikami, skrypty oraz aplikacje zapisywane na łańcuchu bloków ethereum.

Ethereum – opłaty

Ważnym elementem sieci ethereum są również opłaty. Wszystkie kalkulacje, które zachodzą w wyniku wykonywania transakcji, wiążą się z opłatami. Opłata, jakiej musimy dokonać, zwana jest „gazem” (ang. gas). Jest to jednostka opłat podawana w gwei (jeden gwei = 1*10^8 WEI) i stanowi bardzo mały ułamek ethera. Podczas każdej transakcji nadawca musi ustalić limit i cenę gazu. Iloczyn tych liczb to maksymalna ilość gwei, którą wysyłający jest w stanie zapłacić za wykonanie transakcji.

Obliczanie opłaty za wykonanie transakcji
Rys. 5. Obliczanie opłaty za wykonanie transakcji.

Jeśli na koncie znajduje się odpowiednia ilość etheru, która jest potrzebna, aby pokryć koszty transakcji, możemy ją wykonać. Bardzo ważne jest to, że nie zawsze cały „gaz” zostanie zużyty. Niewykorzystana ilość zostanie zwrócona na koniec transakcji według takiego samego przelicznika.

W przypadku, gdy wysyłający nie jest w stanie zapewnić odpowiedniej ilości gazu, transakcja jest uznana za nieważną i jej przetwarzanie zostaje przerwane. Wszystkie zmiany, które nastąpiły w związku z jej wysłaniem, są cofnięte do stanu początkowego.

Przebieg transakcji z wykorzystaniem gazu
Rys. 6. Przebieg transakcji z wykorzystaniem gazu.

Opłaty, które pobierane są w formie gazu, trafiają głównie do górników jako nagroda, ponieważ to dzięki nim są wykonywane obliczenia i zatwierdzane transakcje w sieci. Im więcej gazu nadawca jest skłonny zapłacić za transakcję, tym większy zysk dla górnika. Ma to znaczenie, ponieważ transakcja ta zostanie przez górnika szybciej wybrana i zatwierdzona. Mają oni swobodę wyboru transakcji, które chcą sprawdzić, a które zignorować.

Podsumowanie

Ethereum to zaawansowana platforma blockchain, która umożliwia rozwój inteligentnych kontraktów i zdecentralizowanych aplikacji (DApps). Jej innowacyjność polega na umożliwieniu automatyzacji procesów i transakcji za pomocą inteligentnych kontraktów, które są zwykle pisane w języku Solidity. Działają one w ramach Ethereum Virtual Machine (EVM) zapewniającej bezpieczeństwo i efektywność. Ethereum stale ewoluuje, koncentrując się na ulepszaniu skalowalności i redukcji kosztów transakcyjnych, co ma kluczowe znaczenie dla przyszłego rozwoju ekosystemu.

Twórca artykułu: Piotr Wójcik, autor książki „Kryptowaluty i świat wokół nich”.

Kryptowaluty i świat wokół nich
„Kryptowaluty i świat wokół nich”

Dla osób zainteresowanych zgłębieniem tematyki kryptowalut przydatny może okazać się odcinek podcastu z fragmentem publikacji „Kryptowaluty i świat wokół nich” traktujący o najpopularniejszych oszustwach kryptowalutowych. Nagranie trwa 20 minut i odpowiada na następujące pytania:

  • Jak działają oszuści na rynkach kryptowalut?
  • Deep fake, hakowanie kanałów i spam;
  • Na czym polega rug pull i jak nie paść jego ofiarą?
  • Jak chronić swoje kryptowaluty przed zatrutymi adresami?

Podcast znajduje się w dedykowanych aplikacjach (iTunes, Google Podcast, Spotify itd.). Klikając w tytuł podcastu poniżej można pobrać nagranie ze strony Spreaker w formie mp3:

Listen to „043. Najpopularniejsze oszustwa w świecie kryptowalut | Rug pull, jak nie paść jego ofiarą?” on Spreaker.
maklerska program partnerski