Czy smart kontrakt jest umową w świetle prawa?

4 dni temu

Smart kontrakt może przenieść token po spełnieniu zdefiniowanego warunku, automatycznie naliczyć odsetki albo rozdzielić środki między uczestników transakcji. Nie odpowiada to jednak jeszcze na pytanie, czy smart kontrakt jest umową. W prawie cywilnym decydują bowiem nie technologia, nazwa rozwiązania ani sam fakt zapisania kodu w blockchainie, ale zgodne oświadczenia woli stron i ich treść.

Dla przedsiębiorcy różnica ma wymiar praktyczny. Od niej zależy między innymi, czy można dochodzić roszczeń z tytułu niewykonania zobowiązania, oceniać ważność postanowień, stosować prawo adekwatne oraz ustalić jurysdykcję w sporze transgranicznym. W projektach Web3 błąd polega często na utożsamieniu mechanizmu automatycznego wykonania z samym stosunkiem prawnym.

Czy smart kontrakt jest umową według prawa cywilnego?

Najczęściej trafna odpowiedź brzmi: smart kontrakt nie jest odrębnym typem umowy, ale może pełnić różne funkcje prawne. Może stanowić techniczny zapis treści umowy, narzędzie jej wykonania albo element szerszej dokumentacji kontraktowej. W określonych sytuacjach kod może również współtworzyć oświadczenie woli. Każdy z tych wariantów wymaga jednak odrębnej oceny.

Umowa powstaje, gdy strony złożą zgodne oświadczenia woli obejmujące jej istotne postanowienia. Polskie prawo co do zasady nie wymaga dla umów szczególnej formy. Oświadczenie woli może być złożone przez każde zachowanie, które dostatecznie ujawnia wolę osoby dokonującej czynności prawnej. Teoretycznie może nim więc być także interakcja z aplikacją zdecentralizowaną, podpisanie transakcji kluczem prywatnym czy uruchomienie funkcji w kontrakcie zapisanym w sieci.

Sama możliwość techniczna nie przesądza jednak o skutku prawnym. Należy ustalić, kto składa oświadczenie, co dokładnie obejmuje jego wola, czy otrzymał dostateczną informację o warunkach oraz czy mechanizm pozwala przypisać działanie konkretnemu podmiotowi. To właśnie na tych etapach pojawiają się największe ryzyka dowodowe i compliance.

Kod nie zawsze wyraża zgodę kontraktową

W popularnym ujęciu smart contract to program wykonywany w sieci rozproszonej, który realizuje instrukcje zapisane w kodzie. Może on działać według reguły „jeżeli nastąpi X, wykonaj Y”. Taka konstrukcja dobrze nadaje się do automatyzacji prostych czynności, ale nie zastępuje języka prawnego w każdej sytuacji.

Kod zwykle nie opisuje kwestii takich jak odpowiedzialność za wadliwe dane wejściowe, siła wyższa, procedura reklamacyjna, poufność, ochrona danych osobowych czy prawo adekwatne. Nie rozstrzyga też automatycznie, co ma nastąpić, gdy wykonanie kodu prowadzi do rezultatu sprzecznego z rzeczywistym porozumieniem stron. Stwierdzenie „code is law” jest użyteczne jako opis technologicznej nieodwracalności pewnych operacji, ale nie jako uniwersalna reguła prawa prywatnego.

Jeżeli strony uzgodniły warunki w zwykłej umowie, a następnie wdrożyły kod mający automatycznie wykonać jej fragment, smart kontrakt będzie przede wszystkim instrumentem wykonawczym. Przykładowo: umowa licencyjna określa zasady rozliczeń, zaś kod rozdziela opłaty licencyjne po wpływie płatności. Źródłem obowiązków pozostaje umowa, choćby gdy transfer środków uruchamia się bez udziału człowieka.

Trzy modele użycia smart kontraktów

W praktyce warto rozróżnić trzy podstawowe modele. Pierwszy to model wykonawczy, w którym tradycyjna umowa istnieje poza blockchainem, a kod realizuje tylko wybrane dyspozycje. Jest on najbezpieczniejszy przy bardziej złożonych relacjach biznesowych, ponieważ pozwala precyzyjnie uregulować sytuacje wyjątkowe.

Drugi model można określić jako hybrydowy. Część treści znajduje się w dokumencie sporządzonym w języku naturalnym, a część w kodzie. Dokument powinien wtedy jasno wskazywać adres wdrożonego kontraktu, wersję kodu, reguły aktualizacji oraz relację między kodem i tekstem w razie rozbieżności. Bez tego strony mogą spierać się choćby o to, który kod był elementem uzgodnionego porozumienia.

Trzeci model zakłada, iż interakcja z kodem ma sama prowadzić do zawarcia umowy. Może wystąpić przykładowo przy prostym swapie tokenów w zdecentralizowanej aplikacji. Także tutaj należy jednak zbadać, czy użytkownik znał warunki operacji, czy interfejs przekazał mu dostateczne informacje i czy po drugiej stronie w ogóle występuje zidentyfikowany kontrahent. W relacjach pseudonimowych ustalenie stron umowy może być istotnie utrudnione.

Forma czynności i problem identyfikacji stron

Brak wymogu formy szczególnej nie oznacza, iż każdą umowę można bezpiecznie zawrzeć wyłącznie przez blockchain. Dla niektórych czynności ustawa wymaga formy dokumentowej, pisemnej, elektronicznej kwalifikowanej albo aktu notarialnego. Smart kontrakt nie spełnia automatycznie tych wymogów.

W szczególności podpisanie transakcji kluczem prywatnym nie jest tym samym co opatrzenie dokumentu kwalifikowanym podpisem elektronicznym. Może mieć znaczenie dowodowe i techniczne, ale nie powinno być mechanicznie utożsamiane z formą elektroniczną wymaganą przez przepisy. Analogicznie, adres portfela może wskazywać na podmiot kontrolujący klucz, ale nie zawsze pozwala ustalić jego tożsamość prawną, umocowanie reprezentanta albo status konsumenta.

W obrocie profesjonalnym warto przewidzieć procedurę przypisania portfela do konkretnej strony. Może ona obejmować oświadczenie w dokumentacji umownej, weryfikację tożsamości, zasady zmiany adresu oraz obowiązek niezwłocznego zgłoszenia utraty kontroli nad kluczem. Takie rozwiązanie nie usuwa wszystkich ryzyk, ale ogranicza późniejsze spory o autoryzację transakcji.

Błąd w kodzie, oracle i wykonanie niezgodne z umową

Automatyzacja nie eliminuje ryzyka, ale je przesuwa. Szczególnie wrażliwym elementem są oracle, czyli źródła danych zewnętrznych, od których kod uzależnia wykonanie transakcji. o ile oracle przekaże nieprawidłowy kurs, informację o zdarzeniu lub wynik sportowy, smart kontrakt może bezbłędnie wykonać błędną ekonomicznie dyspozycję.

Z perspektywy prawa trzeba wtedy odróżnić działanie programu od wykonania zobowiązania zgodnie z umową. Transfer dokonany w blockchainie może być technicznie skuteczny i trudny do odwrócenia, ale nie musi kończyć sprawy cywilnoprawnej. Poszkodowana strona może dochodzić zwrotu nienależnego świadczenia, odszkodowania albo innego roszczenia wynikającego z łączącego strony stosunku prawnego. Konkretna podstawa będzie zależała od konstrukcji transakcji, postanowień umowy i okoliczności błędu.

Dlatego dokumentacja powinna określać nie tylko regułę automatycznego wykonania, ale także mechanizm awaryjny. W praktyce należy rozstrzygnąć, kto odpowiada za poprawność danych, czy przewidziano funkcję wstrzymania działania, jak podejmowana jest decyzja o aktualizacji kodu oraz kto ponosi konsekwencje podatności bezpieczeństwa. Przy aktywach o znacznej wartości brak takich zasad może być poważnym deficytem governance.

Prawo adekwatne i regulacje sektorowe

Blockchain jest globalny, natomiast umowa podlega konkretnemu porządkowi prawnemu. W relacjach transgranicznych brak klauzuli prawa adekwatnego nie oznacza, iż transakcja znajduje się poza prawem. Przeciwnie, może prowadzić do kosztownego sporu o to, które prawo należy zastosować i przed jakim sądem dochodzić roszczeń.

W umowach B2B warto zatem wskazać prawo adekwatne, sąd albo sposób rozstrzygania sporów, język wiążącej wersji dokumentu oraz status kodu wobec tekstu. o ile w modelu występują kryptoaktywa, analiza kontraktowa powinna być oddzielona od oceny regulacyjnej. Rozporządzenie MiCA, przepisy o przeciwdziałaniu praniu pieniędzy, regulacje konsumenckie czy wymogi dotyczące usług płatniczych mogą mieć zastosowanie niezależnie od tego, czy kod skutecznie automatyzuje transfer.

Jak projektować umowę wspieraną przez smart kontrakt?

W przedsięwzięciach gospodarczych rozsądnym punktem wyjścia jest zasada: najpierw określ stosunek prawny, potem automatyzuj jego wykonanie. Dokument umowny powinien identyfikować strony, portfele i wdrożony kod, opisywać gospodarczy cel mechanizmu oraz wskazywać, które zdarzenia wywołują skutki prawne, a które mają wyłącznie charakter techniczny.

Należy również przesądzić pierwszeństwo interpretacyjne. Często uzasadnione jest postanowienie, zgodnie z którym w razie sprzeczności pierwszeństwo ma tekst umowy, a strony zobowiązują się podjąć działania naprawcze po wadliwym wykonaniu kodu. Nie będzie to rozwiązanie idealne dla wszystkich protokołu zdecentralizowanego, ale w relacjach B2B znacząco zwiększa przewidywalność ryzyka.

Smart kontrakt nie jest zatem magiczną umową działającą poza systemem prawnym. Jest technologią, która może precyzyjnie wykonać część uzgodnionych reguł, ale nie zastąpi świadomego zaprojektowania odpowiedzialności, dowodów i procedur na wypadek błędu. Im większa wartość transakcji i im bardziej złożony model biznesowy, tym mniej uzasadnione jest pozostawienie tych kwestii samemu kodowi.

Idź do oryginalnego materiału