Breaking news
Zapraszamy do współpracy w 2024 r.! Po więcej informacji skontaktuj się z nami mailowo: [email protected]

O smart kontraktach (używać będę spolszczonej formy) dużo mówi się i pisze, jednak często w sposób uproszczony. Smart kontrakt – wbrew nazwie – rzadko będzie stanowił kompletną umowę. Zazwyczaj będzie to samoobsługowy mechanizm w formie programu komputerowego służący do wykonania wcześniej zawartych umów – w całości lub w części.

 

Tomasz Zalewski, Partner,
kieruje praktyką Commercial w warszawskim biurze Bird & Bird

 

Ten samoobsługowy mechanizm zawiera uzgodnione wzajemne zobowiązania stron zapisane w postaci kodu komputerowego, oparte na założeniu: jeśli wystąpi zdarzenie X, to wykonaj działanie Y.

Łatwo sobie wyobrazić korzyści wynikające z takiego rozwiązania.

  • Przykład I: zawieramy umowę najmu mieszkania. Smart kontrakt w ramach tej umowy przewiduje, że po wpłaceniu kaucji najemca automatycznie otrzymuje kod do elektronicznego zamku mieszkania. Z jednej strony nie trzeba czekać na sprawdzenie w banku wpłaty, z drugiej zaś wynajmujący nie może zablokować wydania kodu, jeśli kaucja została faktycznie zapłacona.
  • Przykład II: została zawarta umowa na dostawę energii elektrycznej. Smart kontrakt w ramach umowy pomiędzy dostawcą a odbiorcą przewiduje, że licznik dokonuje pomiarów zużycia energii i w określonych terminach pobiera automatycznie płatność od właściciela. Eliminuje to potrzebę dodatkowych czynności dla realizacji zapłaty, a jednocześnie odbiorca nie może zablokować płatności, jeśli płatność jest należna na podstawie wskazań licznika.

Jak działa smart kontrakt?

Strony najpierw ustalają warunki umowy – w dowolny sposób. Następnie warunki umowy zapisuje się w formie kodu komputerowego (jeśli wystąpi X, to Y) – w tym miejscu powstaje smart kontrakt. Kod zapisuje się w bazie danych w technologii blockchain (lub innej opartej na zasadach rozproszonego rejestru – np. Ethereum) i od tej chwili nie może być on zmieniony (m.in. dzięki temu, że jest on zabezpieczony kryptograficznie). Jeśli wystąpi zdarzenie X, następuje realizacja funkcji Y.

Zdarzenie X może być innym wpisem w ramach blockchain (np. zapłata określonej kwoty w kryptowalucie) lub np. informacją o upływie terminu. Jeśli dodatkowo zdarzenie Y polega na dokonaniu wpisu w ramach blockchain, wówczas wykonanie smart kontraktu następuje całkowicie automatycznie.

Jeśli jednak zdarzenie X występuje poza blockchain, gdyż jest to np. wykonanie usługi w świecie fizycznym albo wystąpienie określonego zdarzenia fizycznego (np. odczyt licznika energii elektrycznej), wykonanie smart kontraktu wymaga połączenia z elementem spoza blockchain, z tzw. „oracle” (pol. wyrocznia), który jest odpowiedzialny za wprowadzenie do blockchain informacji potrzebnych do realizacji smart kontraktu. Taka strona trzecia może być wyznaczona przez strony umowy lub może być zaufaną bazą danych albo zdecentralizowaną usługą.

Jak wygląda smart kontrakt?

Przykład prostego smart kontraktu można znaleźć na stronie https://www.ethereum.org/token. Kod smart kontraktu zawiera po prawej strony komentarze objaśniające jego działanie. Ten smart kontrakt służy do tworzenia i transferu tzw. tokenów umożliwiających zakup usługi w modelu crowdfundingu lub służących do zbierania kapitału.

Smart kontrakty można także przedstawiać w formie graficznej. Na rysunku przedstawiona jest prosta umowa sprzedaży serwisu internetowego za 5000 etherów stworzona w serwisie EtherScripter.

Automatyzacja i bezpieczeństwo

Smart kontrakt umożliwia eliminację szeregu czynności związanych z wykonaniem umowy. Wykonywanie standardowej umowy polega na tym, że prawa i obowiązki stron zapisane w umowie muszą być przeanalizowane przez człowieka, który w oparciu o wnioski z tej analizy dokonuje działań przewidzianych postanowieniami umowy.

Tworząc smart kontrakt, strony zapisują prawa i obowiązki w ramach kodu komputerowego, który jest bezpośrednio wykonywany, poprzez uruchomienie samoistnie wykonywanych poszczególnych postanowień umowy.

Bezpieczeństwo

Technologia blockchain zapewnia smart kontraktom bezpieczeństwo transakcyjne dzięki kryptograficznej i rozproszonej strukturze bazy danych, w której są one zapisane. Wykorzystanie technologii blockchain sprawia zatem, że inteligentne umowy stają się nie tylko automatyczne, ale i wiarygodne dla stron.

Ponieważ smart kontrakty realizują się automatycznie, zarówno bez udziału trzeciej, zaufanej strony, która może mieć własne interesy, jak i bez możliwości sprzecznego z umową wpływu jednej ze stron na wykonanie umowy, dają one stronom pewność obrotu.

Każda transakcja realizowana za pośrednictwem smart kontraktu jest dostępna przez sieć powiązanych ze sobą bloków składających się na jeden rejestr i można w każdej chwili zweryfikować, czy została prawidłowa zapisana. To ważna cecha smart kontraktów, odróżniająca je od innych form automatycznych skryptów, które wykonywane są zazwyczaj na infrastrukturze, nad którą obie strony umowy nie mają takiej samej kontroli.

Ponadto, ponieważ blockchain uniemożliwia zmianę historii transakcji (można tylko dodawać nowe zapisy), uzgodnionych warunków smart kontraktów zasadniczo nie można jednostronnie zmienić, a tym samym zatrzymać realizacji takiej umowy.

Ograniczenia smart kontraktów

Automatyzm smart kontraktów, który wynika z konieczności ich zapisania w języku programowania, sprawia, że trudno w nich uregulować szereg istotnych kwestii, takich jak np. odpowiedzialność umowna czy przyznanie stronom możliwości oceny danej sytuacji i podjęcia na tej podstawie odpowiedniej decyzji.

Umowy typowo zawierają postanowienia odwołujące się do takich pojęć, jak „należyta staranność” lub „dobra wiara”. Trudno sobie wyobrazić, w jaki sposób w ramach kodu komputerowego można by opisać sytuacje, które nie mieszczą się w ramach np. należytej staranności.

Dlatego też smart kontrakty nie powinny być (przynajmniej obecnie) używane w każdej sytuacji. Tam, gdzie relacje umowne są złożone i gdzie strony powinny mieć prawo do oceny skutków danej sytuacji, smart kontrakty mogą być wykorzystywane wyłącznie do realizacji wybranych elementów umowy.

Nie wydaje się także na obecną chwilę rozsądne zawieranie umów wyłącznie w formie kodu komputerowego. Jeśli powstanie spór pomiędzy stronami, będzie on rozpatrywany przez sąd, który nie ma doświadczenia w interpretacji umów zapisanych w formie kodu i może go zinterpretować odmiennie od woli stron. Co więcej, zapewne interpretacji kodu dokonywać będzie biegły, na którego opinii oprze się sąd i to ten biegły de facto rozstrzygnie spór.

Smart kontrakty a konsumenci

Warto także zwrócić uwagę, że smart kontrakty nie mogą w wielu sytuacjach zastąpić „zwykłej” umowy z uwagi na regulacje prawa konsumenckiego. Smart kontrakt zapisany wyłącznie w formie kodu będzie w wielu przypadkach niezrozumiały dla stron umowy – jeśli jedną z nich będzie konsument, będzie musiał być i tak poinformowany w sposób jasny i zrozumiały o treści zawieranej umowy (art. 8 ustawy o prawach konsumenta).

Czy smart kontrakt jest ważny w świetle polskiego prawa?

Ponieważ, jak wskazałem wyżej, smart kontrakt to nie tyle umowa, co samoobsługowy mechanizm do wykonania w całości lub części zawartych umów, będzie on zatem zazwyczaj elementem postanowień umownych lub częścią wykonania umowy. Na gruncie przepisów polskiego prawa umowa może zostać zawarta przez strony w zasadzie w dowolnej formie (z zastrzeżeniem szczególnych przypadków) umowa może zatem być zawarta w całości lub części w formie kodu programistycznego.

 

bird

Prosta umowa sprzedaży. Źródło: https://etherscripter.com/0-5-1/

 

Smart kontrakty w energetyce

Smart kontrakty wydają się oczywistym rozwiązaniem wszędzie tam, gdzie realizowane są masowe transakcje, zwłaszcza wówczas, gdy warunki ich realizacji są zapisane cyfrowo. Obrót energią elektryczną wydaje się zatem idealnie nadawać do takich zastosowań smart kontraktów.

Możliwe rozwiązania mogą obejmować zarówno platformy obsługi klienta indywidualnego, jak i całe systemy – np. giełdy energii. Szczególnie interesująco wyglądają rozwiązania związane ze Smart Grid, czyli transakcyjnym połączeniem wielu producentów energii elektrycznej, z których każdy może być zarówno dostawcą, jak i odbiorcą energii. Rozwiązania oparte o smart kontrakty oprócz automatyzacji rozliczeń dają dodatkowo pewność obrotu związaną z technologią blockchain. Takie rozwiązania mają charakter rozproszony i nie ma w nim centralnych jednostek nadzorujących realizowane transakcje.

Jednym z najbardziej znanych projektów tego typu jest Enerchain (firma PONTON z Niemiec). W systemie Enerchain wszyscy uczestnicy tworzą sieć typu peer-to-peer opartą na blockchain. Głównym celem Enerchain jest wdrożenie infrastruktury technicznej umożliwiającej uczestnikom hurtowego rynku energii handel energią i gazem w sposób zdecentralizowany, unikając pośredników i platformy rynku centralnego. Smart kontrakty są wykorzystywane do zawierania poszczególnych transakcji wg predefiniowanych warunków.

Do systemu Enerchain przystąpiło już wiele znanych firm takich jak RWE, BP, Shell czy banki ING i Societe Generale. W marcu 2018 r. było 43 uczestników systemu.

Innym przykładem podobnego rozwiązania może być firma Power Ledger z Australii. Oferuje ona platformy xGrid i microGrid, dające możliwość obrotu nadwyżkami ze źródeł energii odnawialnej pomiędzy uczestnikami systemu.

Z kolei firma TenneT w Holandii testuje system oparty na blockchain i smart kontraktach, który wykorzystuje systemy magazynowania energii w domach odbiorców do stabilizacji sieci energetycznej. Inteligentne zarządzanie systemami magazynowania energii dostosowuje się indywidualnie do odpowiedniej sytuacji w sieci TenneT. Dzięki temu system magazynowania energii może wchłonąć lub rozładować nadmiar mocy, pomagając zmniejszyć problemy przesyłowe w sieci. Jednocześnie każde gospodarstwo domowe może decydować o zakresie swojego udziału w systemie i swoim zapotrzebowaniu na energię, przy pomocy smart kontraktu. Projekt ten jest o tyle ciekawy, że nie ogranicza się do handlu energią, ale koncentruje się na złożonej usłudze sieciowej związanej z przesyłem energii.

Szersza perspektywa

Jednak warto spojrzeć na smart kontrakty szerzej – mogą one być wykorzystane dla opisania w zasadzie każdego procesu biznesowego, który jest oparty na danych. Mogą to być zarówno proste procesy, takie jak zapłata po dostawie towaru, jak i złożone algorytmy.

Cechą szczególną smart kontraktów jest ich modułowość – kod smart kontraktu może być wielokrotnie wykorzystywany, poszczególne smart kontrakty mogą być także zestawiane ze sobą niczym klocki.

Nadchodząca automatyzacja świata wokół nas, związana w szczególności z rozwojem Internetu Rzeczy (ang. Internet of Things) oraz coraz powszechniejszą cyfryzacją gospodarki i administracji, zapewne sprawi, że smart kontrakty staną się immanentnym elementem naszej rzeczywistości. Będą one opisywały biznesową logikę wszelkich zautomatyzowanych procesów, a ich weryfikowalność i pewność związana z oparciem na technologii blockchain pozwoli na stopniowe stworzenie całego systemu smart kontraktów, eliminując stopniowo potrzebę podpisywania tradycyjnych umów.

Można sobie wyobrazić, że system automatyki przemysłowej będzie zawierał „samodzielnie” umowę na np. dostawę dodatkowej energii po wyczerpaniu wcześniej zamówionych limitów. Może dojść zatem do realizacji całego szeregu powiązanych ze sobą smart kontraktów.

Uwaga na ryzyka!

W najbliższej przyszłości smart kontrakty będą – moim zdaniem – głównie przynależały do świata transakcji biznesowych. Wydaje się bowiem, że transparentności smart kontraktów nie da się bowiem obecnie w pełni pogodzić z wymogami dotyczącymi ochrony prywatności i danych osobowych w realiach transakcji z konsumentami.

Kolejnym ryzykiem, które wydaje się trudne do pominięcia, jest to, że smart kontrakty poprzez automatyzację zmieniają rozkład ryzyk biznesowych związanych ze sporami dotyczącymi niewykonania umowy.

Ponadto może się zdarzyć, że smart kontrakt zadziałał w sposób przez żadną ze stron niezamierzony w wyniku np. błędu w kodzie komputerowym, co spowodowało, że została dokonana zapłata mimo, że towar nie został w ogóle dostarczony. Przy smart kontraktach umowie towarzyszy kod komputerowy, który powinien przekładać na język programowania postanowienia umowne – występuje zatem tu ryzyko popełnienia błędu przez osobę piszącą dany smart kontrakt.

Problem może także wystąpić, gdy strony wykryły błąd w kodzie smart kontraktu już po jego uruchomieniu, jednak jedna z nich nie jest zainteresowania usunięciem luki dla niej korzystnej.

Podsumowując…

Smart kontrakty to fascynujący obszar z olbrzymim potencjałem rozwojowym. Nieuchronna digitalizacja i automatyzacja świata zapewne wymusi na nas wdrożenie tej koncepcji. Im więcej danych będzie w obrocie, im więcej elementów świata rzeczywistego będzie zapisywanych w postaci danych cyfrowych, tym więcej będzie zastosowań smart kontraktów. Energetyka wydaje się idealnym obszarem do zastosowania tego rozwiązania z uwagi na dużą liczbę danych, wielu uczestników rynku o bardzo różnej wielkości, a także ze względu na stosunkowo dużą cyfryzację tego sektora gospodarki.

 

* Radca prawny. Specjalizuje się w prawie własności intelektualnej, projektach związanych z nowymi technologiami oraz w prawie zamówień publicznych. Posiada ponad 20-letnie doświadczenie w doradztwie prawnym dla biznesu. Doradza klientom w projektach związanych z cyfrową transformacją biznesu. Ten adres pocztowy jest chroniony przed spamowaniem. Aby go zobaczyć, konieczne jest włączenie w przeglądarce obsługi JavaScript.

 

Artykuł ukazał się w ramach czasopisma "Smart Grids Polska" 1/2019(21).

© Materiał chroniony prawem autorskim - wszelkie prawa zastrzeżone.
Dalsze rozpowszechnianie artykułu tylko za zgodą wydawcy ARTSMART Izabela Żylińska.

 

Zobacz także: