Smart Contracts - wszystko co powiniene艣 wiedzie膰 [Crypto 101] | CrypS.

Smart Contracts – wszystko co powiniene艣 wiedzie膰

8 min
Albert Czajkowski
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