Smart contrakty – do czego to? + 3 przykłady

A taki stock, co to pasuje do tematu – smart contrakty 🙂

Cześć!
Dzisiaj bardziej od strony biznesowo-praktycznej.
Do czego można użyć smart contraktów?

Smart contrakt to taka umowa, która zamiast opierać się na obowiązującym prawie, bazuje na kodzie napisanego programu. W skrócie: code is the law.

Pomysł jest dość prosty: zamiast pisać umowę, która musi być wykonane przez ludzi, można napisać program, który wykona komputer. Nawet jeżeli dojdzie do błędu (celowego lub nie) w realizacji programu, to komputery sprawdzające wynik natychmiast go wykryją i poprawią błąd. W przypadku Ethereum komputerami sprawdzającymi kontrakty są node’y sieci Ethereum.
Brzmi fajnie, ale co konkretnie da się zrobić?

Sporządzić i wykonać testament

Załóżmy, że osoba A chce przekazać po swojej śmierci osobie B wszystkie środki zgromadzone w kryptowalucie. Da się tę sytuację opisać smart contraktem, pojawia się jednak jeden problem: w jaki sposób dodać do kontraktu informację o tym, że osoba A zmarła? Z oczywistych względów osoba A tego nie zrobi, ale może to zrobić osoba B. Takie rozwiązanie niesie jednak ze sobą ryzyko wyłudzenia spadku przed śmiercią spadkodawcy.
Jak się przed tym zabezpieczyć?
Na przykład: piszemy kontrakt, który umożliwia wypłacenie środków osobie B , ale tylko jeżeli kontrakt nie otrzymał wiadomości od osoby A przez ostatnie 6 miesięcy. W ten sposób osoba A może co 6 miesięcy informować kontrakt, że wszystko jest OK, a w przypadku nieszczęśliwego wypadku oszczędności nie przepadną. Osoba A może też w dowolnym momencie zmienić spadkobiercę, zmieniając adres uprawnionego do wypłacenia spadku portfela ETH.

Zarządzać kapitałem

DAO (Decentralized Autonomous Organizations) to pomysł na organizację dysponującą własnym kapitałem. Taka organizacja może przeznaczać środki na cele wybrane przez jej członków w głosowaniu. Każdy może do niej dołączyć, uzyskując prawo głosu tym większe, im więcej zainwestował w organizację. DAO można użyć  np. do rozwijania otwartego oprogramowania, które otrzymuje w ten sposób stabilniejsze źródło finansowania. Takim oprogramowaniem może być np. konkretna implementacja blockchaina (Zcash ma pulę coinów na rozwój). Fajna sprawa.
DAO stało się sławne z jeszcze innego powodu. Błąd w kontrakcie jednego z największych DAO w historii pozwolił na wyłudzenie gigantycznej sumy pieniędzy i ostatecznie doprowadził do podziału Ethereum na ETH i ETC. Z implementacją DAO trzeba więc bardzo uważać.

Sprzedać rower

Czy da się napisać smart contrakt do sprzedania roweru? Tak, da się, ale nie jest to proste.
Dlaczego? W przypadku dwóch nieznających się osób (standardowa sytuacja przy sprzedaży roweru) potrzebne jest zabezpieczenie zarówno dla kupującego, jak i sprzedającego. Kupujący musi wiedzieć, że po uiszczeniu zapłaty za rower rzeczywiście go otrzyma. Sprzedający chce z kolei mieć pewność, że dostanie należne mu pieniądze.

Parę osób się nad tym pogłowiło i wymyśliło taki kontrakt: https://solidity.readthedocs.io/en/v0.4.24/solidity-by-example.html#safe-remote-purchase

Działa on tak:

  1. sprzedający zakłada kontrakt i wpłaca równowartość roweru np. w ETH;
  2. kupujący wpłaca na kontrakt dwukrotną równowartość roweru w ETH;
  3. sprzedający wysyła rower, bo chce odzyskać coiny, które wpłacił pod zastaw;
  4. kupujący potwierdza odbiór, bo chce odzyskać połowę swoich środków z kontraktu (wpłacił sumę 2 razy wyższą niż wartość roweru);
  5. kontrakt oddaje do portfeli sprzedającego i kupującego zastaw w wysokości równowartości  roweru w ETH;
  6. kontrakt przelewa sprzedającemu pozostałe środki – równowartość roweru w ETH;
  7. kupujący ma rower, sprzedający ma w swoim portfelu równowartość roweru w ETH. 🎉

Skomplikowane to. Dużo łatwiej wystawić rower na Allegro. Zarówno Allegro, jak i kontrakt zapewniają ubezpieczenie zakupu. W porównaniu z systemem ubezpieczania zakupów cała procedura nie wygląda już tak zawile.

Smart contrakty nie są złotym środkiem w każdej sytuacji – jak widać na przykładzie roweru, dużo prościej wystawić go na Allegro.
Jest jednak sporo problemów, dla których smart contrakty są idealnym rozwiązaniem mogą zaoszczędzić pieniądze i ułatwić współpracę w biznesie.

Chcesz nauczyć się podstaw smart contraktów i blockchaina?
Pobierz e-booka.