Smart kontrakty: gdy kod wykonuje zasady
Blockchain nie musi służyć wyłącznie do przesyłania kryptowalut. Potrafi też przechowywać i wykonywać wcześniej zaprogramowane zasady. Właśnie na tej zasadzie działają smart kontrakty – programy zapisane na blockchainie, które po spełnieniu określonych warunków automatycznie wykonują daną akcję. Mogą na przykład przesłać token, wymienić aktywa cyfrowe, zarządzać zabezpieczeniem pożyczki lub wyemitować NFT.
Czym jest smart kontrakt
Nazwa może być nieco myląca. Smart kontrakt niekoniecznie jest umową w sensie prawnym i nie jest „inteligentny” w takim znaczeniu jak sztuczna inteligencja. To po prostu program, który zawiera z góry ustalone zasady i zgodnie z nimi wykonuje określone operacje.
Jego zasadę działania można podsumować prosto: jeśli wystąpi warunek A, wykonaj akcję B. Smart kontrakt nie podejmuje więc decyzji i nie próbuje zrozumieć intencji użytkownika. Wykonuje jedynie to, co zostało w nim zaprogramowane.
Smart kontrakt jako automat sprzedający
Dobrą analogią jest automat sprzedający. Wkładamy odpowiednią kwotę, wybieramy produkt, a automat go wydaje. Jeśli warunki nie zostaną spełnione, nic się nie dzieje.
Smart kontrakt działa podobnie. Zamiast fizycznego automatu mamy program na blockchainie, a wynikiem może być na przykład przesłanie kryptowaluty, wyemitowanie tokena lub wykonanie operacji finansowej.
Smart kontrakt nie podejmuje decyzji. Wykonuje.
Dlaczego powstały smart kontrakty
Przy transakcji między dwiema osobami, które się nie znają, pojawia się problem zaufania: kto jako pierwszy powinien wywiązać się ze swojej części umowy?
W tradycyjnym systemie tę rolę często pełnią banki, giełdy, depozytariusze lub firmy płatnicze. Smart kontrakt pozwala część tej roli przenieść do programu.
Na przykład przy wymianie aktywów cyfrowych kupujący może wpłacić środki do smart kontraktu, a sprzedający – wymagane aktywo. Jeśli oba warunki zostaną spełnione, kontrakt automatycznie rozlicza obie strony transakcji.

Ethereum i programowalny blockchain
Bitcoin obsługuje pewną logikę programowalną, ale jego główną funkcją pozostaje przesyłanie i przechowywanie wartości cyfrowej. Ethereum rozwinęło tę ideę i umożliwiło uruchamianie na blockchainie bardziej ogólnych programów.
Dzięki temu powstała znaczna część dzisiejszego świata aplikacji zdecentralizowanych. Smart kontrakty stoją dziś na przykład za zdecentralizowanymi giełdami, DeFi, stablecoinami, NFT czy tokenizowanymi aktywami.
Korzystanie ze smart kontraktów coś kosztuje
Każda operacja na blockchainie wymaga zasobów obliczeniowych. Na Ethereum koszt tej pracy określa się jako gas.
Im bardziej złożoną operację wykonuje smart kontrakt, tym wyższa może być opłata. Właśnie dlatego powstają sieci Layer 2, które pozwalają przetwarzać wiele transakcji wydajniej i taniej.
Co powstało dzięki smart kontraktom
Smart kontrakty są podstawą wielu aplikacji blockchainowych. W zdecentralizowanych giełdach mogą sterować wymianą tokenów i zarządzaniem płynnością. W DeFi wykorzystuje się je na przykład przy pożyczkach, zabezpieczeniach czy wypłacie nagród.
W przypadku stablecoinów mogą sterować ich emisją, przesyłaniem lub zarządzaniem zabezpieczeniem. W NFT określają na przykład własność i zasady przenoszenia. Ważną rolę odgrywają również przy tokenizacji aktywów, gdzie token blockchainowy może pod pewnymi warunkami reprezentować konkretne prawo ekonomiczne lub udział w innym aktywie.
Smart kontrakty jako cyfrowe LEGO
Poszczególne smart kontrakty mogą ze sobą współpracować. Ta zasada określana jest jako composability, czyli kompozycyjność.
Można je sobie wyobrazić jako cyfrowe LEGO. Jeden kontrakt może zarządzać stablecoinem, inny zdecentralizowaną giełdą, a kolejny pożyczkami lub danymi cenowymi. Programista może następnie wykorzystać już istniejące kontrakty jako elementy budulcowe nowej aplikacji.
Zaleta wzajemnych powiązań jest jednocześnie ryzykiem. Jeśli jedna aplikacja zależy od kilku innych kontraktów, problem w jednym z nich może przenieść się dalej.
Smart kontrakt nie widzi realnego świata
Smart kontrakt dobrze operuje na informacjach zapisanych na blockchainie. Sam jednak nie zna na przykład aktualnej ceny złota, kursu EUR/USD, wyniku meczu sportowego ani tego, czy przesyłka została dostarczona.
Jeśli potrzebuje informacji ze świata zewnętrznego, korzysta z tak zwanych oracle. Służą one jako most między blockchainem a danymi zewnętrznymi.
Powstaje przez to jednak kolejne ryzyko. Jeśli oracle dostarczy błędne dane, smart kontrakt może poprawnie wykonać złą akcję. Bezpieczeństwo systemu zależy więc nie tylko od jego kodu, ale też od jakości wykorzystywanych danych.

Kod robi dokładnie to, co jest napisane
Przewidywalność należy do głównych zalet smart kontraktów, ale zarazem do ich słabości. Program nie wie, co zamierzał programista. Wykonuje jedynie to, co faktycznie zaprogramowano.
Znanym przykładem jest projekt The DAO z 2016 roku, gdy błąd w smart kontrakcie został wykorzystany do wyprowadzenia około 3,6 miliona ETH. Ten przypadek pokazał, że blockchain może poprawnie wykonywać zasady, ale jeśli błąd tkwi w samym programie, decentralizacja go automatycznie nie naprawi.
Zdecentralizowany blockchain nie oznacza automatycznie zdecentralizowanej aplikacji
Smart kontrakt może działać na zdecentralizowanym blockchainie, ale aplikacja wokół niego może wciąż zawierać elementy scentralizowane. Niektóre kontrakty można aktualizować, wstrzymywać lub zarządzać nimi za pomocą kluczy administratora czy multisig.
Dlatego nie wystarczy wiedzieć, że usługa korzysta z blockchainu. Ważniejsze jest ustalenie, kto może zmieniać jej zasady i które części systemu nadal wymagają zaufania do konkretnych osób lub infrastruktury.
Zalety i ryzyka smart kontraktów
Do głównych zalet należą automatyzacja, transparentność, programowalność, kompozycyjność oraz globalna dostępność. Smart kontrakty umożliwiają tworzenie aplikacji, których zasady mogą być wykonywane automatycznie, bez ręcznej ingerencji.
Z drugiej strony istnieją ryzyka błędów w kodzie, nieprawidłowych danych z oracle, uprawnień administratora, zależności od innych kontraktów lub samej sieci blockchain. Ryzykiem może być też zachowanie użytkownika, na przykład potwierdzenie szkodliwej transakcji lub skorzystanie z fałszywej aplikacji.
Co sprawdzić przed użyciem
Przeciętny użytkownik nie musi umieć czytać kodu programistycznego. Powinien jednak zainteresować się tym, kto stworzył aplikację, jak długo działa, czy jej kontrakty przeszły audyt, czy można je aktualizować i kto sprawuje nad systemem kontrolę administracyjną.
Im bardziej złożona jest aplikacja, tym ważniejsze jest zrozumienie, że jej bezpieczeństwo zależy nie tylko od jednego smart kontraktu, ale od całej architektury wokół niego.
Podsumowanie
Smart kontrakt to w swojej istocie prosta koncepcja: program na blockchainie otrzymuje określone dane wejściowe, sprawdza z góry ustalone zasady i wykonuje konkretną akcję. Dzięki temu blockchain rozszerzył się od prostego przesyłania kryptowalut po aplikacje finansowe, aktywa cyfrowe i zautomatyzowane procesy.
Smart kontrakty nie eliminują jednak całkowicie zaufania ani ryzyka. Zaufanie jedynie się przesuwa – od pośredników w stronę kodu, danych i osób, które mogą kontrolować lub zmieniać system.
Nie wystarczy więc wiedzieć, że aplikacja „korzysta ze smart kontraktów". Ważne jest zrozumienie, co kontrakt faktycznie robi, skąd czerpie informacje, kto ma nad nim kontrolę i od czego zależy.
Ten tekst służy wyłącznie celom informacyjnym i edukacyjnym i nie stanowi porady inwestycyjnej. Kryptoaktywa są zmienne i możesz stracić całą zainwestowaną kwotę.
Author
Tomáš Bára
Stablecoiny: cyfrowe pieniądze między kryptowalutami a tradycyjnymi finansami
Bitcoin i Ethereum pokazały, jak bardzo zmienny może być świat kryptowalut. Właśnie dlatego jedną z najważniejszych części tego rynku stały się stablecoiny – aktywa, których celem jest niezmienianie swojej wartości. Dowiedz się, co utrzymuje ich cenę na stabilnym poziomie, czym różnią się USDC, USDT czy tokeny zabezpieczone kryptowalutami oraz co pokazał upadek TerraUSD.
Layer 1 i Layer 2: dlaczego blockchain potrzebuje kolejnych warstw
Bitcoin i Ethereum pokazały, że blockchain może działać bez centralnej władzy. Wraz ze wzrostem liczby użytkowników pojawiły się jednak ograniczenia wydajności i rosnące opłaty. Dowiedz się, jak Layer 1 tworzy bezpieczny fundament i jak rozwiązania Layer 2, takie jak Lightning Network czy rollupy, pomagają mu obsłużyć większy ruch.