Smart kontrakty – co to jest i jak działa?
Podstawą technologii blockchain, na której opierają się kryptowaluty, są smart kontrakty. Pewnie wielu z was coś o nich słyszało, ale dokładnie nie wie jak działają i co dokładnie ten zwrot oznacza. Warto dowiedzieć się dokładniej, bo to przyszłość nie tylko świata cyfrowych finansów, ale szeroko pojętej ekonomii i biznesu.
Najprościej rzecz ujmując: smart kontrakt jest umową, która spisana jest w komputerowym kodzie. To jednak coś więcej niż tradycyjne postulaty czy podpunkty, które muszą spełnić strony zawierające umowę. W przypadku smart kontraktu jest bowiem automatyczne zabezpieczenie. Jeśli warunki zostaną przez wszystkich spełnione, umowa zostanie automatycznie zrealizowana. Jeśli nie – nie ma co liczyć na negocjacje, przedłużenie terminu czy inne tego typu sytuacje. Tu wszystko odbywa się jak na informatykę przystało – zerojedynkowo.
Czym są smart kontrakty?
Smart kontrakty to więc stworzone przez programistów kody, które zawierają przede wszystkim warunki, jakie muszą zostać spełnione, by umowa weszła w życie. Określa się więc wszystkie ramy umowy: to, co ma zostać zrobione, kiedy, za ile itp. Dopiero, gdy obie strony (lub więcej, jeśli tak stanowi umowa) wypełnią wszystkie zadania, umowa zostaje zawarta i np. pieniądze za usługę są przelewane. Ale słowo „smart” w kontraktach oznacza jeszcze więcej. Kod nie musi zawierać sztywnych warunków, bo może między innymi… negocjować kwotę zapłaty, prosić o zmianę warunków umowy, przedłużenie czasu czy sprawdzać inne dane. Zasada jest prosta – wszystko musi odbywać się w ramach zasad ustalonych przez strony umowy. Nie wymaga jednak ich zaangażowania, bo wszystkim zajmują się programy.
Czy smart kontrakty są bezpieczne?
Krótko i konkretnie: tak. Właśnie dlatego tak szybko zdobyły popularność i są coraz szerzej stosowane. Są one bowiem odpowiednikiem sieci blockchain – niemożliwe do złamania, zhakowania czy oszukania. Nie da się w nich nic zmienić, naciągnąć zasad czy wykorzystać ich do niecnych celów. Oparte są bowiem na kryptografii i funkcji haszujacej. Całość jest zdecentralizowana w rozproszonym rejestrze danych. Najbardziej obrazowo przedstawia to fakt, że nawet gdyby do rozszyfrowania tylko jednego smart kontraktu zostały użyte wszystkie obecnie istniejące na świecie komputery, które jakimś cudem udałoby się połączyć w jedną sieć, i tak szanse hakerów na pokonanie zabezpieczeń smart kontraktu wciąż byłyby jedynie czysto teoretyczne.
Jak postawić smart kontrakt
Aby powstał smart kontrakt, zacząć trzeba tradycyjnie: musi być umowa pomiędzy stronami, choć nie ma znaczenia czy jest parafowana pisemnie, potwierdzona notarialnie czy potwierdzona uściskiem dłoni. I tak wszystkie ustalenia muszą być przełożone na język programowania. Z reguły smart kontrakty powstają w najbardziej popularnych językach C++, Java czy Solidity, ale pisane mogą być we wszystkich. Wszystko zależy od tego jaki język obsługuje sieć blockchain, w której zostanie on umieszczony.
Smart kontrakt może określać zarówno warunki konieczne do spełnienia umowy, jak i kary dla stron, które się z umowy nie wywiążą. Oczywiście wszystko odbywa się automatycznie na zasadzie znanych w informatyce od dziesięcioleci „ifów” (ang. IF, jeśli). Każda akcja (lub brak akcji) ciągnie za sobą reakcję. Tylko, że jest to reakcja wcześniej ustalona. Może to być kara, nagroda, czy zmiana parametrów – choćby wysokości oprocentowania.
Kto stworzył smart kontrakty?
Twórcą smart kontraktów jest amerykański naukowiec i kryptograf Nick Szabo. To on wymyślił, że samowykonujące się kontrakty mogą z powodzeniem działać w zdecentralizowanym rejestrze. Swój pomysł ogłosił już w 1994 roku. Wtedy smart kontrakty porównywano do automatów ze słodyczami lub napojami: wystarczy wrzucić monety, a automat udostęnia nam konkretny produkt. Jego idea weszła w życie wraz z rozwojem technologii blockchain, a przede wszystkim po upowszechnieniu sieci Ethereum.
Zalety smart kontraktów
Autonomiczność: smart kontrakty nie potrzebują zaufania stron umowy, nie muszą się one choćby znać, albo kiedykolwiek spotkać. Wystarczy, że ustalą zasady. Smart kontrakty działają automatycznie i realizują wszystkie zapisane wcześniej podpunkty umowy. Nie trzeba do tego żadnego udziału uczestników.
Bezpieczeństwo: smart kontrakty są odporne na wszelkie ingerencje z zewnątrz i to niezależnie od tego, czy ma zamiar dokonywać ich jedna ze stron czy ktoś z zewnątrz. W obu przypadkach jest to niemożliwe, a smart kontrakt działa tak, jak został zaprogramowany.
Transparentość: każda ze stron może szczegółowo przeanalizować przebieg transakcji i wykonanie umowy. Smart kontrakty są też otwartoźródłowe, więc każdy może użyć ich kolejny raz, albo na podstawie oprogramowania wprowadzić do nich swoje dane i szybko uruchomić nowy, dedykowany konkretnej sprawie smart kontrakt.
Kto i gdzie używa smart kontraktów
Smart kontrakty mogą być stosowane w praktycznie każdej branży. Obecnie najpopularniejsze są w świecie kryptowalut, zwłaszcza podczas ICO. Widzimy ogłoszenie, że powstanie platforma blockchain lub nowa kryptowaluta (a najczęściej jedno i drugie) i możemy zainwestować w pojawiające się na rynku tokeny. Na razie ich nie ma, ale blokujemy konkretne środki na ich wykup. I tu zaczyna działać prosty smart kontrakt – nasze pieniądze są bezpieczne, bo nikomu ich nie przekazaliśmy. Trafią do obiorcy dopiero wtedy, gdy na nasz rachunek zostaną przekazane tokeny. Z kolei emitent nie przekaże nam tokenów, dopóki nie zdeponujemy konkretnej kwoty. Obie strony są bezpieczne i nic nie ryzykują, bo dopiero gdy spełnione będą oba warunki, dochodzi do przekazania tokenów.
Ale smart kontrakty znajdą też zastosowanie w branżach, uważanych do tej pory za tradycyjne. Choćby w handlu nieruchomościami. Dziś mamy pośredników, agentów, bank udzialający kredytu, notariusza lub prawnika. A wystarczy jeden smart kontrakt, w którym zostaną zapisane wszystkie warunki. Będzie w nim pełna historia zarówno nieruchomości, jak i nabywcy. Po potwierdzeniu wszystkich warunków umowa będzie automatycznie akceptowana. Pomoże w tym cyfrowe ID, także zapisane w sieci blockchain.
Smart kontrakty można wykorzystać także podczas głosowania, którego nie będzie można sfałszować. I nie jest to odległa przyszłość, bo z takich rozwiązań korzystają już m.in. Estonia czy Zachodnia Wirginia.
W niedalekiej przyszłości smart kontrakty będą też służyć śledzeniu lokalizacji w łańcuchu dostaw, co pomoże w obniżeniu kosztów i zmniejszy marnowanie żywności. Już dziś smart kontrakty są bowiem obsługiwane przez kilkadziesiąt sieci.