Cryptodev.pl: Blockchain, portfele, smart contracty i EVM od strony technicznej

0
114
Cryptodev: Blockchain od strony technicznej

Cryptodev.pl czyli Adam Smolarek na swoim blogu opublikował ciąg krótkich odcinków, w których tłumaczy podstawy działania blockchain. W tym artykule przybliżymy 4 pierwsze odcinki wyjaśniające zasadę działania portfeli, transakcji, smart contractów oraz EVM.

Portfele - gdzie i jak przechowywane są środki?

Cryptodev.pl zaczął od wyjaśnienia czym są portfele. Konto na blockchainie składa się z pary kluczy prywatnych i publicznych. Klucz publiczny to nasz adres, na który możemy przelać środki. Klucz prywatny natomiast pozwala nam na przelanie naszych środków komuś innemu. W przypadku portfeli softwarowych, klucz prywatny należy odpowiednio zaszyfrować hasłem, a następnie umieścić w pliku na dysku. W przypadku portfeli hardwarowych, klucz powinien zostać umieszczony we fragmencie pamięci oraz zaszyfrowany sprzętowo. Fizyczne miejsce, na którym klucz jest przechowywany, oraz odcięcie od internetu to zalety portfeli hardwarowych. Wadą natomiast jest możliwość uszkodzenia nośnika, co w efekcie skutkuje utratą klucza oraz środków przechowywanych w portfelu.

Jak wykonać transakcję w sieci?

Wiemy już czym są portfele. Warto zatem wyjaśnić również zasady działania transakcji, które za pomocą tych portfeli mogą być wykonywane. Aby wykonać transakcję w sieci Ethereum, najpierw musimy posiadać tam swoje konto, a zatem klucz publiczny, na którym przechowujemy środki oraz klucz prywatny, który daje nam możliwość przesłania tych środków na inne konto. Aby dokonać transakcji, należy wysłać do sieci Ethereum informację że chcemy to zrobić. Żeby transakcja została zatwierdzona, musi być podpisana naszym kluczem prywatnym. Tylko takie transakcje są akceptowane. Inne natomiast są traktowane jako fałszywe i ignorowane.

Kod w sieci czyli Smart Contracty

Podczas dokonywania transakcji wysyłamy kawałek informacji do sieci. Tą informacją jest zwykle przelew z konta A do konta B. Jednak w przypadku sieci Ethereum, możemy wysłać również kawałek kodu do sieci. Ten kod zostanie wykonany przez maszynę wirtualną Ethereum (EVM) i może założyć nowy smart contract. Jest to kawałek kodu, który zostanie zapisany w sieci Ethereum i będzie wykonywany w momencie, gdy jakaś inna transakcja zostanie wysłana na adres kontraktu. Gdy smart contract jest już utworzony, możemy wysyłać na jego adres transakcje, które zamiast przelewu będą zawierać dodatkowe informacje, wykorzystywane przy okazji wywołania takiego kontraktu.

Jak EVM wykonuje operacje na smart contractach?

Jak już wcześniej zostało wspomniane, EVM jest maszyną wirtualną Ethereum. Interpretuje ciąg bajtów za pomocą, którego zapisany jest kod smart contractu. Na podstawie tej interpretacji, wykonywane są różne operacje - na przykład dodanie dwóch liczb czy przelanie środków z kontraktu na jakieś konto. Podczas wykonywania smart contractu, EVM ma do dyspozycji dwa rodzaje pamięci. Pierwsza to pamięć krótkotrwała, która jest dostępna jedynie na czas wykonywania kontraktu. Po zakończeniu pracy, wszystkie dane zostają skasowane. Drugim rodzajem pamięci jest pamięć trwała. Zrealizowana jest za pomocą specjalnej struktury i przechowuje dane również po zakończeniu kontraktu. Używanie jej jest jednak kosztowne, ponieważ każdy bajt zostaje zapisany na wszystkich maszynach które są w sieci.

Zapraszamy również do obejrzenia odcinków na blogu Cryptodev!


 

ZOSTAW ODPOWIEDŹ

Proszę wprowadzić swój komentarz!
Proszę wprowadzić swoje imię