Wstęp do Ethereum
Rozpocznij swoją przygodę z najpopularniejsza platforma do budowania inteligentnych kontraktów. Za całym projektem Ethereum stoi Vitalik Buterin, polecam prezentację Vitalika, w której opowiada o Ethereum w 25 minut. Ethereum dodatkowo generuje swoją kryptowalutę Ether (skrót ETH).
Wstęp do Ethereum
Zakładam, że znasz podstawowe zasady działania blockchaina. Jeśli nie to polecam dwa filmy wprowadzające: How does a blockchain work - Simply Explained oraz How Bitcoin Works Under the Hood.
W Ethereum konta dzielimy na dwa rodzaje, zwykłych użytkowników oraz kontrakty. Wyobraź sobie, że do konta typu kontrakt dodajemy nasz kawałek kodu (robimy deploy i nasz kod jest przypisany do danego kontraktu). Za uruchomienie naszego kodu odpowiada Ethereum Virtual Machine (EVM).
Nasz program, który będzie coś realizował, zostanie przypisany do kontraktu (innymi słowy, będzie hostowany na kontrakcie albo żeby było łatwiej można to porównać do serwera, na który wrzuciliśmy nasz kod). Inne konta w sieci za pomocą klucza publicznego (adres naszego kontraktu) będą mogły zacząć się z nim komunikować.
Gdy inni użytkownicy wejdą w interakcję z naszym kontraktem i nasz kod zacznie integrować się z innymi kontraktami, to ktoś w zdecentralizowanej sieci musi ten kod wykonać i potwierdzić autentyczność transakcji. Niektóre osoby w sieci udostępniają swoje moce obliczeniowe, ten proces nazywamy potocznie miningiem. Za część operacji musi zapłacić nasz kontrakt (czyli de facto my!). Płacimy walutą gas, jest ona zakupowana automatycznie za Ether znajdujące się na naszym kontrakcie. Gdy wyczerpiemy wszystkie środki na naszym koncie, to wykonanie niektórych operacji będzie niemożliwe. Dodam, że możemy zaprogramować różne typy interakcji z naszym kontraktem i tylko za niektóre płacimy a pozostałe mamy gratis (o tym później).
Całą sieć Ethereum można porównać do chmury AWS, Azure czy Google. Wykupujemy wybrane usługi i jesteśmy obciążani za określone operacje, a niektóre dostajemy w pakiecie.
Porównanie chmury do blockchaina:
Chmura | Blockchain |
---|---|
baza danych | blockchain |
Function as a Service (FaaS) | kontrakt |
płacimy za określony ruch | płacimy za określony ruch |
scentralizowana sieć z centralnym zarządzaniem* | zdecentralizowana sieć peer-to-peer |
- warto dopisać że dostawcy chmury mają różne zabezpieczenia swoich usług i proponują różne rozwiązania rozrzucenia ruchu po innych regionach
Najważniejsze aspekty Ethereum:
- mamy dwa rodzaje kont, zwykłe oraz kontrakty
- możemy pisać nasz własny kod i umieszczać go w sieci Ethereum
- nasz kod przypisany jest do konta typu kontrakt
- musimy wynagrodzić sieć (użytkowników) za wykonanie naszej transakcji (płacimy w walucie gas)
- niektórzy użytkownicy udostępniają dla sieci swoje moce obliczeniowe – mining
- gdy zabraknie środków na naszym kontrakcie, to wykonanie niektórych operacji będzie niemożliwe
- za uruchomienie naszego programu odpowiada Ethereum Virtual Machine (EVM)
- z kontraktami możemy się komunikować, bo mamy ich klucz publiczny