Czym są i jak działają smart kontrakty?
Wdrożenie inteligentnych kontraktów w biznesie bez wątpienia przyspieszy różnego rodzaju transakcje i umożliwi cyfryzację wielu aktywów. Problem wciąż jednak stanowią same podstawy i brak dostatecznego uregulowania smart kontraktów. Największych trudności przysparza kwestia rozwiązywania sporów pomiędzy stronami i przypisywanie odpowiedzialności.
Zanim zagłębimy się w kwestie rozwiązywania sporów w inteligentnych kontraktach, przypomnijmy czym w ogóle są inteligentne umowy. Zadanie, jakie spełnia smart kontrakt, jest podobne do tego w umowie tradycyjnej. Różni się jednak pod względem formy i działania. Smart kontrakt nie jest umową samą w sobie, a jego kształt nie ma z tradycyjną umową zbyt wiele wspólnego. To samoobsługowy mechanizm pod postacią programu komputerowego, służący do wykonania zobowiązań wynikających z zawartych umów. Wdrażanie cyfrowe sprawia, że działanie (cyfrowe lub fizyczne) jest wyzwalane, po spełnieniu określonych w kodzie warunków. Przykładowo: umowa najmu nieruchomości może być tak zakodowana, że po uiszczeniu opłaty za czynsz zwolni się inteligentny zamek do nieruchomości.
Proces powstawania inteligentnego kontraktu rozpoczyna się tak samo, jak przy zawieraniu umowy tradycyjnej – od ustalenia wzajemnych zobowiązań. Kiedy strony już ustalą warunki umowy, zobowiązania zostają zapisane w formie kodu komputerowego, opartego na założeniu: jeżeli X, to wykonaj Y. Kod zapisuje się na rozproszonej bazie danych i nie może już być zmieniany. W momencie wystąpienia sytuacji X następuje zrealizowanie funkcji Y. Jeżeli zdarzenie X funkcjonuje w ramach zdecentralizowanej sieci, smart kontrakt wykonuje się całkowicie automatycznie. Przykładem takiej sytuacji jest m.in. upływ terminu lub zapłacenie określonej kwoty. Jeśli to zdarzenie warunkujące wymaga faktycznego działania w świecie fizycznym i dzieje się poza blockchainem, informacja o wykonaniu tego działania musi zostać do smart kontraktu wprowadzona.
Rodzaje smart kontraktów
Inteligentne umowy mogą mieć różne typy, w zależności od warunków transakcji i zakresu kodowania. Istnieją między innymi:
- umowy całkowicie kodowane, w których kod jest prawem;
- umowy, w których warunki określone w kodzie są powielane z naturalnym językiem umowy
- umowy, w których niektóre terminy są opisane w kodzie, a niektóre w języku naturalnym
- umowy zapisane w języku naturalnym, zawierające jakiś element cyfrowy
Smart kontrakty pozwalają na wyeliminowanie szeregu czasochłonnych czynności związanych z wykonywaniem umowy. Prawa i obowiązki stron są zapisane w postaci kodu komputerowego, który wykonuje się automatycznie. Strony nie muszą więc tracić czasu na wzajemne analizowanie swoich czynności. W teorii smart kontrakty brzmią niezwykle wydajnie. Jest jednak kilka problemów związanych z ich wdrażaniem, a większość z nich dotyczy przypisywana odpowiedzialności za błędy w kodowaniu lub za awarie systemu.
Kto tworzy smart kontrakty?
Inteligentna umowa wymaga stworzenia kodu, który następnie można wykonać jako program komputerowy. Aby zawrzeć smart kontrakt, potrzebujemy więc programisty lub prawnika, znającego podstawy programowania. Pomiędzy stronami zawierającymi umowę nie ma pośredniczącej trzeciej strony, ale ten właśnie program. Dane zawarte w inteligentnej umowie są rozproszone na blockchainie. Z tego względu, ciężko jest ustalić jurysdykcję dla takiej umowy.
Problem jurysdykcji i wykonalności
Kwestie wykonalności i jurysdykcji rodzą wiele trudnych pytań. Wynika to z funkcjonowania smart kontraktów na blockchainie, czyli w zdecentralizowanej sieci, niewymagającej zezwoleń. Transakcje na blockchainie mogą być przeprowadzane w szybki sposób między różnymi lokalizacjami. Ta, z jednej strony ogromna zaleta technologii, implikuje poważny problem. Rozstrzyganie sporów wynikających z wykonywania umów różni się przecież w regulacjach poszczególnych krajów.
Kwestię jurysdykcji można rozwiązać np. poddając daną umowę pod jurysdykcję jednej ze stron. Pomocne może się również okazać kryterium z art. 67 Ustawy Prawo Prywatne Międzynarodowe, według którego w razie braku wskazania prawa właściwego w ustawie, przepisach szczególnych, obowiązujących w RP ratyfikowanych umowach międzynarodowych i prawie UE, do stosunku prawnego należy stosować prawo państwa, z którym stosunek ten jest najściślej związany.
Konsensus dla transakcji to funkcja porozumienia między wieloma węzłami (użytkownikami) sieci, które w złożonym systemie mogą być rozsiane po całym świecie. Jak osiągnąć konsensus w sporze w zdecentralizowanym systemie? Na blockchainach prywatnych, którymi posługują się zazwyczaj przedsiębiorstwa prywatne, łańcuchy bloków mają pewną dozę władzy, dzięki której mogą rozwiązywać konflikty. Problem pozostaje na publicznych łańcuchach bloków.
Problematyczną kwestię stanowią spory dot. smart kontraktów w transakcjach międzynarodowych. Jak bowiem rozwiązywać sytuacje sporne w transakcjach obejmujących wiele miejsc na świecie jednocześnie? Czy takie zdarzenie wymaga współdziałania sądów zaangażowanych jurysdykcji? Czy sądy powinny wówczas orzekać wspólnie? Kolejną trudnością jest status prawny samego blockchaina, który kształtuje się inaczej w różnych krajach. Może dojść do sytuacji, w której jedna strona inteligentnej umowy należy do państwa będącego liderem wśród prawnego regulowania nowych technbologii, a druga – do państwa pod tym względem jeszcze nierozwiniętego. Umowy zawierane na blockchainie mogą też być w innych regionach inaczej interpretowane.
Problem jurysdykcji i wykonalności jest złożony, pojawiają się jednak pomysły jego rozwiązania. Jednym z nich jest jury złożone z członków całego świata, pozyskiwane w ramach crowdsourcingu. Taka metoda miałaby polegać na zawarciu odpowiedniej klauzuli arbitrażowej do inteligentnej umowy. Arbitrowie rozstrzygający spory mieliby być pozyskiwani w ramach crowdsourcingu. Inny pomysł, który mógłby okazać się skuteczny w przypadku inteligentnych umów rozdzielających odpowiedzialność między kod a ludzi to wykorzystanie ram dla elektronicznej wymiany danych (EDI). Z takich ram korzystają np. banki do przesyłania wiadomości pomiędzy różnymi jurysdykcjami.
Podmioty związane ze smart kontraktem
Wśród podmiotów zaangażowanych w cały proces zawierania smart kontraktu wymienić należy twórców sieci blockchain, udostępniającego moc obliczeniową oraz rzeczywiste strony zawieranej umowy. Który z tych podmiotów ponosi odpowiedzialność za ewentualną wadę kodu? Odpowiedź na to pytanie może brzmieć różnie i zależy od wielu czynników.
NABYCIE PROGRAMU A ODPOWIEDZIALNOŚĆ
Odpowiedzialność za błędy w kodzie programu może być uzależniona od sposobu, w jaki został on nabyty. Twórcy blockchaina mogą uniknąć odpowiedzialności za ewentualne wady programu, poddając go pod licencję open source.Nabycie programu może odbyć się również w drodze umowy darowizny, której dokonuje twórca programu na rzecz użytkownika, nakładając na niego tym samym określone obowiązki. Sposób nabycia programu warunkuje kwestie odpowiedzialności za jego ewentualne wady. Jeśli bowiem nabycie odbyło się w drodze darowizny, na gruncie kodeksu cywilnego darczyńca nie będzie odpowiadał za błędu programu, jeśli o nich nie wiedział.
Za to, co odbywa się na rejestrze rozproszonym, nie odpowiadają podmioty udostępniające moc obliczeniową. Czerpią one korzyści w zamian za zapewnienie infrastruktury. Mogą się odłączyć od sieci w dowolnym momencie. Istnieje również koncepcja przypisywania ryzyka związanego z zapisami w łańcuchu bloków przedsiębiorcy. Argumentacja takiego rozwiązania opiera się na traktowaniu przedsiębiorcy jako podmiotu profesjonalnego, zobowiązanego do wykonania zadania bez względu na to, czy działa na blockchainie prywatnym czy publicznym.
Jednym z najprostszych propozycji rozwiązania kwestii przypisywania odpowiedzialności jest ustalenie, kto posługuje się blockchainem. Idąc tym tokiem rozumowania, należy zauważyć, że sposób wywiązywania się z zadania wybrany przez przedsiębiorcę (w omawianym przypadku posługiwanie się siecią zdecentralizowaną) nie wpływa na sam fakt istnienia zobowiązania oraz obowiązku wywiązania się z niego. Wówczas zobowiązanie przedsiębiorcy będziemy postrzegać przez pryzmat art. 474 kodeksu cywilnego, czyli klasycznego ponoszenia odpowiedzialności na zasadzie ryzyka za działania osób, z których pomocą wykonuje zobowiązanie lub którym owo zobowiązanie powierza.
Podsumowanie
Materia rozwiązywania sporów i przypisywania odpowiedzialności za błędy kodu przy smart kontraktach jest niezwykle szeroka i skomplikowana. Pytania rodzące się podczas próby zdefiniowania omawianej problematyki wynikają w głównej mierze z faktu niedostatecznego uregulowania prawnego inteligentnych umów oraz samego blockchaina. Wątpliwości są związane również z faktem rozproszenia sieci blockchain i dokonywania transakcji w kilku jurysdykcjach naraz. Koncepcje przypisywania odpowiedzialności należy rozpatrywać, biorąc pod uwagę rodzaj inicjatywy, podmioty biorące w niej udział oraz sposób nabycia programu, z którego owe podmioty korzystają.
Nie należy również zapominać o ustaleniu zaistniałej szkody. Często nie będzie to przecież typowy uszczerbek na majątku, a (jak np. w przypadku chwiejnego rynku kryptowalut) – hipotetyczne zyski. Odpowiedzialność może być przypisywana podmiotowi zobowiązanemu, bierze on bowiem na siebie ryzyko posługiwania się nową technologią. Dlatego też planując wykorzystywanie smart kontraktów w swoim biznesie, pamiętajmy o dokładnym przeanalizowaniu swoich praw i obowiązków wynikających ze zobowiązania, którego się podejmujemy. Zwróćmy również szczególną uwagę na możliwości ich dochodzenia w związku z transakcjami cyfrowymi.
MASZ PYTANIA LUB POTRZEBUJESZ POMOCY?
SPRAWDŹ NASZE USŁUGI OBEJMUJĄCE TECHNOLOGIE FINANSOWE LUB DAJ NAM ZNAĆ POPRZEZ FORMULARZ KONTAKTOWY
- Tokenizacja w nowoczesnym biznesie. Jak stokenizować swój biznes?
- Co można stokenizować? Tokenizacja jako praktyczne zastosowanie technologii blockchain;
- Blockchain od podstaw: budowa i działanie łańcucha bloków
Pytania i odpowiedzi
Smart kontrakty to cyfrowe umowy oparte na technologii blockchain, które automatycznie wdrażają warunki umowy po spełnieniu określonych warunków. Smart kontrakty wymagają stworzenia kodu komputerowego, co może być wykonane przez programistę lub prawnika z znajomością programowania. Brak pośrednictwa trzeciej strony, a umowy są zawierane pomiędzy programem a stronami.
Rozstrzyganie sporów związanych ze smart kontraktami jest skomplikowane, zwłaszcza w kontekście zdecentralizowanych sieci blockchain. Koncepcje przypisywania odpowiedzialności obejmują klauzule arbitrażowe i crowdsourcing, ale problem jurysdykcji pozostaje wyzwaniem w przypadku sporu.
Odpowiedzialność za błędy w kodzie zależy od sposobu nabycia programu. Twórcy blockchaina mogą uniknąć odpowiedzialności poprzez licencję open source. Warto również wskazać, że sposób nabycia programu wpływa na kwestie odpowiedzialności za ewentualne wady.
Zaufali nam:
Belintee says:
Nie można wprost zawrzeć w smart kontrakcie „prawa właściwego” do rozstrzygnięcia sporu gdy taki wystąpi ?
Czy konstrukcja smart kontraktu jest uzależniona od blockchain w ramach którego go realizujemy ?
Hanna Czupajło says:
Jeżeli umowa ma wymiar krajowy, można wskazać prawo właściwe dla smart kontraktu wprost w umowie głównej lub też w innym porozumieniu. Strony mogą to uczynić korzystając ze swobody umów zawartej w art. 35(31) KC. Jeżeli strony umowy zawartej w Polsce nie określą prawa właściwego, zastosowanie znajdą przepisy rozporządzenia Rzym I lub Prawa prywatnego międzynarodowego, w zależności od pochodzenia stron.
Blockchain – smart kontrakty w praktyce. - Kancelaria RPMS says:
[…] Poszukiwanie odpowiedzialnego związane jest z wieloma czynnikami i technicznymi warunkami danej transakcji. Istotne jest m.in. to, czy wszystko odbywało się na blockchainie publicznym, czy prywatnym. Skomplikowana kwestia odpowiedzialności za wady kodu przy smart kontraktach to temat wymagający szerszej analizy, o którym pisaliśmy tutaj: “Rozwiązywanie sporów i odpowiedzialność za błędy kodu w smart kontraktach”. […]