Zawieranie i realizacja czynności prawnych coraz częściej odbywają się przy użyciu kodu komputerowego. Czy przeciętny konsument wie, jakie niebezpieczeństwa się z tym wiążą? Piszą Eliza Kwiatkowska, aplikantka adwokacka Key Account Mananger w Fundacji Global Business View i Agata Surmiak, aplikantka adwokacka w Kancelarii Prawnej Schampera, Dubis, Zając i Wspólnicy, COO w Fundacji Global Business View.

Smart kontrakt można najprościej wytłumaczyć jako narzędzie technologiczne umożliwiające zawarcie umowy w formie skomplikowanego kodu programu komputerowego zapewniające samowykonalność oraz autonomiczną naturę postanowień, przez którą należy rozumieć możliwość automatycznego nawiązania lub wykonania postanowień stosunku prawnego. Termin „smart kontrakt” należy więc rozumieć jako umowę zapisaną za pomocą kodu informatycznego.

Polski ustawodawca nie zna jednak pojęcia smart kontraktu. Szerokie perspektywy wynikające z dynamicznego rozwoju przemysłu high-tech, przy jednoczesnym braku dostosowania prawa choćby w postaci definicji legalnej smart kontraktu, mogą prowadzić do zachwiania poczucia bezpieczeństwa przy korzystaniu z oferowanych na rynku rozwiązań technologicznych. Wszelkie próby zdefiniowania tej „nowości” (która doczekała się w Europie już swojego dość szczegółowego uregulowania chociażby w ustawie maltańskiej) sprowadzają się do konieczności stosowania istniejących przepisów poprzez analogię, co rodzi ryzyko nadinterpretacji oraz mylnych wniosków co do istoty „inteligentnej umowy”.

Smart kontrakty występują w trzech następujących relacjach w stosunku do tradycyjnej umowy jako:

  • umowa per se, gdy wszystkie postanowienia umowy są zawarte tylko w formie łańcucha blokowego,
  • część umowy tradycyjnej, gdy umowa jest wyrażona zarówno w języku naturalnym, jak i w formie kodu – umowa o charakterze hybrydowym,
  • zautomatyzowane wykonanie umowy tradycyjnej, gdy smart kontrakt służy wyłącznie wykonaniu wcześniej zawartej umowy.

Nowy język ludzkości

Smart kontrakt nie jest umową w klasycznym rozumieniu cywilnoprawnym, a raczej wytworem technologii, narzędziem, które wykorzystuje się do zawarcia umowy przyjmującej formę kodu informatycznego. Za pomocą „wirtualnych ruchów” w przestrzeni cyfrowej powstaje łańcuch bloków (ang. blockchain) stanowiący bazę danych o rozproszonym i zdecentralizowanym charakterze. Od razu można zauważyć, że zawarcie przez konsumenta smart kontraktu wyłącznie w formie kodu implikuje ryzyko związane z brakiem możliwości swobodnego formułowania/negocjowania postanowień umownych przez strony, w sytuacji gdy konsument nie włada językiem programowania.

Ponadto, co niezwykle istotne, łańcuch bloków ma charakter nierozerwalny, co oznacza, że nie ma możliwości „aneksowania postanowień” wedle woli stron (tak jak jest w przypadku dobrze znanych już rodzajów umów prawa cywilnego). Przy zastosowaniu wyłącznie języka programowania możliwość modyfikacji danego bloku w oderwaniu od pozostałych jest wykluczona. Wykonanie następujących po sobie zapisów odbywa się bowiem w sposób zautomatyzowany, co wyraża się poprzez regułę: „jeżeli dojdzie do X, to zmaterializuj Y”. Proces ten przebiega samoistnie, bez bezpośredniej ingerencji stron kontaktu (niezależnie od ich woli, choć poprzez zainicjowane działania), które mogą wzajemnie nawet nie znać swojej tożsamości (publiczny blockchain). W ten sposób dochodzi do nawiązania anonimowej relacji użytkowników. Jeżeli jednak transakcja jest przeprowadzana w ramach prywatnego blockchainu, bo i taki jest znany praktyce, strony mogą pobierać fragmenty bazy danych lub całość, a co za tym idzie, weryfikacja ich tożsamości we współczesnym świecie technologii nie powinna być problemem, choć nie można wykluczyć, że nie uda się ustalić tożsamości podmiotu.

Hybryda jako złoty środek

Smart kontrakt może również przybierać formę hybrydy, co w praktyce oznacza połączenie języka naturalnego i języka programowania. Wybierając taką drogę, strony zawierają w języku naturalnym umowę, która determinuje sposób funkcjonowania smart kontraktu. Umowa główna niczym instrukcja obrazuje, jak należy postępować, aby nie dopuścić do sytuacji, w której dojdzie do samoistnego rozszerzenia łańcucha bloków. To oznaczałoby bowiem naruszenie zamiaru wyrażonego językiem naturalnym. Umowa główna jest zatem bazą dla smart kontraktu, a jej celem jest ochrona przed całkowitym zautomatyzowaniem wszelkich czynności w ramach realizacji danej transakcji.

Co bardzo istotne, dla ważności smart kontraktu nie wymaga się już żadnego dodatkowego zapisu – w tego typu przypadkach strony związane są zarówno umową główną, jak i smart kontraktem. Taka zależność jest o tyle słuszna, o ile smart kontrakt pozostaje odzwierciedleniem wzajemnych praw i obowiązków stron.

Zapisany w języku programowania smart kontrakt może być również utożsamiany z programem, który jedynie obsługuje daną transakcję, a więc wykonuje postanowienia umowy głównej (np. zlecenia wykonania przelewu). Oświadczając wolę przeprowadzania transakcji płatniczej, konsument wykonuje wiele czynności, czym manifestuje swoją wolę po to, aby na koniec zatwierdzić ją – często, jeśli nie zazwyczaj – wpisując wymagany kilkucyfrowy kod zabezpieczający otrzymywany najczęściej w SMS. Wpisanie przez stronę tego zabezpieczenia oznacza złożenie oświadczenia woli o związaniu się umową w języku programowania. Jeżeli np. konsument omyłkowo wskaże niewłaściwego odbiorcę albo wpłaci zaliczkę w celu wykonania zlecenia, na które ostatecznie się nie zdecyduje, i w każdej z tych sytuacji będzie domagał się zwrotu pieniędzy, jest to możliwe przy ingerencji w smart kontrakt lub zastosowanie nowego smart kontraktu, który pozwoli na odwrócenie skutków transakcji.

Potencjalne zagrożenia

Dla obrotu konsumenckiego łatwość dostępu do technologii smart kontraktu oznacza zwielokrotnioną chęć korzystania z tego rozwiązania prawnego. Co za tym idzie, forma ta jest coraz częściej rozpowszechniana w obrocie profesjonalnym, ale nie tylko. Jednak nawet przy tak zaawansowanej technologicznie transakcji konsument może szukać ochrony w ustawie o prawach konsumenta. Jej treść rodzi obowiązki informacyjne przedsiębiorcy (podanie danych identyfikacyjnych, informacji o prawie odstąpienia od umowy, sposobie i miejscu złożenia reklamacji itp.). Technologia blockchain umożliwia zaś daleko idącą anonimizację stosunków, zatem uzyskanie danych identyfikacyjnych przedsiębiorcy – takich jak nazwa czy numer w odpowiednim rejestrze – jest kluczowe. Konsument nie powinien przystępować do umowy bez tej wiedzy, gdyż w publicznych łańcuchach bloków może nie istnieć skuteczna metoda weryfikacji tożsamości kontrahenta. Przedsiębiorca winien poinformować konsumenta o swojej tożsamości, mimo iż ten nie będzie mieć możliwości weryfikacji podanych przez niego danych.

Umowy zawierane przez konsumentów z wykorzystaniem smart kontraktów zazwyczaj mogą zostać uznane za wzorzec umowny rozumiany jako: „klauzula umowna, która została przygotowana z góry na użytek przyszłych umów, opracowana jednostronnie przez podmiot zamierzający wzorzec stosować”. Konsument nie ma wglądu do zapisu smart kontraktu, a prawdopodobnie nie zna też języka programowania. Dodatkowo strony umowy nie mają okazji indywidualnie uzgodnić warunków danej transakcji, a więc konsument ma znikome możliwości wpływania na stosunek. Zawarcie umowy będzie więc traktowane jako przystąpienie do wzorca umownego.

Z kolei postanowienia umowy zawieranej z konsumentem, które nie są uzgodnione indywidualnie, nie wiążą go, jeśli kształtują prawa i obowiązki konsumenta sprzecznie z dobrymi obyczajami, przy czym nie dotyczy to postanowień określających główne świadczenia stron. Powyższa regulacja w kontekście smart kontraktów może być wyjątkowo użyteczna, jeżeli bowiem jego postanowienia będą kształtować sytuację konsumenta niezgodnie z dobrymi obyczajami, to w zdecydowanej większości przypadków regulacje dotyczące klauzul abuzywnych będą mieć zastosowanie.

Samowykonalność i niezmienność

Jedną ze specyficznych cech smart kontraktu jest jego samowykonalność. W blockchainach publicznych jedynie poprzez zainicjowane przez użytkowników działania (z pewnością nie zawsze w pełni świadome) dochodzi do zrealizowania transakcji, która materializuje się przy pomocy mechanizmu informatycznego – kodu. Wyjątek stanowi sytuacja, w której strony wykazały się „szczególną ostrożnością” i za pomocą elektronicznych podpisów wyraziły obustronną wolę ku temu, aby kod przewidywał możliwość odwrócenia skutków transakcji, a zatem jej anulowanie. Jeżeli wola nie została w ten sposób wyrażona, transakcja dojdzie do skutku i żadna ze stron jej „nie zatrzyma”. Na tym polega całe utrudnienie.

Na pierwszy rzut oka może się wydawać, że takie zabezpieczenie jest zbędne, skoro transakcja ma zostać wykonana bez udziału czynnika ludzkiego. Strony nie zakładają powstania sporu (w końcu mechanizmy informatyczne są uznawane za niezawodne), a więc tym bardziej nie przewidują jego skutków. W ramach tzw. prywatnych blockchainów sytuacja jest o tyle względniejsza, że zatwierdzanie kolejnych bloków spoczywa na jednym podmiocie lub określonej grupie podmiotów wzajemnie powiązanych. Z tego względu odwrócenie skutków jest zdecydowanie bardziej realne.

W sytuacji, w której strona dostrzeże błąd wpływający na realizację umowy sporządzonej w języku naturalnym (w zależności od rodzaju błędu chwila jego wykrycia ma większe bądź mniejsze znaczenie), ma możliwości, jak mu się przeciwstawić – od skorzystania z postanowień dotyczących kar umownych, przez wypowiedzenie umowy, po stwierdzenie jej nieważności. W przypadku nawiązania stosunku prawnego przy wykorzystaniu smart kontraktu – aby doszło do zniwelowania błędu, konieczna jest wyraźna zgoda obu stron, a nierzadko okazuje się przecież, że jej dobrowolne uzyskanie jest nierealne lub przynajmniej znacznie utrudnione.

Prawo do odstąpienia od umowy

Powyższe cechy specyficzne smart kontraktu niewątpliwie mają wpływ na prawo do odstąpienia od spełnienia umówionego świadczenia. Istniejące uregulowania prawne zdają się stwarzać warunki co do możliwości odstąpienia od umowy zawartej na odległość (za jaką uznaje się smart kontrakt), jednakże nie oznacza to jeszcze, że wykonalność smart kontraktu zostanie wstrzymana. Jeżeli dojdzie do odwrócenia skutków transakcji (poprzez ingerencję w smart kontrakt albo zastosowanie nowego smart kontraktu), możliwość egzekucji świadczenia od kontrahentów w ramach istniejącego smart kontraktu w dalszym ciągu pozostaje możliwa. Najistotniejsze jest, by konsument znał tożsamość swojego kontrahenta. Konsument nie może zapomnieć, że technologia blockchain umożliwia zawieranie kontraktów w sposób anonimowy i zdecentralizowany.

W przypadku złożenia przez konsumenta oświadczenia woli o wypowiedzeniu umowy lub żądaniu jej modyfikacji od właściwości umowy zależy, czy oświadczenie wywrze również skutek faktyczny. Jeżeli jednak łańcuch bloków nie przewiduje możliwości modyfikacji umowy, wówczas konsument powinien odwołać się do instytucji bezpodstawnego wzbogacenia. Zautomatyzowane wykonanie umowy kosztem konsumenta doprowadzi do wzbogacenia się przedsiębiorcy bez podstawy prawnej w postaci ważnej umowy. Konsumentowi będzie przysługiwać prawo do żądania zwrotu uzyskanej przez przedsiębiorcę korzyści.

Pośrednicy

Skoro już nie ulega wątpliwości, że smart kontrakty – wbrew pozorom – są dużo mniej elastycznymi formami nawiązywania stosunków prawnych aniżeli klasyczne umowy prawa cywilnego, trzeba zwrócić uwagę, że ich realizacja może odbywać się przy zaangażowaniu osób trzecich określanych mianem „wyroczni”. Z jednej strony udział podmiotu, którego zadaniem jest „czuwać” nad prawidłową realizacją smart kontraktu niesporządzonego wyłącznie w języku programowania, niewątpliwie ma swoje pozytywne aspekty, z drugiej zaś strony wiąże się z powstaniem kolejnych ryzyk, o mniej lub bardziej poważnym charakterze. Może np. dojść do trudnych do usunięcia zakłóceń pracy systemu, a przez to do posłużenia się wadliwymi lub niepełnymi danymi. Z tego też względu postanowienia umowy głównej powinny zawierać enumeratywne wyliczenie wszelkich możliwych sytuacji, aby chronić przed dalekosiężnymi skutkami „inwencji twórczej” i nadinterpretacji), ale również zapisy dotyczące wpływu zaistnienia każdej „ryzykownej” sytuacji na wykonalność smart kontraktu.

Odpowiedzialność za błąd kodu

Wobec tego, że smart kontrakt jest tworzony w języku programowania, nasuwa się też pytanie, kto jest odpowiedzialny za błędy w kodzie. Czy będzie to programista jako zleceniobiorca, który podjął się wykonania zleconych mu czynności, czy podmiot, który te czynności zlecił, czy też w grę wchodzi odpowiedzialność solidarna tych podmiotów? A może odpowiedzialność spocznie na osobie trzeciej, która na skutek ingerencji przykładowo naruszyła prawidłowe działanie kodu? Ponieważ przepisy prawa polskiego nie podają rozwiązania wprost, odpowiedzi trzeba szukać, stosując odesłanie do kodeksu cywilnego (odpowiedzialność ex contractu; odpowiedzialność deliktowa), co również nie jest oczywiste, jeżeli pomiędzy stronami nie istnieje żadne porozumienie/umowa regulujące kwestie odpowiedzialności. ©℗