Czym jest smart kontrakt w prostych słowach: przykłady, tworzenie

Smart kontrakt to specjalny protokół zaprojektowany do tworzenia, weryfikacji i realizacji kontraktu na blockchainie. Smart kontrakt jest napisany w określonym języku komputerowym i działa w ramach określonego protokołu; będzie działał tylko wtedy, gdy wszystkie dane wejściowe zostaną wykonane.

Inteligentne kontrakty pozwalają na nieodwracalne i bezpieczne transakcje bez pośredników. Główną różnicą w stosunku do kontraktów papierowych jest to, że nie można ich stworzyć bez udziału wykwalifikowanego programisty. Każdy inteligentny kontrakt to kod oprogramowania, który zawiera zobowiązania zaangażowanych stron.

Inteligentne kontrakty, stosowane w wielu sieciach blockchain, działają automatycznie. Zobowiązania są zapisane w kodzie w formie „jeżeli – to”. Na przykład „jeśli użytkownik A wykona zadanie 1, to użytkownik B przekaże określoną kwotę użytkownikowi A”. Smart kontrakty są przechowywane w zdecentralizowanych rejestrach. Oznacza to, że żadne informacje nie mogą zostać zmienione lub uszkodzone, a szyfrowanie danych zapewnia całkowitą anonimowość uczestników. Na razie mogą one pracować jedynie z aktywami bazowymi ekosystemów blockchain, ale już teraz bada się możliwość połączenia świata rzeczywistego ze środowiskiem cyfrowym.

co to jest smart kontrakt

Krótka historia

Nie, inteligentne kontrakty nie zaczęły być wykorzystywane w tym samym czasie co kryptowaluty. Taki pomysł powstał jeszcze w latach 90. dzięki Nickowi Szabo, amerykańskiemu naukowcowi i kryptografowi. Szabo opisał inteligentny kontrakt jako „zestaw obietnic, sporządzonych cyfrowo według określonego protokołu, w którym strony spełniają te obietnice”. Choć idea inteligentnego kontraktu była lukratywna i postępowa, nigdy tak naprawdę się nie przyjęła. Jej czas nadszedł dopiero w 2008 roku (kiedy pojawiła się technologia blockchain i bitcoin).

Architektura blockchaina pierwszej kryptowaluty nie pozwalała jednak na jej pełne wdrożenie. Wymagałoby to stworzenia dodatkowych superstruktur, ale deweloperzy nie robili tego we wczesnych latach. Aby zrealizować pomysł Nicka Szabo, należało stworzyć alternatywną kryptowalutę, która byłaby bardziej przystosowana do tak złożonych scenariuszy. W 2015 roku uruchomiono platformę Ethereum, na której inteligentne kontrakty mogły udowodnić swoją przydatność. Deweloperzy mogli teraz tworzyć aplikacje bez konieczności uruchamiania własnego blockchaina.

Środowisko do obsługi inteligentnych kontraktów

Tworzenie inteligentnych kontraktów, jak również monitorowanie inteligentnych kontraktów wymaga spełnienia pewnych warunków:

  1. Musi być stosowana metoda podpisu elektronicznego, np. szyfrowanie asymetryczne.
  2. Muszą istnieć otwarte bazy danych dla realizowanych transakcji. Nie może też działać najmniejszy czynnik ludzki (najlepszym przykładem jest blockchain w bitcoinie).
  3. Konieczne jest zdecentralizowane wykonywanie inteligentnych kontraktów. Przykłady: Ethereum, Codius i Counterparty.
  4. Bazowy ekosystem musi posiadać tokeny i mieć odpowiednio wysoką przepustowość i skalowalność. Brak znaczników czasu i powolne przetwarzanie transakcji to jedne z głównych powodów nie uruchamiania inteligentnych kontraktów w łańcuchu bitcoin.

Jak działa blockchain i smart kontrakty?

Istnieje nierozerwalny związek między inteligentnym kontraktem a blockchainem, ponieważ kod i algorytm muszą być gdzieś zapisane.

Zasada działania platformy smart kontraaktów

  1. Trzeba dokonać transakcji i jest ona przekazywana do węzłów (sieć komputerowa węzłów typu peer-to-peer).
  2. Inteligentny kontrakt weryfikuje podpisy obu stron, a także spełnienie każdej klauzuli z warunków kontraktu.
  3. Następnie kontrakt podejmuje decyzję na podstawie ostatniej klauzuli.
  4. Inteligentny kontrakt finalizuje transakcję i rozdziela aktywa pomiędzy strony. Jeśli warunki nie zostaną spełnione prawidłowo, platforma wystawia kary i ogranicza dostęp do aktywów.

Na platformie Ethereum, inteligentne kontrakty są aktywowane przez określoną ilość gazu (prowizję) wymaganą do przeprowadzenia transakcji.

Przykładowy kod dla inteligentnego kontraktu

Język inteligentnego kontraktu to np. Python, C, C+ itp.. Tak więc, tworzenie kontraktów wymaga podstawowej znajomości podstaw programowania. W przypadku, gdy ktoś nie posiada takiej wiedzy, konieczne będzie zaangażowanie innych programistów. Następnie należy wybrać jeden z dostępnych blockchainów.

Proste kontrakty opierają się na logice „jeżeli…, to…, w przeciwnym razie…”.

Przykład inteligentnego kontraktu:

smart kontrakt przykład

Tak się złożyło, że w 2017 roku uruchomiono projekt, który może znacznie ułatwić tworzenie inteligentnych kontraktów osobom niezorientowanym w takiej tematyce. A jest nim właśnie Etherparty. Na chwilę obecną powstała jedynie wersja beta platformy.

Gdzie można zastosować smart kontrakty?

Jeśli spojrzeć na analizy Deloitte zebrane w 2016 roku, to głównym kandydatem do adopcji inteligentnych kontraktów są zdecydowanie rozliczenia. Istnieją również inne obiecujące obszary, w tym opieka zdrowotna, logistyka i zakupy online. Przeanalizujmy każdy z tych obszarów.

Clearing

Clearing odnosi się do dużej liczby różnych ustaleń, które mają miejsce między bankami a zarówno firmami, jak i osobami fizycznymi. Firma rozliczeniowa jest zobowiązana do rozliczania absolutnie wszystkich rozliczeń między swoimi klientami, aby zminimalizować przepływ środków z jednego konta na drugie i opłaty za przelew.

Ze względu na to, że ręczne przetwarzanie transakcji jest bardzo drogie i zajmuje dużo czasu, firmy korzystają z rejestru blockchain, w którym zapisywane są transakcje i warunki samych stron, po czym resztę załatwią inteligentne kontrakty.

Opieka zdrowotna

Blockchain i inteligentne kontrakty tworzą bezpieczne rejestry dla dokumentacji medycznej. Ponieważ tego typu informacje są poufne, możliwe jest nałożenie ograniczeń na przeglądanie wielopodpisowych rekordów. Na przykład, jeśli obie strony (pacjent i jego lekarz) będą chciały podzielić się informacjami z innym specjalistą, będą mogły to zrobić za pomocą swoich cyfrowych podpisów.

Takie łączenie informacji ułatwi prowadzenie badań naukowych i anonimowych ankiet. Jeśli badacz chce podziękować osobie, która podzieliła się z nim przydatnymi informacjami, inteligentny kontrakt jest najlepszym sposobem na dokonanie płatności.

Logistyka

Ze względu na biurokrację związaną z zatwierdzaniem różnych formularzy, cierpi również logistyka. W związku z tym oszuści mają szansę zarobić, podczas gdy firmy ponoszą jedynie straty. Blockchain może pomóc zapobiec tym problemom, ponieważ wszyscy zaangażowani mają dostęp do całkowicie bezpiecznego systemu, który kontroluje zarówno sposób wykonania pracy, jak i sposób zapłaty.

Na przykład Barclays Corporate Bank wykorzystuje inteligentne kontrakty do rejestrowania przeniesień własności i automatycznego przekazywania środków do innych instytucji finansowych.

Sklepy internetowe

Inteligentne kontrakty pozwalają na śledzenie całego łańcucha dostaw. Na przykład, składasz zamówienie w sklepie internetowym. Blockchain przechwytuje płatność za zamówienie, ale środki są przekazywane na konto sprzedawcy dopiero po otrzymaniu przez Ciebie towarów i potwierdzeniu Twojego zadowolenia.

Podczas tworzenia NFT cyfrowe treści multimedialne i inne pliki komputerowe są przekształcane w niezmienne aktywa blockchain o określonym standardzie. Rozpoczynając proces, ustawiasz inteligentny kontrakt, który określa cechy konkretnego tokena (lub serii tokenów). Powstało kilka standardów tworzenia NFT na blockchainie. Jednymi z najbardziej popularnych są standardy Ethereum ERC-721 i ERC-1155.

Ponieważ protokoły smart kontraktów stanowią podstawę NFT, stają się one ważnym narzędziem do tworzenia metaverse i gier. Inteligentne kontrakty upraszczają proces przekazywania wartości, eliminując potrzebę pośredników, rozwiązując tym samym wiele problemów, które pojawiają się podczas interakcji graczy w wirtualnych światach.

Inteligentne kontrakty umożliwiające wybijanie tokenów NFT zapewniają walidację praw własności, poświadczeń edukacyjnych i licencji. Mogą być wykorzystywane do zwalczania plagiatów i różnych fałszerstw.

Jak stworzyć i używać inteligentnego kontraktu na Ethereum?

Ethereum to program do tworzenia inteligentnych kontraktów. Aby stworzyć nowy kontrakt, musisz poznać język programowania używany do bezpośredniego napisania lub skompilowania go. Ethreum używa języka Solidity. Jest to wysokopoziomowy język zorientowany na kontrakty, którego składnia jest podobna do JavaScript.

Został zaprojektowany do pracy z maszyną wirtualną Ethereum, która jest środowiskiem wykonawczym dla inteligentnych kontraktów w tym łańcuchu. Kod wykonywany wewnątrz EVM nie ma dostępu do sieci, systemu plików ani innych procesów. Smart kontrakty mają ograniczony dostęp do innych smart kontraktów działających osobno w sieci. Proces tworzenia inteligentnego kontraktu w sieci Ethereum można z grubsza podzielić na trzy etapy:

  • Skomponowanie inteligentnego kontraktu.
  • Przekształcenie go w kod bajtowy za pomocą kompilatora EVM
  • Przesłanie do blockchaina za pomocą klienta Ethereum

Jednym z najbardziej znanych zasobów internetowych, dla osób zainteresowanych inteligentnymi kontraktami, jest GitHub. Umieszczonych jest tam wiele repozytoriów open source. Korzystając z tych programów i zasobów, każdy programista może tworzyć inteligentne kontrakty.

Różnice między inteligentnymi kontraktami a zwykłymi kontraktami

Warto podkreślić różnice pomiędzy inteligentnymi kontraktami a ich papierowymi odpowiednikami:

  • Lokalizacja. Inteligentny kontrakt jest wirtualnym dokumentem, który wykorzystuje blockchain do pracy, podczas gdy konwencjonalny kontrakt znajduje się na papierze.
  • Przechowywanie. Te pierwsze są przechowywane w blockchainie, te drugie opierają się na prawie i przepisach.
    Używany język. Inteligentne kontrakty wykorzystują język komputerowy, podczas gdy zwykłe kontrakty wykorzystują język prawny.
  • Bezpieczeństwo. Inteligentne kontrakty nie wymagają pośredników i są bezpieczne, podczas gdy wersja papierowa jest ryzykowna i potrzebuje pośredników.
  • Wykorzystywane środki. Inteligentne kontrakty używają kryptowalut do płacenia za usługi, podczas gdy zwykłe kontrakty używają zwykłych pieniędzy.
  • Warunki. Inteligentne kontrakty nie pozwalają na zmianę warunków umowy, podczas gdy wersja papierowa może zostać przepisana.
  • Czas trwania procesu. Jeśli każdy warunek jest spełniony, wymiana wartości w inteligentnym kontrakcie jest natychmiastowa. W przypadku konwencjonalnych kontraktów przygotuj się na opóźnienia.
  • Sporządzanie umowy. Stworzenie inteligentnego kontraktu nie będzie wymagało pomocy prawników, ale taki kontrakt trudno jest sporządzić samodzielnie.

Zalety i wady

Zalety korzystania z inteligentnych kontraktów:

  • Brak konieczności szukania pośrednika lub specjalisty do sporządzenia umowy.
  • Całkowite bezpieczeństwo zapewnione przez zaszyfrowane przechowywanie kontraktu w rejestrze.
  • Niezawodność zapewniona przez wielokrotne powielanie dokumentów w blockchainie.
  • Brak konieczności korzystania z pośredników, co tylko oszczędza pieniądze.
  • Brak konieczności ręcznego wypełniania formularzy, co wiąże się z własnym ryzykiem dopuszczenia do różnych błędów.

Jednak nawet ten typ umowy ma swoje wady. Na przykład:

  • Smart kontrakty mają jeszcze długą drogę do przebycia. Istnieje przecież możliwość, że w kodzie pojawiają się błędy.
  • Nie wiadomo dokładnie, jak władze będą je regulować, ponieważ nie ma jeszcze ostatecznej ustawy o inteligentnych kontraktach.
  • Nie wiadomo, ile podatku będzie pobierane od transakcji dokonywanych za pośrednictwem smart kontraktów.
  • Mają one znacznie mniejszą elastyczność, nie ma możliwości zmiany informacji zawartych w smart kontrakcie.
  • Duża część banków nie jest zadowolona z wymiany poufnych danych w otwartych rejestrach.
  • Istnieje problem z szybkością przetwarzania transakcji.

Jednym z największych problemów ze smart kontraktami są wyrocznie (zewnętrzni agenci odpowiedzialni za ważność informacji, które zostały przekazane z zewnątrz). Wyroczniami mogą być:

  • urządzenia pomiarowe (np. termometr);
  • uczestnicy sieci, którzy świadczą usługi dla systemu blockchain;
  • systemy zdecentralizowane, które posiadają własny mechanizm konsensusu zbudowany na szczycie bazowego rejestru.

Czasami wyrocznie są zintegrowane z blockchainem, co pozwala im działać jako jeden mechanizm. Użytkownik wysyła im zapytania jako transakcje, na które wyrocznie odpowiadają transakcją w blockchainie. Ponieważ zarówno pytanie, jak i odpowiedź nie wychodzą poza rejestr, inni użytkownicy mogą przeglądać i uzgadniać informacje.

Duża liczba deweloperów jest obecnie zajęta pracą nad niedociągnięciami inteligentnych kontraktów, a są one różnie rozwiązywane na różnych platformach. Wraz z postępem, w niedalekiej przyszłości większość problemów zostanie rozwiązana, a ludzkość będzie zawierać kontrakty cyfrowo.

 

Comments (No)

Leave a Reply