Inteligentne umowy lub smart kontrakty to protokoły lub oprogramowanie, które mogą zastąpić standardowe umowy papierowe. Podobnie jak wersja papierowa, elektroniczne inteligentne kontrakty zapisują warunki kontraktu i mogą wyegzekwować ich wykonanie. Eliminują one jednak konieczność zawierania papierowej umowy między dwiema stronami.
Historia inteligentnych kontaktów
Inteligentne kontrakty zostały po raz pierwszy wprowadzone w 1994 roku przez Nicka Szabo, amerykańskiego eksperta komputerowego, który 4 lata później w 1998 roku, wymyślił także wirtualną walutę o nazwie Bit Gold. Na całe 10 lat przed wynalezieniem Bitcoina. Nic dziwnego, że Nick Szabo jest często „podejrzewany” o bycie prawdziwym Satoshi Nakamoto, anonimowym wynalazcą Bitcoina.
Szabo zdefiniował inteligentne kontrakty jako „skomputeryzowane protokoły transakcji, które spełniają warunki umowy”.
We wczesnym projekcie inteligentnych kontraktów Szabo opisał również zastosowanie inteligentnych kontraktów do powszechnie handlowanych aktywów, takich jak instrumenty pochodne i obligacje. Jak to wtedy ujął: „Bardzo złożone struktury kontraktów terminowych na płatności mogą być teraz wbudowane w standaryzowane kontrakty i obracane przy niskich kosztach transakcyjnych„.
Wiele z przewidywań zawartych w „artykule” Szabo wyprzedziło technologię blockchain o wiele lat, a jednak się sprawdziły. Na przykład dzisiejszy handel instrumentami pochodnymi odbywa się głównie za pośrednictwem sieci komputerowych z wykorzystaniem złożonych struktur kontraktów terminowych – dokładnie tak jak przewidział.
Na jakiej zasadzie działają inteligentne kontrakty?
Nick Szabo, pionier inteligentnych kontraktów, opisuje inteligentne kontrakty na łatwym do zobrazowania przykładzie automatu z napojami. Kiedy wrzucisz monetę dostaniesz drinka, albo zwrot pieniędzy.
Prosty program działający w jednostce centralnej automatu sprawdza autentyczność monet, ilość wrzuconych pieniędzy i dokonuje zwrotu nadpłaty, a w razie potrzeby anuluje zakup. Ten program stanowi wyimaginowany inteligentny kontrakt, który gwarantuje każdemu, kto ma wystarczającą ilość gotówki, że dostanie napój za z góry określoną kwotę.
Innym prostym przykładem jest „program księgowy”, który śledzi stan konta karty SIM w telefonie komórkowym. Dopóki masz wystarczającą ilość środków, możesz wykonywać połączenia i korzystać z innych usług oferowanych przez operatora sieci komórkowej. Gdy stan konta spadnie do zera, program zawiesza usługi i informuje użytkownika o niewystarczającym stanie konta. Wszystko to odbywa się automatycznie, bez udziału człowieka.
Video: Jak działają smart kontrakty?
Jakie są zalety inteligentnych kontraktów? Dlaczego mają szansę na sukces?
Inteligentne kontrakty działają w oparciu o technologię blockchain, zapewniając bezpieczeństwo, efektywność kosztową, szybkość i standaryzację wszystkich procesów działających w oparciu o tę technologię.
Bezpieczeństwo inteligentnych umów
Inteligentne kontrakty są zaszyfrowane i rozproszone pomiędzy węzłami. W praktyce przynosi to ogromną korzyść, ponieważ ta cecha inteligentnych kontraktów gwarantuje, że kontrakt nie może zostać utracony lub zmieniony bez zgody jego użytkownika.
Efektywność kosztowa i szybkość
Inteligentne kontrakty działają w oparciu o zautomatyzowane procesy, a ponadto większość pośredników jest wyeliminowana, więc inteligentne kontrakty mają potencjał by oszczędzać czas i dlatego są bardzo opłacalne.
Standaryzacja
Obecnie istnieje już wiele różnych rodzajów inteligentnych kontraktów. Możesz wybrać ten, który najbardziej ci odpowiada i używać go zgodnie ze swoimi potrzebami.
Jakie są wady inteligentnych kontraktów? Dlaczego mogą zawieść?
Jak wszędzie, inteligentne kontrakty nie są doskonałe. Istnieją pewne ograniczenia, które mogą być przeszkodą w ich przyszłym wykorzystaniu. Należą do nich: kwestia czynnika ludzkiego, niepewny status prawny i koszty wdrożenia.
Czynnik ludzki
Ludzie piszą kod i nie są nieomylni, więc w kodach mogą pojawić się błędy. Jeśli smart kontrakt jest już w blockchainie, jest on niezmienialny. Dobrym przykładem ludzkiego błędu były w 2016 roku problemy projektu DAO. Błędy programistów w kodzie okazały się bardzo kosztowne i zapłacili za nie przede wszystkim jego użytkownicy. Hakerzy zdołali wykorzystać błędy w kodzie i ukradli około 60 milionów dolarów.
Niepewny status prawny
Obecnie nie ma rządu, który specjalnie regulowałby wykorzystanie inteligentnych kontraktów w swoim systemie prawnym. W związku z tym, gdy rządy zdecydują się na stworzenie ram prawnych dla inteligentnych kontraktów, może pojawić się wiele trudności.
Koszty wdrożenia
Inteligentne kontrakty nie mogą być aktywnie wykorzystywane bez usług programistów. Dlatego konieczne jest posiadanie wysokiej jakości kodera lub całego działu IT, aby zapewnić wykorzystanie odpornych na błędy inteligentnych kontraktów i wdrożenie struktury blockchain na potrzeby firmy.
Jakie kryptowaluty używają inteligentnych kontraktów?
W ostatnich latach, dzięki odporności inteligentnych kontraktów na manipulacje, powstało wiele platform do ich tworzenia i realizacji, a wiele z nich jest wykorzystywanych w praktyce. Które kryptowaluty umożliwiają korzystanie z mądrych kontraktów?
Bitcoin
Choć głównym celem innowacyjnego Bitcoina było stworzenie zdecentralizowanej waluty, niezmienność i przejrzystość jego protokołu zainspirowała do stworzenia protokołów, które są ograniczoną formą inteligentnych kontraktów.
Bitcoin oferuje język programowania, który umożliwia dokonywanie transakcji na określonych, predefiniowanych warunkach.
Ethereum
Druga co do wielkości kryptowaluta, Ethereum, podobnie jak Bitcoin, ma niezmienny blockchain z procedurami konsensusu, które są podobne do tych na blockchainie Bitcoina.
Inteligentne kontrakty są kodowane za pomocą języka programowania bytecode (stąd Solidity), za pomocą którego użytkownicy tworzą inteligentne kontrakty i dostosowują ich funkcje do swoich aktualnych potrzeb. Kontrakty te są weryfikowane w każdym węźle sieci (nody). Użytkownicy mogą m.in. wysyłać i odbierać monety etheru.
Stellar Lumens
Stellar ma publiczny blockchain, który jest kontrolowany przez algorytm konsensusu. W odróżnieniu od Ethereum, do pisania skryptów inteligentnych kontraktów nie używa się żadnego specyficznego języka, jednak możliwe jest zebranie pewnych transakcji i zapisanie ich na blockchainie. Dlatego Stellar może być również używany do wdrażania podstawowych form inteligentnych kontraktów.
Poza wymienionymi wyżej kryptowalutami, inteligentne kontrakty w różnych formach działają również na platformach Counterparty, NEO czy Cardano.
Jak system prawny w Polsce postrzega inteligentne kontrakty?
Z nielicznymi wyjątkami polski kodeks cywilny przewiduje zasadę swobody wyboru formy umowy. Taką formą może być np. algorytm inteligentnych kontraktów. Jeśli obie strony zgadzają się co do treści umowy i możliwe jest wyrażenie tej treści w języku programowania, to taki „dokument” może stanowić pewnego rodzaju umowę.
Aby kontrakt był inteligentny, musi spełniać 4 podstawowe kryteria:
- Kontrakt musi zarejestrować jego zawartość.
- Musi on zidentyfikować strony, które „podpiszą „ kontrakt, przy czym za wystarczający można uznać klucz prywatny użytkownika blockchaina, a po jego dołączeniu można uznać, że smart kontrakt został podpisany.
- Obie strony muszą zawrzeć umowę dobrowolnie i być gotowe do przestrzegania jej treści. To właśnie robi inteligentny kontrakt, z tą różnicą, że treść kontraktu jest zapisana w konkretnym języku programowania.
- Należy zachować cechy charakterystyczne dla danego kontraktu. Istnieją jednak również umowy w formie ustnej, więc dopóki od inteligentnej umowy nie wymaga się formy pisemnej, nic nie stoi na przeszkodzie jej ważności.
Wreszcie, inteligentny kontrakt musi zostać zawarty zgodnie z wymogami polskiego prawa – musi istnieć oferta zawarcia umowy i możliwość jej przyjęcia lub odrzucenia. Treść napisana przez algorytm inteligentnego kontraktu powinna więc spełniać przynajmniej podstawowe wymogi umowne, tak by umowa mogła zostać zawarta przez zwykłą akceptację.
Przykład inteligentnego kontraktu w praktyce
Przykładem prawdziwie stosowanego inteligentnego kontraktu jest program umieszczony w wirtualnym środowisku sieci Ethereum. Ten kontrakt jest gwarantowany przez sieć, że zostanie rozliczony zgodnie z warunkami zapisanymi w jego kodzie źródłowym, który jest publicznie dostępny. Poszczególni użytkownicy mogą przeglądać kod źródłowy, a także obserwować jego działanie dzięki publicznemu blockchainowi.
Kontrakt pozwala dwóm stronom wpłacić na konto kontraktu kwotę np. 5 Etherów, co daje w sumie 10 ETH, które stanowią kapitał kontraktu. Kwota ta jest wypłacana obu stronom tylko wtedy, gdy obie potwierdzą pomyślne rozliczenie kontraktu.
Jeśli transakcja nie przebiega zgodnie z warunkami, np. kupujący próbuje okraść sprzedającego lub na odwrót, Eter od zleceniodawcy nie jest wypłacany i obaj użytkownicy go tracą. Zakładając, że wpłacona kwota jest większa niż wartość transakcji, obaj użytkownicy mają ekonomiczną motywację, by przeprowadzić transakcję zgodnie z ustalonymi warunkami. Obie strony zaufały kontrahentowi do wysokości zdeponowanej kwoty, że druga strona jest zainteresowana dokończeniem transakcji zgodnie z warunkami. Wywiązują się z umowy i odzyskują kapitał.