fbpx

Smart Contracts – wszystko co powinieneś wiedzieć

8 min
Albert Czajkowski
smart kontrakty Smart kontrakty

Smart contracts stanowią kolejny krok w rozwoju technologii blockchain. Polega on na przejściu z tradycyjnego protokołu transakcji finansowych na uniwersalne narzędzie, które w pełni automatycznie będzie wdrażać warunki umów. Minimalizuje to ryzyko błędu lub manipulacji. Umowy świadczone w ten sposób zapewniają prostotę, szybkość realizacji i aktualizację danych w czasie rzeczywistym. W tym aspekcie standardowe metody nie mają ze smart contracts żadnych szans. Ponadto, ich zastosowanie wyklucza konieczność występowania pośredników i różnego rodzaju centralnych instytucji, przez które kontrakt musi przejść. Czym dokładnie jednak są smart kontrakty? Tego dowiesz się z niniejszego artykułu!

Sekcje artykułu:

  1. Czym są smart kontrakty?
  2. Brak strony trzeciej – największa zaleta smart contracts
  3. Regulacje prawne
  4. Zastosowanie smart contracts w praktyce
  5. Smart kontrakty na co dzień
  6. Zalety i wady smart kontraktów
  7. Zastosowanie smart kontraktów
  8. Czy warto postawić na inteligentne umowy?
  9. Naucz się tworzyć smart kontrakty

Czym są smart kontrakty?

Jest to rodzaj bardzo prostego kodu, który stanowi jeden z elementów w sieciach takich jak: Ethereum, NEO, ARDOR, LISK, EOS, CARDANO. Opierają się one na IFTT (if this, then that, po polsku: jeżeli – to). Innymi słowy smart kontrakt jest postrzegany przez sieć jako zwykły użytkownik, czyli w praktyce może on wysyłać i odbierać transakcje, gdyż wyposażony jest we własny adres portfela. Może także samodzielnie odczytywać dane zawarte w blockchainie. Najważniejsze jest jednak to, że dane umieszczone w postaci smart kontraktu nie mogą zostać usunięte lub zmodyfikowane. Smart kontrakty to transakcje, które można wykorzystać w wielu dziedzinach życia codziennego jak przykładowo:

  • aukcje
  • wybory
  • umowy escrow
  • umowy kupna i sprzedaży

Smart kontrakty działają w zasadzie jak zwykłe umowy. Strony ustalają między sobą konkretne warunki, które można sprowadzić do schematu: jeśli zdarzy się X, wykonaj Y). Następnie warunki kontraktu są zapisywane – jednakże w tym wypadku nie w formie papierowej, lecz w aplikacji działającej z wykorzystaniem blockchain.

Brak strony trzeciej – największa zaleta smart contracts

Smart kontrakty rozwiązują najważniejszy problem, jaki powstaje w czasie dokonywania transakcji – kwestię zaufania pomiędzy stronami, a także między stronami i pośrednikami. Działają one w sposób automatyczny, są wygodne w użyciu i gwarantują, że operacja zostanie prawidłowo wykonana. Można w bardzo łatwy sposób zastosować je do potwierdzania transakcji na różne sposoby. Przykładowo, w celu zabezpieczenia środków na najgorszą ewentualność wystarczy stworzyć transakcję, która wykona się z automatu, jeśli nie zostanie anulowana w wyznaczonym czasie. Sprawia to, że smart contracts są wygodniejsze niż tradycyjne metody. W przypadku tych drugich niezbędne jest korzystanie z usług trzeciej strony w postaci instytucji niezależnej, której zadaniem jest dopilnowanie prawidłowego wykonania umowy lub po prostu zwykłe pośredniczenie w wykonaniu umowy lub transakcji. Stwarza to problem polegający na tym, że strona umowy musi obdarzyć taką instytucję kredytem zaufania. Niestety nie zawsze jest to dobre rozwiązanie. Często zdarzają się bowiem przeszkody lub problemy w postaci np. opóźnień w realizacji czy w przelewie środków z jednego rachunku na drugi. Smart kontrakty rozwiązują ten problem w stu procentach. Eliminują osobę trzecią z obiegu.

Regulacje prawne

Zarówno w polskim prawodawstwie, jak i systemach prawnych innych krajów mało jest przepisów prawnych regulujących kwestię inteligentnych umów. Nie oznacza, że smart kontrakty nie zostały uregulowane w ogóle. Na przykład, w polskim Kodeksie cywilnym z art. 60 wyinterpretować można normę dotyczącą smart contracts:

Art. 60 KC Z zastrzeżeniem wyjątków w ustawie przewidzianych, wola osoby dokonującej czynności prawnej może być wyrażona przez każde zachowanie się tej osoby, które ujawnia jej wolę w sposób dostateczny, w tym również przez ujawnienie tej woli w postaci elektronicznej.

Smart contracts są jednak w pełni zautomatyzowanymi procesami, które wykonują się praktycznie same bez wiedzy, udziału i ingerencji osób trzecich, a w tym też ich beneficjentów. Wyjątkiem jest fakt, że ważności nie tracą niektóre inne zapisy prawa takie jak te dotyczące umów o dzieło. Obecnie nic nie stoi także na przeszkodzie, by część danej umowy zawarto w formie smart contract, a pozostałą część w formie tradycyjnej.

Zastosowanie smart contracts w praktyce

Inteligentne umowy w przypadku Ethereum powstają w oparciu o język solidity, który podobny w założeniach składniowych jest do popularnego JavaScript. Został on jednak dostosowany do obsługiwania smart kontraktów. Posiada więc funkcje i komendy,  które w JavaScript nie występują. Utworzone umowy wysyłane są do blockchain. Kod jest następnie wykonywany przez każdy komputer posiadający status węzła w sieci bloków.

Kontrakty działają na prostej zasadzie IFTT tzn. jeżeli na adres jednego ze smart contracts wpłyną dane dotyczące transakcji to zostaną one natychmiast wysłane na adresy obu odbiorców. Mogą się one ze sobą dowolnie komunikować wysyłając odpowiednie informacje z jednego adresu do drugiego. Sprawia to, że umowy są na bieżąco aktualizowane i wykluczają możliwość wystąpienia błędu lub manipulacji. Działa to jak samo jak uruchomienie programu na komputerze: po wprowadzeniu komendy pojawia się jej efekt. W przypadku smart kontraktów dotyczy to jednak tysięcy takich urządzeń, które umieszczone w blockchainie dostarczają dane i zapisują całą historię swoich działań w zdecentralizowanym łańcuchu.

Smart kontrakty na co dzień

Świetnym przykładem zastosowania smart contracts w życiu codziennym może być optymalizacja zwykłego wyjścia na seans do kina. Zakup biletu za pośrednictwem sklepu internetowego lub serwisu zakłada, że kupujący otrzyma bilet dopiero kiedy sprzedający otrzyma wpłatę i autoryzuje operację. Wymaga to zaufania wobec instytucji pośredniczącej.

Natomiast transakcja dokonywana za pomocą smart contracts sprawia, że po otrzymaniu odpowiedniej kwoty kontrakt od razu wyśle bilet do odpowiedniej osoby. Systemy automatyzujące są oczywiście obecne w wielu pozablockchainowych serwisach, jednakże zawsze pozostaje kwestia zaufania w stosunku do pośrednika, np. w postaci banku, który nie wywiązał się w odpowiednim czasie z przesyłu środku. Im więcej instytucji przetwarza daną operację, tym większa szansa, że u któregoś wystąpi błąd uniemożliwiający finalizację. W przypadku smart kontraktów jest to niemożliwe, gdyż wymiana zachodzi bezpośrednio pomiędzy kupującym, a konkretnym smart kontraktem. Ponadto od razu można sprawdzić, czy faktycznie po wpłaceniu określonej kwoty klient otrzyma to co zamawia.

Dodatkowo blockchain zapisuje historię wpływów do portfela i na stałe umieszcza ją w bazie danych uniemożliwiając tym samym jakiekolwiek próby manipulacji. Smart contracts to po prostu umowy zawierane w sieci blockchain z tysiącem świadków w postaci komputerów tworzących całą sieć. Umowy wykonują się natychmiast po spełnieniu warunków i nie da się ich zmodyfikować ani usunąć.

Zalety i wady smart kontraktów

Zalety:

  • Bezpieczeństwo – unikalny kod, na którym opiera się smart kontrakt działa w sposób, w jaki został zaprogramowany tak długo jak istnieje i funkcjonuje dany blockchain. Umożliwia to tworzenie zdecentralizowanych aplikacji, odpornych na przerwy w działaniu serwerów, a przede wszystkim próby manipulacji.
  • Otwartoźródłowy charakter – kod, na bazie którego tworzone są smart kontrakty, ma bardzo często charakter otwartoźródłowy i każdy może mieć do niego dostęp. Sprawia to, że możliwe jest sprawdzenie jego wierzytelności przez innych użytkowników oraz znacznie utrudnia to implementację złośliwego oprogramowania.
  • Wyeliminowanie z obiegu pośredników, którzy są niezbędni w czasie dokonywania tradycyjnych transakcji. Nie występuje potrzeba zaangażowania prawnika, notariusza lub agenta obrotu nieruchomościami.
  • Autonomiczność i brak kredytu zaufania w stosunku do stron – kiedy zostaną spełnione warunki umowy, zostaje ona wykonana automatycznie bez udziału użytkowników i osób trzecich. Dane lub aktywa samoczynnie zapisują się w blockchainie.
  • Precyzja – smart contracts same mogą kontrolować przebieg transakcji. Inteligentne umowy najnowszej generacji wyposażone są także w mechanizm szczegółowej weryfikacji poprawności zapisów.
  • Brak pośredników jest niezwykle atrakcyjny w przypadku branż takich jak: prawo, logistyka i nieruchomości.
  • Szybkość i efektywność – bezpośrednie transakcje między stronami bez udziału osób trzecich umożliwiają znaczne obniżenie kosztów, usprawniając przy tym procesy transakcyjne. Smart contracts skracają czasochłonne procedury związane z przekazywaniem dokumentacji w formie papierowej.

Wady:

  • Utrudniona modyfikacja może sprawiać, że smart kontrakty będą niemożliwe do naprawienia w razie wystąpienia błędów w kodzie. Gdy inteligentna umowa zostanie już uruchomiona na blockchainie to bardzo trudno jest ją zmodyfikować. Smart contracts są z reguły odpowiedzialne za transakcje na aktywach. Sprawia to, że jeden błąd może kosztować miliony dolarów. Przykładowo, taka sytuacja miała miejsce w przypadku ataku hakerskiego DAO hack, który umożliwiła luka w kodzie Ethereum. Skradziono wtedy ether o wartości około 50 mln USD. Poza tym, jedna ze stron smart kontraktu celowo może wprowadzić błąd do kodu, który będzie dla niej po prostu korzystny.
  • Smart contracts, a normy prawne – smart kontrakty to stosunkowo nowa technologia. Brak jest precedensów i konkretnych linii orzeczniczych dotyczących dziedziny inteligentnych umów. Ciężko jest interpretować je w świetle przepisów obowiązujących obecnie w różnych jurysdykcjach, a przez to bardzo trudno rozwiązuje się ewentualne spory. Przykładowo, skomplikowane jest konkretne wskazanie odpowiedzialnych w przypadku wystąpienia błędów w kodzie. Sędzia po przeanalizowaniu smart kontraktu zmuszony jest powołać biegłego, którym będzie informatyk. W rezultacie opinia biegłego, a nie sędziego stanowi w tej sytuacji jednoznaczny wyrok.
  • Koszty – ich redukcja w jednej kwestii powoduje powstanie kolejnych w innym aspekcie funkcjonowania smart contracts. Przechowywanie danych na blockchainie nadal jest dość kosztowne.

Zastosowanie smart kontraktów

Proces zakupu mieszkania jest prawdopodobnie najprostszym przykładem zastosowania smart contracts. W przypadku tradycyjnej metody jest to dość złożony proces. Wymaga on zaangażowania wielu osób trzecich w charakterze pośredników. Niezbędny jest m.in. agent ds. obrotu nieruchomościami, notariusz podczas podpisania umowy kupna, radca prawny, czy bank udzielający kredytu hipotecznego. Inteligentne umowy w przypadku nieruchomości będą zapisywane w blockchainie razem z elektronicznym tytułem własności. Nie ma więc potrzeby angażowania w cały proces prawnika.

Inne zastosowania smart kontraktów:

  • Pieniądze z zapisanymi warunkami ich wypłaty. Znalazły one zastosowanie w przypadku chociażby ICO (Initial Coin Offering). Praktycznie wszystkie projekty przeprowadzające finansowanie bazują na smart contracts. Inwestorzy przekazują środki w postaci np. etheru na adres danego smart kontraktu. Smart kontrakt natomiast automatycznie wypłaca im odpowiednią liczbę tokenów.
  • Funkcja escrow na serwisach aukcyjnych polegająca na tym, że kupujący wpłaca środki na specjalny rachunek powierniczy, a te zostają zwolnione dopiero w momencie otrzymania przez nabywcę danego towaru.
  • Automatyczne rozliczanie szkód i wypłata odszkodowań z ubezpieczeń oraz naliczanie wysokości składek, a także zgłaszanie zdarzeń losowych takich jak opóźnienia lotów lub pociągów.
  • Bezpieczne przekazywanie danych pacjentów w systemach służby zdrowia. W ten sposób otrzymują oni kontrolę nad danymi medycznymi m.in. przy zarządzaniu receptami, nad realizacją zamówień i wynikami badań.
  • Smart kontrakty usprawniają procesy zarządzania takie jak: przepływ pracy, a także niwelują sprzeczności, które stanowiłyby podstawę do sporów sądowych i redukują czas potrzebny do uzyskiwania niezbędnych zatwierdzeń oraz podpisów .
  • Smart contracts zaimplementowane w rzeczy fizyczne jak np. samochód lub nieruchomości umożliwiają sprawniejszy nadzór nad nimi przez właścicieli.
  • Optymalizacja procesów rozpatrywania wniosków o kredyty. Jest to szczególnie korzystne w przypadku umów, które są bardzo rozbudowane ze względu na masę różnych danych takich jak na przykład: dochody, poziom wydatków, czy zdolność kredytowa.
  • Dane osobowe w postaci cyfrowego ID zapisanego w blockchainie. Smart contracts ograniczają możliwość kradzieży tożsamości i upraszczają proces wprowadzenia weryfikacji w ramach KYC (know your customer).
  • Minimalizacja możliwości wystąpienia fałszerstw we wszelkiego rodzaju wyborach, ponieważ głosy zapisane są na blockchainie. Usprawniają również proces liczenia głosów oraz skracają czas głosowania, gdyż odbywa się ono online. Smart contracts w tym aspekcie zostały już wprowadzone w Estonii i Zachodniej Wirginii.
  • Ułatwienie śledzenia praw własności do produktów w ramach łańcuchów dostaw na różnych etapach. Upraszczają także śledzenie lokalizacji dostawy i wywiązywania się ze zobowiązań przez kontrahentów.

Czy warto postawić na inteligentne umowy?

Niewątpliwie smart kontrakty stanowią rewolucję w dziedzinie ekonomii, biznesu i optymalizacji procesów niezbędnych do zawierania umów. Gwarantują one niesamowitą oszczędność czasu i innych zasobów jeśli zostaną zastosowane na szeroką skalę. Niezbędne będzie także nadanie im odpowiednich ram prawnych, które unormują kwestie inteligentnych umów. Smart contracts w przyszłości z pewnością zdecydowanie uproszczą wiele dziedzin życia takich jak: procesy zawierania umów kupna-sprzedaży czy usprawnienie zarządzania zużyciem energii. Mechanizmy smart kontraktów mogą również uniemożliwiać próby fałszowania wyników w przeprowadzanych wyborach i referendach. Dzięki temu istnieje możliwość, że staną się fundamentalnym narzędziem w funkcjonowaniu każdego demokratycznego państwa. Czy warto więc postawić na inteligentne umowy w przyszłości? Zdecydowanie tak.

Naucz się tworzyć smart kontrakty

W internecie są strony strony, które udostępniają wiedzę na temat kodowania inteligentnych umów. Język Solidity można poznać całkowicie za darmo dzięki CryptoZombies, tworząc własną grę.

Dodaj komentarz