Smart kontrakty nie są ani umowami (contract), ani nie są inteligentne (smart). W rzeczywistości są to proste programy przechowywane na blockchainie razem z informacjami o monetach, tokenach i portfelach. Smart kontrakty są kluczem do rozwoju zdecentralizowanych aplikacji opartych na kryptowalutach.
Smart kontrakty nie działają na tzw. Bitcoin blockchain. Technologia została wprowadzona w 2014 roku jako część specyfikacji Ethereum, która zawierała m.in. definicję smart kontraktu. Dlatego, jeśli chodzi o smart kontrakty to Ethereum jest ich początkiem. Z tego powodu, tak wiele dAppów jest stworzonych, aby funkcjonować na Ethereum i jest kompatybilnych z blockchainami Ethereum.
Czym jest smart kontrakt, tak naprawdę? Zaczęło się od prostych instrukcji warunkowych. Deweloper, który wymyślił termin „smart kontrakt” opisał go jako blockchainową wersję automatu do sprzedaży: JEŚLI właściwe monety są wpłacone, TO automat wydaje przekąskę. W pewnym sensie automat jest inteligentny, co oznacza, że jest w stanie wykonać swoje zadanie automatycznie i samodzielnie.
Na Ethereum, smart kontrakt może określić, że JEŚLI użytkownik otrzyma sumę do swojego portfela, TO 10% jest przekazywane do drugiego portfela odłożonego na długoterminowe oszczędności.
Większość smart kontraktów jest obecnie tworzona w języku programowania o nazwie Solidity, który został powołany do życia przez tych samych inżynierów programowania, którzy są odpowiedzialni za wczesne wersje Ethereum. Solidity obsługuje tworzenie smart kontraktów, które są bardziej zaawansowane niż proste modele instrukcji warunkowych.
Smart kontrakty są wykonywane przez Ethereum Virtual Machine, platformę programowania, która jest instalowana na węzłach Ethereum razem z kopiami transakcji blockchain. Obecnie istnieją EVM, które pozwalają na tworzenie smart kontraktów w C++, C#, Go, Java, JavaScript, Python, Ruby, Rust, Elixir, Erlang, oraz innych językach programowania. Narzędzia do programowania wizualnego, takie jak EtherScripter pełnią funkcję wirtualnego środowiska, które pozwala na tworzenie smart kontraktów bez potrzeby pisania kodu w języku programowania.
Podobnie jak inne informacje na blockchainie, smart kontrakty są niezmienne, co oznacza, że nie można ich zmienić, gdy są już wdrożone; oraz nieodwracalne, co oznacza, że nie można ich usunąć. Większość deweloperów udostępnia do wglądu kod źródłowy swoich smart kontraktów, dzięki czemu użytkownicy mogą być pewni, że ich środki (w części lub całości) nie zostaną przeniesione do portfela dewelopera.
Wszystkie zdecentralizowane aplikacje finansowe oparte na blockchainie i inne dAppy bazują na smart kontraktach.
UWAGA
Tekst ma charakter informacyjny i nie stanowi rekomendacji inwestycyjnej. Nie wyraża on osobistej opinii autora ani serwisu. Każda inwestycja lub handel jest ryzykowny, przeszłe zyski nie są gwarancją przyszłych zysków – ryzykuj tylko te aktywa, które jesteś gotów stracić.