icon-search

Smart kontrakty: cyfrowa umowa w blockchainie zamiast papieru i notariusza

Michał Kręglewski 04.06.2018

Rok 2017 minął nam niewątpliwie pod znakiem kryptowalut – w pewnym momencie wartość 1 bitcoina przekroczyła 20 tysięcy dolarów. Rynek kryptowalutowy, to wciąż jednak przede wszystkim spekulacja, obstawianie ile warte mogą być wirtualne waluty, gdy ruszy już zbudowana na nich nowa gospodarka. Oczywistym jest jednak, że gospodarki na samych spekulacjach się nie zbuduje. Tym, co jest w stanie przynieść prawdziwą ekonomiczną wartość to blockchain – technologia stojąca za kryptowalutami, a w szczególności tzw. smart kontrakty. Inteligentne umowy to systemy umożliwiające każdemu podpisywanie z nieznajomymi osobami wiążących kontraktów bez potrzeby korzystania z zaufanej trzeciej strony, takiej jak np. notariusz.
Czy pożyczysz przez internet pieniądze nieznajomemu rolnikowi z Pakistanu? Czy zainwestujesz 5 euro miesięcznie w niezależnego reportera wojennego, którego śledzisz na Twitterze? Czy udostępnisz mieszkanie nieznajomym turystom, gdy sam wyjedziesz na wakacje? Dzisiaj odpowiedzi na takie pytania brzmią zwykle „nie” – i nic w tym dziwnego. Koszty zawarcia wiążącej umowy w takich sytuacjach mogą wielokrotnie przekraczać wartość przekazanej wartości. A gdyby koszt zawarcia wiążącej umowy był bliski zeru?
Początkowo główną obietnicą kryptowalut takich jak Bitcoin było radykalne obniżenie kosztów transferu pieniędzy, poprzez wyeliminowanie pośredników. To samo obiecują zrobić smart kontrakty dla umów zawieranych między stronami. Smart kontrakt automatycznie uwierzytelnia i wykonuje poszczególne punkty umowy, zgodnie z zapisanymi w jego kodzie warunkami.

cytonn-photography-604680-unsplash

Wrzuć monetę, wyjmij bilet

By lepiej to wszystko zrozumieć, zacznijmy od czegoś namacalnego, najprostszej formy smart kontraktu. Oto automat parkingowy. Zaprogramowane są w nim warunki opłat za postój na parkingu. Kierowca wkłada bilet parkingowy, poznaje cenę postoju i wrzuca do automatu monety. Automat jest fizycznym smart kontraktem, sprawdzającym czy została wrzucona odpowiednia ilość monet. Jeśli jest ich za mało, czeka na kolejne, jeśli jest za dużo, uruchamia procedurę wydania reszty. Po uzyskaniu należytej płatności, uruchamia procedurę zakodowania biletu parkingowego, z którym będzie można wyjechać z parkingu. Niewątpliwie jest to szybsze, lepsze i tańsze rozwiązanie, niż parkingowy w budce, któremu wcześniej wnosiło się opłatę i który ręcznie podnosił szlaban.
Smart kontrakt można rozumieć jako taki zwirtualizowany automat parkingowy. To samodzielnie wykonujący się kod, działający w sieciach przetwarzających blockchain. W sieciach tych przechowuje on niezmienne warunki dla zdefiniowanych transakcji, weryfikując zgłoszone żądania i wykonując je, jeśli są zgodne z tymi warunkami.
Pomysł nie jest wcale taki nowy. W 1994 roku Nick Szabo, prawnik i kryptograf podejrzewany niekiedy o bycie twórcą Bitcoina, zauważył, że rozproszony rejestr blockchain może zawierać więcej niż tylko listę transakcji. Mogą działać w nim specjalne programy – cyfrowe kontrakty, przechowywane i replikowane w blockchainie, nadzorowane przez rozproszoną sieć przetwarzających ją komputerów. Kontrakty te mogą dotyczyć wszelkich cyfrowo zapisywalnych zasobów: pieniędzy, akcji, obligacji, opcji, uprawnień czy informacji. Tak samo jak w wypadku transakcji kryptowalutowych, nie potrzebują one żadnej zaufanej trzeciej strony, zdolnej wymóc dotrzymania warunków umowy.

rawpixel-658247-unsplash

Jak anonimowo wynająć mieszkanie?

Wyobraźmy sobie jak to może działać w sytuacji wynajmu mieszkania. Wynajmujący oferuje mieszkanie z zamkiem cyfrowym. Najemca przesyła na konto wynajmującego oczekiwaną kwotę czynszu oraz kaucję i czeka na przesłanie kodu do otwarcia drzwi do lokalu. Kod ten zostaje przesłany najemcy przez smart kontrakt zaraz w momencie wpłynięcia kwoty na konto.
Dopóki obie strony dopełniają swoich zobowiązań – czynsz jest regularnie płacony, a kod wejściowy jest używany przez najemcę, nie ma problemów. Gdyby jednak najemca nie zapłacił czynszu, nie otrzymałby kodu wejściowego. Gdyby wynajmujący zmienił kod i uniemożliwił korzystanie z mieszkania, smart kontrakt zwróciłby najemcy pieniądze. Oczywiście tak samo w smart kontrakcie zapisane mogą być wszelkiego rodzaju kary umowne (np. odsetki za opóźnienia płatności), dodatkowe obowiązki i kryteria oceny ich spełniania (np. wykonywanie napraw przez wynajmującego).
To wszystko bez podpisywania papierowych umów czy konieczności rejestrowania ich w urzędach: informacje o najmie zapisane w smart kontrakcie mogą być przecież też automatycznie zgłoszone do urzędu skarbowego. Dzięki technikom kryptografii, jedynie zainteresowane strony będą znały wszystkie warunki umowy – wspomniany urząd skarbowy jako strona trzecia może być ograniczony np. wyłącznie do znajomości przychodu wynajmującego, ale już nie będzie znał tożsamości najemcy.

Podpiszemy umowę? Poproszę o programistę

W teorii smart kontrakt można zapisać w dowolnym blockchainie. W praktyce najczęściej robi się to dzisiaj w blockchainie Ethereum, innowacyjnej kryptowaluty, która jako pierwsza pozwoliła na zaprogramowanie w niej praktycznie każdego zadania.
Doczekaliśmy się już kompletnych środowisk programistycznych do pisania smart kontraktów, a nawet specjalistycznych języków programowania. Najważniejszym z nich jest Solidity, przeznaczony właśnie do programowania na Ethereum.

Smart kontraktu sobie w prosty sposób nie „wyklikamy”. Nawet taki doświadczony programista będzie potrzebował poświęcić na początku trochę czasu by niezbyt skomplikowany smart kontrakt napisać i przetestować. A jak będzie w przyszłości? Kto wie, może jeśli smart kontrakty się przyjmą, to na studiach prawniczych pojawią się zajęcia z programowania w Solidity?

rawpixel-580218-unsplash (1)

Wyrocznia wie lepiej

Kto ma weryfikować zajście warunków umów? Jeśli smart kontrakt operuje wyłącznie na cyfrowej informacji, wówczas nie ma problemu: łatwo jest zbudować algorytm sprawdzający zaistnienie pewnych cyfrowych „faktów” (np. pojawienie się ustalonej kwoty na wskazanym koncie). Jednak wystarczy wyjść poza cyfrowy świat, a zaczynają się problemy, w większości wypadków mamy bowiem do czynienia z opiniami – i to nierzadko niezgodnymi ze sobą.
Zwolennicy smart kontraktów nazywają to problemem Wyroczni, niezależnego źródła prawdy, która jest w stanie zweryfikować, czy warunki opisane w smart kontrakcie zostały spełnione (np. właściciel mieszkania zadbał o naprawę poważnej usterki). W teorii uważa się, że taka Wyrocznia mogłaby być np. sztuczną inteligencją, albo też siecią sztucznych inteligencji, oceniających przedstawione im dowody i na tej podstawie podejmujących decyzje. Właściwe decyzje prowadziłyby do wzrostu wiarygodności Wyroczni. Skłaniałoby to strony smart kontraktów do wybierania tych Wyroczni, które cieszą się najwyższą wiarygodnością.
Oczywiście to bardzo optymistyczne założenie. Trudno uwierzyć, że w momencie gdy orzeczenie Wyroczni będzie kolidowało z czyimś interesem, zostanie ono uznane przez niezadowoloną stronę. Jak widzimy, bardziej skomplikowane smart kontrakty wciąż będą wołały o prawników i sądy.

chris-liverani-552652-unsplash (1)

Czy smart kontrakt jest prawnie wiążący?

Odpowiedź na to pytanie brzmi oczywiście: „to skomplikowane” – wszystko będzie zależeć od jurysdykcji, w obrębie której smart kontrakt zachodzi. O ile mają one potencjał do tego, by stać się prawnie wiążącymi umowami, to nie należy ich automatycznie rozumieć jako umowy rozumiane przez sądy.
Ogólnie mówiąc w prawnie wiążącej umowie chodzi o pewną wymianę wartości pomiędzy stronami mogącymi nawiązać ze sobą komunikację w zgodnym z prawem celu. Co mogłoby uniemożliwić nabranie mocy prawnej przez smart kontrakt wynajmu mieszkania?
Wystarczy, że np. najemca okaże się być niezdolny do czynności prawnych, np. jest nastolatkiem – a co za tym idzie nie może zawrzeć skutecznej umowy. Może się okazać też, że dany system prawny nie pozwala wypowiedzieć najemcy umowy z dnia na dzień, nawet jeśli nie płaci czynszu. Takich niuansów jest wiele, a dotyczą praktycznie każdej dziedziny życia regulowanej przez prawo. O ile programistom mogą podobać się ciągi wnioskowań „jeśli X to Y”, to rzeczywistość jest bardziej skomplikowana.
Dlatego nawet jeśli obie strony się zgadzają na warunki smart kontraktu, może okazać się, że z prawnego punkty widzenia ich umowa nic nie znaczy i nie ma prawnej możliwości jej wyegzekwowania. Zarazem jednak prawo nie jest w stanie powstrzymać przetwarzania kodu w blockchainie, smart kontrakt zostaje wykonany, nawet jeśli wykonany być nie ma prawa – zapis w blockchainie jest cyfrowym kamieniem, tu niczego cofnąć ani unieważnić po zajściu warunków transakcji nie można.
Myśląc więc o wykorzystaniu smart kontraktów w swoim biznesie, przede wszystkim należy się upewnić, że rozumiemy swoje prawa, w tym także możliwość ich dochodzenia w kontekście cyfrowych transakcji. W przyszłości całkiem możliwe, że dotyczące większych wartości smart kontrakty staną się przede wszystkim uzupełnieniami umów zawieranych notarialnie, dostarczając sposobu na automatyzację realizacji zobowiązań i obniżenia kosztów.

Smart kontrakty – stan na dziś

Przykład z wynajęciem mieszkania był dość schematyczny, a siła smart kontraktów tkwi w innowacyjności. Dzisiaj, pod nieobecność Wyroczni, największe perspektywy smart kontrakty mają wszędzie tam, gdzie w grę wchodzą obiektywnie mierzalne wydarzenia i gdzie całą umowę można zautomatyzować. Oto najciekawsze już dziś rozwijane systemy smart kontraktowe:
Francuski potentat ubezpieczeniowy AXA wprowadził produkt o nazwie Fizzy. To działający w blockchainie Ethereum smart kontrakt, który upraszcza proces wypłacania odszkodowań za opóźnienia lotów. W połączeniu z globalną bazą lotów rejestruje wszelkie wypadki, w których lot ubezpieczonego opóźnił się ponad dwie godziny i automatycznie wypłaca rekompensatę. Pasażer nie musi niczym się przejmować, nie musi wypełniać żadnych dokumentów ani obawiać się sporów – obiektywnym arbitrażem zajmuje się oprogramowanie.
W nowojorskim Brooklynie powstała wirtualna platforma handlu energią elektryczną z ogniw fotowoltaicznych. Nosi nazwę Transactivgrid i pozwala producentom energii sprzedawać nadmiarową energię odbiorcom w sposób całkowicie automatyczny, po stawkach rozliczanych aktualnym stanem popytu i podaży za pomocą sterującego tym wszystkim smart kontraktu.
CryptoKitties – to wirtualna gra, w której gracze mogą kupować, kolekcjonować, hodować i sprzedawać unikalne wirtualne koty. Każdy KryptoKociak nosi swoje własne cyfrowe DNA, które wpływa na jego wygląd i które być przekazane potomstwu. Własność kryptokociąt jest śledzona właśnie za pomocą smart kontraktów w blockchainie Ethereum, można więc nimi swobodnie handlować. Bzdura? No cóż, jak dotąd najdroższy dotąd kryptokociak został sprzedany za równowartość niemal 118 tys. dolarów, a sama cyfrowa aplikacja CryptoKitties pozyskała finansowanie łącznie 12 mln dolarów.
Wraz z rozwojem cyfrowej gospodarki, takich zastosowań będzie coraz więcej: serwis State of the DApps, śledzący aplikacje działające w blockchainach, odnotowuje z początkiem czerwca 2018 roku już ponad 1562 pozycje.

artem-sapegin-176819-unsplash (1)

I co dalej ze smart kontraktami?

Trzy dziedziny wydają się najbardziej obiecującymi dla smart kontraktów, gwarantując ich przyszłość nawet wówczas, gdyby same kryptowaluty straciły swój urok.
Pierwszą z nich są ubezpieczenia: polisa zapisana w smart kontrakcie może zawierać warunki zajścia wydarzenia, które wywołują jej aktywację. Mogą to być zjawiska niezależne od ludzi, np. katastrofalny poziom opadów, jak i związane z ludzką aktywnością – np. zwykła stłuczka samochodowa. Jeśli smart kontrakt będzie w stanie odczytać wiarygodną informację o zajściu takiego wydarzenia, to skróci czas wypłaty odszkodowania z wielu dni do minut, z minimalną tylko papierową robotą. Obniżenie kosztów administracyjnych pozwoli zaś innowacyjnym ubezpieczycielom zaoferować lepsze stawki dla klientów.
Drugą jest logistyka i transport. W świecie Internetu Rzeczy każdy sensor każdej bramki, czy magazynu może mieć własny węzeł w blockchainie, a smart kontrakty mogą śledzić lokalizację każdej oznakowanej elektronicznie przesyłki w kolejnych węzłach, jednocześnie definiując jej własność – aż do dostarczenia towaru na wycieraczkę klienta.
Trzecią jest ochrona własności intelektualnej. Na obecnych platformach internetowych nie ma łatwego sposobu na ustalenie, kto posiada prawa do utworów i kto powinien otrzymać wynagrodzenie z tytułu ich odtworzenia przez widza. Smart kontrakt mógłby tutaj śledzić wszystkie prawa własności, uniemożliwiać sfałszowanie takich praw i jednocześnie wypłacać tantiemy praktycznie w czasie rzeczywistym.

A co może pójść nie tak?

Przede wszystkim trzeba pamiętać o tym, że smart kontrakty są tylko tak „inteligentne” jak ich autorzy. Podobnie jak każde inne oprogramowanie mogą mieć błędy – i te błędy będą w miarę możliwości wykorzystywane przez cyberprzestępców. Już zresztą taką wielką wpadkę smart kontrakty zaliczyły w 2016 roku, kiedy to inwestorzy rozproszonego funduszu DAO (Decentralized Autonomous Organization), będącego de facto skomplikowanym smart kontraktem, stracili nagle równowartość 50 mln dolarów. Wszystko przez błąd w kodzie smart kontraktu, który pozwolił wyciągnąć z funduszu znacznie więcej pieniędzy, niż się do niego włożyło.
Drugim trudnym problemem jest czas i skalowalność przetwarzania transakcji, czyli jej potwierdzenia w łańcuchu blockchain. Do dzisiaj płatności za pomocą kryptowalut nie są w stanie dorównać w szybkości działania scentralizowanym systemom płatności, wykorzystującym karty kredytowe i centralne bazy danych, mimo że jest ich przecież znacznie mniej. Trwają co prawda prace nad różnymi technologiami, które pozwoliłyby na przyspieszenie przetwarzania blockchaina, ale to wciąż mają jedynie eksperymentalny status.

Komentarze: 0


Notice: Korzystanie z Motyw nieposiadający comments.php uznawane jest za przestarzałe od wersji 3.0.0! Nie istnieje żadna alternatywa. Proszę zawrzeć w motywie szablon comments.php. in /var/www/html/www_pl/wp-includes/functions.php on line 4592

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *