Nowe Technologie i Branża IT
Milena Waloszek
Milena Waloszek
14 sierpnia 2019

Smart kontrakt – podstawowe informacje

Samo określenie smart contract jest nieco mylące, ponieważ w rzeczywistości, nie zawsze będzie to umowa rozumiana w sposób tradycyjny. Oczywiście nie można wykluczyć sytuacji, w której inteligentny kontrakt może stać się umową funkcjonującą z powodzeniem w obrocie gospodarczym, jeżeli będzie spełniał warunki określone w przepisach prawa.

Inteligentny kontrakt jest kawałkiem kodu sporządzonego w języku programowania (np. Solidity lub Serpent), funkcjonującym w technologii blockchain lub innej technologii rozproszonego rejestru (DistributedLedger Technology, DLT). Kod smart kontraktu jest uruchamiany po to, żeby spełniać oraz egzekwować wcześniej ustalone warunki.

Immanentną cechą inteligentnego kontraktu, a zarazem odróżniającą go od tradycyjnych umów, jest jego samowykonywalność. Przy procesie zawierania, a następnie wykonywania tradycyjnej umowy, zwykle uczestniczą też podmioty trzecie, takie jak bank, agent lub notariusz. Smartcontract nie potrzebuje pośrednika i wykonuje się automatycznie. W przypadku spełnienia wcześniej określonych w nim zasad, dochodzi do wyegzekwowania jego warunków na zasadzie instrukcji – jeżeli występuje zdarzenie x, to następuje y. Do smart kontraktu możemy „wrzucić” również klauzule, które pojawiają się w naszych tradycyjnych umowach, np. dotyczące kar umownych. Niejednokrotnie zdarza się, że nasz kontrahent opóźnia się z dostarczeniem towaru w wyznaczonym terminie. Inteligentna umowa zadziałałaby w ten sposób, że po przekroczeniu umówionego terminu zostaje automatycznie pobrana kwota X za każdy dzień opóźnienia w dostawie. Dzięki temu można uniknąć walki z niesolidnym kontrahentem, wizyty u prawnika i stawiania się w sądzie na rozprawach.  Przy tradycyjnej umowie to sąd może egzekwować jej warunki, w inteligentnym kontrakcie egzekwuje je program komputerowy.

Niezastąpione w wyjaśnianiu oczywiście są przykłady. Przedstawmy sobie więc przebieg działania smart conracts na przykładzie inteligentnego kontraktu dotyczącego stworzenia kampanii crowdfundingowej. Załóżmy, że w ramach takiej kampanii początkujący artysta zamierza uzbierać kwotę X na nagranie swojego pierwszego albumu studyjnego. Przebieg tego rodzaju kampanii można przedstawić w następujący sposób:

  1. Artysta ustala kwotę, jaka jest potrzebna na sfinansowanie nagrania albumu oraz wskazuje termin zakończenia takiej kampanii.
  2. W trakcie trwania kampanii wspierający, czyli osoby, które są zainteresowane jej wspieraniem, mają możliwość dokonania wpłaty kryptowaluty np. Etheru na konto inteligentnego kontraktu.
  3. Zebrane w ramach kampanii fundusze zostają zgromadzone na koncie inteligentnego kontraktu.
  4. Po zakończeniu kampanii, zgodnie z wyznaczonym wcześniej terminem, artysta sprawdza, czy osiągnięto zamierzony cel i została zgromadzona ustalona kwota.
  5. W przypadku osiągnięcia docelowej kwoty, zgromadzone fundusze trafiają automatycznie do artysty.
  6. Natomiast w sytuacji, gdy nie udało się uzbierać zamierzonej kwoty, wniesione środki zostają automatycznie zwracane wspierającym.

W przypadku inteligentnego kontraktu zostaje pominięta funkcja platformy (np. Indiegogo, Kickstarter itp.), która jest formą pośrednika pomiędzy wspierającymi a twórcami w ramach danej kampanii. Z uwagi na to, że wszystko dzieje się na blockchainie, nikt w rzeczywistości nie ma kontroli nad funduszami. Cały proces wydaje się znacznie bezpieczniejszy niż w przypadku tradycyjnych umów. Dodatkowo zdarza się, że niektóre platformy pobierają określone opłaty za pośrednictwo w tego rodzaju procesie, a w przypadku smartcontracts odbywa się to bez dodatkowych kosztów.

Wyrocznie i kryptografia

Patrząc na zaprezentowany przykład kampanii crowdfundingowej można zauważyć, że właściwie zarówno samo zawarcie inteligentnego kontraktu, jak i jego wykonanie może odbywać się jedynie w cyberprzestrzeni, bez konieczności odwoływania się do świata realnego. Może się jednak zdarzyć, że określone dane z zewnątrz okażą się niezbędne do wykonania inteligentnego kontraktu. Smartcontractsam dokonuje weryfikacji w zakresie wiarygodności dostarczanych informacji, dlatego potrzebuje do tego rzetelnych oraz zaufanych źródeł, w tym miejscu mogą być wykorzystywane tzw. wyrocznie (oracles). Wyrocznie mogą wyszukiwać i weryfikować informacje ze świata zewnętrznego, np. informacje o pogodzie, statystykach sportowych itp., a następnie przekazywać je do blockchaina, tak, żeby mogły zostać odpowiednio wykorzystane przez smart kontrakty.

W inteligentnych kontraktach istotną rolę odgrywa także kryptografia (choć technicznie smart kontrakty nie są kryptograficzne). Jednak to właśnie zabezpieczenia kryptograficzne wykorzystywane w blockchainiesprawiają, że inteligentne kontrakty cieszą się tak dużym zaufaniem. Smart kontrakty poprzez umieszczenie na zdecentralizowanym blockchainie, powodują, że jakakolwiek zmiana w inteligentnym kontrakcie nie może odbyć się bez powiadomienia pozostałych uczestników sieci. Informacja umieszczona w danym bloku musi zostać zaszyfrowana z wykorzystaniem kluczy: prywatnego oraz publicznego. Klucz prywatny służy do składania podpisu cyfrowego, z kolei publiczny do jego weryfikacji, czyli pozwala nam na sprawdzenie autentyczności informacji. Transakcja, która została raz zapisana, pozostaje w bloku na zawsze, bez możliwości ponownej edycji rejestru.

W przeciwieństwa do umów tradycyjnych smart kontrakty wydają się zatem bezpieczniejsze i pozwalają na uniknięcie dodatkowych kosztów (np. pośredników), a do tego całość przebiega sprawniej, w sposób automatyczny.

Czy inteligentne kontrakty mają jakieś wady?

 Na pewno trudności będą się pojawiały w przypadku błędów w kodzie i ustalaniu odpowiedzialności za takie błędy. Kod został przecież stworzony dzięki pracy człowieka, który nie jest nieomylny.

Jeżeli pojawią się błędy w oprogramowaniu zawsze może to wpłynąć na prawidłowość wykonania inteligentnego kontraktu. Jeszcze przed uruchomieniem smart kontraktu można spróbować dokonać odpowiedniej weryfikacji w zakresie jego zgodności z tradycyjną wersją umowy, dokładności danych itp. Wydaje się, że odpowiednią osobą do tego rodzaju czynności mógłby być właśnie prawnik.

Problematyczna zawsze pozostaje też kwestia formy inteligentnego kontraktu. W przypadku smart kontraktu umowa jest zawierana w formie elektronicznej, a przecież prawo niekiedy narzuca nam tzw. formy szczególne (np. formę aktu notarialnego). Przykładowo, żeby skutecznie przenieść majątkowe prawa autorskie, konieczna jest forma pisemna. Jak rozwiązać to na gruncie smart kontraktu? Być może na tę chwilę dobrym rozwiązaniem byłoby połączenie umowy tradycyjnej z inteligentnym kontraktem. Mówiąc w dużym uproszczeniu – to, co mogłoby przebiegać sprawniej, w sposób automatyczny (np. przelew pieniędzy za sprzedaż praw), można zawrzeć w smart kontrakcie, a pozostałe kwestie zachować dla tradycyjnej umowy sporządzonej w formie papierowej. Korzystnym uzupełnieniem byłaby współpraca prawnika i informatyka przy tworzeniu postanowień kodowanych w smart kontrakcie, na pewno w jakimś stopniu pozwoliłoby to na zniwelowanie ryzyka związanego z ewentualną interpretacją prawną postanowień w nim zawartych.

Przy zawieraniu tradycyjnej umowy ważnym aspektem jest wzajemne zaufanie stron. W przypadku inteligentnego kontraktu wydaje się, że istotniejsze staje się zaufanie do możliwości technicznych takiego kontraktu. Smart kontrakty to dla nas wciąż nowy obszar, gdzie większość z nas nie rozumie w pełni podstaw jego funkcjonowania. Stąd również wymaga się od nas zaufania, przy czym bardziej wobec techniki oraz prawidłowości jej działania, niż wobec podmiotu znajdującego się po drugiej stronie, który często przecież jest anonimowy.

Udostępnij ten artykuł

Artykuły

facebooktwitterlinkedin