Aplikacja mobilna

Ściągnij naszą aplikację by na bieżąco śledzić pracę KryptoBota.

j j

Masz już konto?
Zaloguj się
Obserwuj

Jak działa blockchain Ethereum – Ethereum Virtual Machine [EVM]

HomeAktualności Jak działa blockchain Ethereum – Ethereum Virtual Machine [EVM]
ethereum virtual machine head

Najprostszą definicją blockchainu jaką udało mi się znaleźć jest – publiczna baza danych, która jest aktualizowana i udostępniana przez wszystkie komputery w sieci.

Rozłóżmy teraz termin blockchain na części, aby lepiej zrozumieć na czym polega:

 

Block (blok) – odnosi się do tego, że dane w sieci sa przechowywane w sekwencyjnych partiach, inaczej w blokach

Chain (łańcuch) – odnosi się do tego, że każdy blok odwołuje się do przydzielonego mu elementu nadrzędnego, co powoduje, że dane jednego bloku niw mogą zostać zmienione, bez zmiany wszystkich kolejnych bloków w łańcuchu.

Dane z każdego nowego bloku muszą zostać uwzględnione w reszcie bloków łańcucha. Aby taka sieć mogła działać poprawnie blockchain musi wprowadzić mechanizm, który pozwoli na porozumienie się i zgranie ze sobą poszczególnych bloków łańcucha. Mechanizm taki nazywa się mechanizmem konsensusu.

Obecnie większość blockchainów korzysta z jednego dwóch mechanizmów konsensusu:

W przypadku blockchainu Ethereum, wykorzystywany jest algorytm Proof of Work. Oznacza to, że każdy, kto chce dodać nowy blok do łańcucha, musi wcześniej rozwiązać hash (skomplikowane równanie matematyczne), co wymaga dużej mocy obliczeniowej. Rozwiązywanie hashu dowodzi, że zasoby obliczeniowe zostały udostępnione sieci przez górnika. Takie działanie jest znane jako kopanie kryptowaluty. Pomyślne dodanie bloku jest nagradzane w tokenach ETH. Dokładniejsze działanie algorytmu PoW znajdziecie w linku powyżej.

Inteligentne kontrakty

smart contract ethereum
Smart contract dla Ethereum

Technologia działania blockchainów takich jak np. blockchain Bitcoin, opiera się na zasadach algorytmów PoW lub PoS. Kryptowaluty są walutami ponieważ działa na zasadach, na których działają standardowe waluty FIAT. Zasady te są określonych właśnie w tych algorytmach. Przykładowo, adres Bitcoina nie może wydać więcej tokenów BTC, niż się na nim znajduje. Blockachain Ethereum posiada swoją własną kryptowalutę – Ether (ETH). Ona również działa na takich samych zasadach. Oprócz swojej podstawowej funkcji posiada ona jednak również dużo bardziej rozbudowaną funkcję – inteligentne kontrakty (smart contracts).

W linku powyżej znajdziecie instrukcję, która krok po kroku przeprowadzi Was przez zaprogramowania nowego kontraktu dla sieci GoChain, która opiera się na tych samych zasadach co sieć Ethereum.

 

Inteligentne kontrakty są rodzajem konta transakcyjnego w sieci Ethereum. Mają one określone saldo i mogą wysyłać transakcje przez sieć. Nie są one kontrolowane przez użytkownika, zamiast tego są wdrażane do sieci i uruchamiane we wcześniej zaprogramowany sposób. Inteligentne kontrakty wchodzą w integrację z innymi transakcjami w sieci poprzez automatyczne egzekwowanie zaporogramowanych w nich reguł.

 

Do obsługi inteligentnych kontraktów sieć Ethereum wymagany jest bardziej skomplikowany algorytm niż PoW czy PoS. Ethereum jest rozproszoną maszyną stanów. Stany Ethereum są wielkimi strukturami danych, które przechowują nie tylko wszystkie konta i ich salda, ale też stan maszyny, który może zmieniać się od bloku do bloku zgodnie z określonymi zasadami. Konkretne zasady zmiany stanu od bloku do bloku są zdefiniowane przez algorytm Etereum Virtual Machine.

Ethereum Virtual Machine

Ethereum Virtual Machine można opisać jakoś funkcją matematyczną.

Y(S, T) = S’

 

Funkcja Y:

  • obejmuje wcześniej obowiązujący stan (S)
  • oraz obecny zestaw  obowiązujących transakcji (T)
  • i tworzy z nich aktualnie obowiązujący stan wyjściowy (S’)
Czym jest stan?

Dla Ethereum stan jest strukturą danych, która utrzymuje wszystkie konta transakcyjne połączone hashami i redukuje je do jednego głównego hasha przechowywanego na blockchainie Ethereum.

Definicja Transakcji

Transakcje są kryptograficznie potwierdzonymi instrukcjami wydanymi z kont transakcyjnych. Wyróżniamy dwa rodzaje transakcji:

    1. transakcja, która skutkuje utworzeniem nowego konta inteligentnego kontraktu,
    2. transakcja za pomocą, której można wejść w interakcję z inteligentnym kontraktem.
Jak działa EVM ze strony technicznej?

 

EVM działa jako maszyna stosowa o głębokości 1024 elementów. Każdy element to 256-bitowe słowo, które zostało wybrane ze względu na łatwość użycia w 256-bitowej kryptografii.

 

Podczas wykonywania kontraktu EVM zachowuje pamięć przejściową w postaci tablicy bajtów, która nie jest trwała pomiędzy transakcjami.

 

Kod bajtowy inteligentnego kontraktu jest wykonywany jako szereg kodów operacyjnych EVM, które wykonują standardowe operacje na stosie, takie jak XOR, AND, ADD, SUB itd. EVM implementuje również szereg operacji stosu specyficznych dla blockchaina, takich jak ADDRESS, BALANCE, BLOCKHASH itp.

Czy masz już konto w KryptoBocie? Ustal swoją strategię a KryptoBot zrobi resztę za Ciebie. Sprawdź za darmo jak to działa!