Inteligentne kontrakty (smart contracts) - Token-Economy-Book/PolishTranslation GitHub Wiki

Inteligentny kontrakt jest fragmentem oprogramowania, który jest przetwarzany przez rozproszoną księgę. Jest to narzędzie do zarządzania prawami, które może formalizować i realizować umowy pomiędzy niezaufanymi uczestnikami za pośrednictwem Internetu, a także posiada wbudowaną kontrolę zgodności i kontrolę. Inteligentne kontrakty mogą zmniejszyć koszty formalizacji i egzekwowania prostej umowy między dwiema stronami, regulaminu organizacji lub tworzenia różnych rodzajów tokenów.

Czy zawarłbyś umowę z kimś, kogo nigdy nie spotkałeś, a więc nie znasz i nie ufasz? Czy zostałbyś inwestorem w małej firmie w obcym kraju? Czy zgodziłbyś się pożyczyć pieniądze obcej osobie, np. rolnikowi w Gwatemali, nauczycielowi w Chinach czy kasjerowi w Wielkiej Brytanii? A może zawarłbyś prawnie wiążącą umowę na zakup za 1 EUR przez Internet, np. kupno piosenki od artysty? Odpowiedź w każdym z powyższych przypadków brzmi prawdopodobnie nie, ponieważ koszt sporządzenia niezbędnej umowy prawnej zabezpieczającej transakcję jest zbyt wysoki. Alternatywą jest skorzystanie z usług zaufanych pośredników do zawierania takich umów, płacąc im za ich usługi opłaty rozliczeniowe. Modele biznesowe wielu gigantów technologicznych Web2, takich jak Amazon, eBay, Airbnb czy Uber, wynikają z braku godnej zaufania rodzimego sposobu rozliczeń wartości i systemów identyfikacji użytkownika. Inteligentne kontrakty w połączeniu z systemami tożsamości zorientowanymi na użytkownika mogą stanowić rozwiązanie obu tych problemów. Mogą one sformalizować relacje pomiędzy ludźmi i instytucjami oraz posiadanymi przez nich aktywami, całkowicie P2P, bez potrzeby korzystania z zaufanych pośredników.

Chociaż koncepcja inteligentnych kontraktów nie jest nowa, to sieci blockchain wydają się być katalizatorem dla wdrażania inteligentnych kontraktów. Bardziej prymitywną formą inteligentnego kontraktu jest automat sprzedający. Zasady transakcji są zaprogramowane w maszynie. Użytkownik wybiera produkt, naciskając numer związany z żądanym produktem i wkłada pieniądze. Jeśli włożysz wystarczająco dużo pieniędzy, automat jest zaprogramowany tak, aby wysunąć produkt. W przeciwnym razie nie otrzymamy produktu lub jeśli w automacie zabraknie produktu, otrzymamy z powrotem swoje pieniądze. Automatyczne automaty do sprzedaży sprawiły, że niektórzy uliczni sprzedawcy stali się przestarzali, ale rozszerzyły one również zakres usług, oferując dostępność 24/7 zamiast ograniczonych godzin otwarcia obsługiwanych przez człowieka sprzedawców.


Smart Contracts


Samo-egzekwujące się umowy

Inteligentny kontrakt jest samo-egzekwującą się umową, w postaci jako oprogramowania. Kod zawiera zestaw reguł, na podstawie których strony tego inteligentnego kontraktu zgadzają się na interakcję między sobą. Jeśli i kiedy predefiniowane zasady są spełnione, umowa jest automatycznie egzekwowana przez konsensus większości w sieci blockchain. Inteligentne kontrakty dostarczają mechanizmów do efektywnego zarządzania tokenizowanymi aktywami i prawami dostępu pomiędzy dwoma lub więcej stronami. Można o nich myśleć jak o skrzynce kryptograficznej, która odblokowuje wartość lub dostęp, jeśli i kiedy spełnione są określone, predefiniowane warunki. Inteligentne kontrakty zapewniają zatem publiczny i weryfikowalny sposób na osadzenie zasad zarządzania i logiki biznesowej w kilku liniach kodu, które mogą być kontrolowane i egzekwowane przez konsensus większości w sieci P2P.

Inteligentny kontrakt może być wywoływany przez podmioty wewnątrz (inne inteligentne kontrakty) i na zewnątrz (zewnętrzne źródła danych) sieci blockchain. Zewnętrzne źródła danych, tak zwane "oracles", wprowadzają dane które są istotne dla danego inteligentnego kontraktu, ze świata poza łańcuchem do tego inteligentnego kontraktu. Mogą one śledzić wykonanie umowy w czasie rzeczywistym, a zatem mogą oszczędzać koszty, ponieważ zgodność i kontrola odbywają się w locie. Inteligentne kontrakty zmniejszają koszty transakcyjne umów. W szczególności, zmniejszają koszty (i) osiągnięcia porozumienia, (ii) formalizacji oraz (iii) egzekwowania. Jeśli zostaną prawidłowo wdrożone, inteligentne kontrakty mogą zapewnić bezpieczeństwo transakcji przewyższające tradycyjne prawo umów, zmniejszając tym samym koszty koordynacji związane z audytem i egzekwowaniem takich umów. Inteligentne kontrakty omijają również dylemat (19) zleceniodawcy-agenta w organizacjach, zapewniając większą przejrzystość i odpowiedzialność oraz redukując biurokrację (czytaj więcej: Część 2 - Ekonomia instytucjonalna DAO).

Sam termin "inteligentny kontrakt" jest trochę niefortunny, ponieważ inteligentne kontrakty nie są ani szczególnie inteligentne, ani nie odzwierciedlają umów prawnych: (i) inteligentny kontrakt może być tylko na tyle inteligentny, na ile inteligentni są ludzie, którzy go kodują, biorąc pod uwagę wszystkie dostępne informacje w momencie kodowania; (ii) chociaż inteligentne kontrakty mogą mieć potencjał do egzekwowania umów prawnych [^1], jeśli spełnione są pewne warunki, najpierw musimy rozwiązać wiele kwestii techniczno-prawnych, co będzie wymagało czasu i interdyscyplinarnego dyskursu między prawnikami i twórcami oprogramowania.

Ponadto, bezpieczeństwo inteligentnych kontraktów jest nadal kwestią, która wymaga rozwiązania na poziomie technicznym. Aby inteligentne kontrakty były zgodne z umowami prawnymi, należy wdrożyć bardziej wyrafinowane klauzule umowne, w tym zdecentralizowane mechanizmy rozstrzygania sporów. Choć dojrzewanie takich rozwiązań może zająć więcej czasu, już teraz trwają prace nad kilkoma interesującymi rozwiązaniami w zakresie rozstrzygania sporów, których przykładami są "Kleros", "Openlaw" czy "Jur". Prawdopodobnie w ciągu najbliższych kilku lat będziemy świadkami powstania fuzji umów prawnych i inteligentnych kontraktów. W momencie pisania tej książki, takie najlepsze praktyki są nadal rzadkie i będą wymagały zbiorowego procesu uczenia się. Technologia wciąż się rodzi, a standardy prawne muszą zostać przyjęte.

Przypadki użycia w przemyśle

Przypadki użycia inteligentnych kontraktów są w zakresie od prostych do złożonych. Mogą być wykorzystywane do prostych transakcji gospodarczych, takich jak przesyłanie pieniędzy z punktu A do punktu B. Inteligentne kontrakty mogą być również wykorzystywane do rejestrowania wszelkiego rodzaju praw własności i własności, takich jak rejestry gruntów i własności intelektualnej, lub do zarządzania inteligentną kontrolą dostępu w gospodarce współdzielenia. Przypadki użycia można znaleźć w bankowości, ubezpieczeniach, energetyce, e-administracji, telekomunikacji, przemyśle muzycznym i filmowym, sztuce pięknej, mobilności, edukacji i wielu innych. Każda umowa, proces, zadanie czy płatność może być zarządzana zbiorowo. Wielu tradycyjnych pośredników, takich jak prawnicy, maklerzy, bankierzy czy administratorzy publiczni, a także platformy internetowe mogą nie być już potrzebni, a przynajmniej niektóre z ich usług mogą stać się przestarzałe. Samochody mogłyby wykorzystywać inteligentne kontrakty do płacenia własnych rachunków po zatankowaniu na stacji benzynowej lub naładowaniu się przy punkcie ładowania elektrycznego. Faktury mogłyby być rozliczane po przybyciu przesyłki z produktem. Inteligentne certyfikaty akcji w formie tokenizowanych papierów wartościowych mogłyby być zaprogramowane do przeprowadzania automatycznej wypłaty dywidend (czytaj więcej: Część 4 - Tokeny aktywów i własność frakcyjna).

Inteligentne kontrakty mogą zapewnić rodzimy sposób rozliczeniowy dla gospodarki współzarządzania, obecnie zarządzaną przez pośredników i przetwarzaną przez operatorów platform internetowych. P2P natura płatności umożliwiona przez inteligentne kontrakty zmniejsza koszty transakcji, co oznacza, że mikropłatności mogą stać się ekonomicznie bardziej wykonalne niż obecnie [^2]. Inteligentne kontrole dostępu pomiędzy dwoma rówieśnikami, którzy sobie nie ufają, mogłyby stanowić praktyczne rozwiązanie dla gospodarki współdzielenia bez scentralizowanych dostawców platform, którzy obecnie są właścicielami nieproporcjonalnie dużej części naszych danych, a zatem również wytworzonej wartości ekonomicznej. Mogłoby to doprowadzić do powstania gospodarki współdzielenia na sterydach: mieszkania, samochody, pralki, rowery, kosiarki do trawy - gdy wszystkie te urządzenia zostaną oznaczone własnym adresem blockchain (lub DID), mogłyby być zarządzane przez inteligentny kontrakt, który działa jak cyfrowy zamek.

Bardziej złożonym przykładem inteligentnego kontraktu jest przypadek samo-zarządzającego się lasu, jak w przypadku "Terra0", gdzie inteligentny kontrakt zbudowany na blockchain Ethereum zarządza wyrębem i sprzedażą drzew z lasu w Niemczech. Drony i satelity monitorują wzrost lasu i uruchamiają zdarzenia w inteligentnym kontrakcie, takie jak umowy podwykonawstwa na wyrąb lasu i sprzedaż drewna.

Ponadto, inteligentne kontrakty mogą być wykorzystywane do znacznie bardziej złożonych umów pomiędzy wieloma podmiotami, wzdłuż łańcucha dostaw towarów lub usług, lub do zarządzania grupą ludzi, którzy mają te same interesy i cele, bez potrzeby korzystania z tradycyjnych scentralizowanych instytucji. Zdecentralizowane organizacje autonomiczne (DAO) są takim przykładem i prawdopodobnie reprezentują najbardziej powszechną formę złożonych inteligentnych kontraktów. Inteligentny kontrakt formalizuje zasady zarządzania organizacją, takie jak regulaminy, statuty, regulaminy i zastępuje codzienne zarządzanie operacyjne samo-egzekwującym się kodem.

Inteligentne kontrakty i DAO (Zdecentralizowane Organizacje Autonomiczne) mogą również zmienić funkcjonowanie mediów społecznościowych, w takiej postaci w jakiej je obecnie znamy. Sieci społecznościowe oparte na Web2 pobierają opłaty w postaci danych od użytkowników, które następnie spieniężają. W Web3, inteligentne kontrakty mogą umożliwić stworzenie ekosystemów, w których użytkownicy będą mogli czerpać korzyści z aktywności w sieci, otrzymując wynagrodzenie w postaci tokenów sieciowych. Przykładem tego może być "Steemit", zdecentralizowana sieć społecznościowa, która jest zorganizowana jako DAO i motywuje użytkowników tokenami sieciowymi (czytaj więcej: Część 4 - Steemit).

Inteligentne kontrakty i rozproszone księgi mogą być również katalizatorem dla rozliczeń między maszynami w "Internecie Rzeczy". Wymaga to jednak, aby wszystkie obiekty w takim Internecie Rzeczy posiadały tożsamość blockchain, a zatem mogły być unikalnie adresowane. Adresowalność każdej pojedynczej maszyny lub innego obiektu fizycznego musi być odporna na manipulacje. Można to osiągnąć poprzez znakowanie lub chipowanie obiektów za pomocą tak zwanego "akceleratora kryptowalut", który jest również określany jako "cyfrowy bliźniak". Akcelerator kryptograficzny to mały mikrokontroler zoptymalizowany do uruchamiania najważniejszych algorytmów kryptograficznych. Może mieć wielkość naklejki na kawałku owocu i dlatego może służyć jako podstawa dla takich przypadków użycia, jak przejrzystość łańcucha dostaw. Dzięki cyfrowemu bliźniakowi, każdy obiekt fizyczny może wysyłać unikalne podpisy cyfrowe lub wysyłać i odbierać tokeny. Przewidując obecne tempo rozwoju tej technologii w przyszłości, a także biorąc pod uwagę konwergencję z innymi wschodzącymi technologiami, takimi jak IoT, Big Data i AI, możemy teraz wyobrazić sobie świat, w którym osoby, organizacje i maszyny mogą swobodnie wchodzić w interakcje między sobą przy niewielkim tarciu i za ułamek obecnych kosztów.

Inteligentne kontrakty mogą być ponadto wykorzystywane do tworzenia i zarządzania kryptograficznymi tokenami, które mogą reprezentować dowolne aktywa lub prawa dostępu, a nawet motywować do określonego zachowania. Tokeny mogą okazać się jednym z najważniejszych zastosowań inteligentnych kontraktów, potencjalnie rewolucjonizując zarządzanie aktywami, jakie znamy. Dlatego też dwie ostatnie części tej książki są w całości poświęcone tematowi tokenów.

Oracles

Sieci blockchain i inteligentne kontrakty nie mają dostępu do danych spoza swojej sieci. Aby wiedzieć, co robić, inteligentny kontrakt często potrzebuje dostępu do informacji ze świata zewnętrznego, które są istotne dla porozumienia umownego, w postaci źródeł danych, zwanych również “wyroczniami” (ang. oracles). Wyrocznie te są usługami, które zasilają inteligentny kontrakt zewnętrznymi informacjami, które mogą wywołać predefiniowane działania inteligentnego kontraktu, które z kolei wywołują zmiany stanu księgi głównej. Te zewnętrzne dane pochodzą albo z oprogramowania (aplikacja Big Data), albo ze sprzętu (Internet Rzeczy).

Oracles programowe: obsługują dane informacyjne, które pochodzą ze źródeł internetowych, takich jak temperatura, ceny akcji lub towarów, czas przyjazdu samolotu lub pociągu itp.

Oracles sprzętowe: Niektóre inteligentne kontrakty potrzebują informacji bezpośrednio ze świata fizycznego, na przykład samochód przekraczający barierę, gdzie czujniki ruchu muszą wykryć pojazd i przesłać dane do inteligentnego kontraktu, lub czujniki RFID w branży łańcucha dostaw.

Inbound oracles: dostarczają dane ze świata zewnętrznego.

Zewnętrzne oracles: zapewniają inteligentnym kontraktom możliwość wysyłania danych do świata zewnętrznego.

Oracles oparte na konsensusie: uzyskują swoje dane z ludzkich rynków konsensusu i predykcji, takich jak "Augur" lub "Gnosis". Jednak korzystanie tylko z jednego źródła informacji może być zawodne, ponieważ rynki mogą być manipulowane; potrzebne mogą być systemy ratingowe dla wyroczni. Połączenie różnych usług wyroczni może jeszcze bardziej zwiększyć wiarygodność danych, jeśli na przykład trzy z pięciu wyroczni będą w stanie określić wynik wydarzenia.

Głównym wyzwaniem związanym z wyroczniami jest to, że ludzie muszą ufać tym zewnętrznym źródłom informacji, niezależnie od tego, czy pochodzą one z witryny internetowej czy z czujnika. Ponieważ wyrocznie są usługami stron trzecich, które nie są częścią mechanizmu konsensusu blockchain, nie podlegają one podstawowym mechanizmom bezpieczeństwa, które zapewnia ta publiczna infrastruktura. Można by powielać ataki typu "man-in-the-middle" [^3] stojąc pomiędzy kontraktami a wyroczniami. Zapewnienie solidności tej "drugiej warstwy" jest niezwykle ważne.

Różne zaufane narzędzia kryptograficzne i techniki obliczeniowe mogą być wykorzystane jako sposób na rozwiązanie tych problemów. Jeśli bezpieczeństwo wyroczni nie zostanie odpowiednio zapewnione, będzie to przeszkodą w powszechnym wdrażaniu inteligentnych kontraktów.

Warto zauważyć, że inteligentny kontrakt nie czeka, aż dane z zewnętrznego źródła wpłyną do systemu. Kontrakt musi zostać wywołany, co oznacza, że trzeba poświęcić zasoby sieciowe na wywołanie danych ze świata zewnętrznego. Powoduje to powstanie sieciowych kosztów transakcyjnych. W przypadku Ethereum byłby to koszt “gazu".

Przypadek użycia kupna używanego samochodu

Jeśli dwie osoby, powiedzmy Alice i Bob, nie znają się i nie ufają sobie nawzajem, zazwyczaj potrzebują zaufanej strony trzeciej, która służy jako pośrednik do weryfikacji transakcji i ich egzekwowania. Dzięki inteligentnym umowom i sieciom blockchain nie potrzebujesz już tych zaufanych pośredników do rozliczania lub rozrachunku transakcji. Weźmy za przykład kupno i sprzedaż samochodu: jeśli Alice chce dziś kupić samochód od Boba, wymagana jest seria zaufanych stron trzecich, aby zweryfikować i uwierzytelnić transakcję. Proces ten różni się w zależności od kraju, ale zawsze obejmuje co najmniej jedną, a zazwyczaj więcej zaufanych stron trzecich: organ rejestrujący pojazdy silnikowe, w połączeniu z notariuszem i/lub firmą ubezpieczeniową. Może to być skomplikowany i długotrwały proces, łącznie z wynikającymi z niego opłatami. Jeśli i kiedy wszystkie zaangażowane organy i firmy używają współ-zarządzanych ksiąg rachunkowych, to inteligentny kontrakt mógłby być użyty do sformalizowania wszystkich zasad ważnej sprzedaży samochodu, w tym rozliczenia za dodatkowe usługi, takie jak zakup polisy ubezpieczeniowej. Jeśli Alicja chciałaby kupić samochód od Boba przy użyciu inteligentnych kontraktów, potencjalny proces mógłby wyglądać następująco:

  • Bob użyje Internetu, aby znaleźć serwis, w którym będzie mógł zamieścić swój używany samochód i określić warunki sprzedaży, używając inteligentnego kontraktu - na przykład na jakiejś zdecentralizowanej wersji eBay. Ten krok nie różni się od dzisiejszego, ale usługi oparte na inteligentnych kontraktach muszą być kompatybilne z Web3, aby komunikować się z siecią blockchain. Ta usługa inteligentnego kontraktu może również zapewniać inteligentny garaż, który również komunikuje się z siecią blockchain. Bob będzie więc musiał pobrać oprogramowanie, które jest zgodne z Web3 z wbudowanym portfelem, który zapewni mu unikalną tożsamość blockchain - adres blockchain z powiązaną parą kluczy publiczno-prywatnych (czytaj więcej: Część 1 - Kryptografia).

  • Alicja będzie również korzystać z Internetu, tak jak robi to dzisiaj. Będzie przeszukiwać sieć, aby znaleźć zdecentralizowaną wersję serwisu eBay, gdzie Bob wystawił swój samochód. Alicja będzie musiała również pobrać przeglądarkę kompatybilną z Web3.

  • Jeśli Alicja znajdzie samochód, który jej się podoba i chce go kupić - powiedzmy samochód Boba - kliknie "Kup", a usługa oparta na inteligentnym kontrakcie wykorzysta sieć blockchain, aby sprawdzić, czy Bob jest właścicielem samochodu i czy Alicja ma wystarczającą ilość dostępnych środków. Informacje o obu stanach - tytuły własności samochodu, który Bob chce sprzedać, oraz ilość tokenów, które posiada Alicja - są zapisywane w księdze głównej. Po kliknięciu przycisku "Kup" usługa inteligentnego kontraktu może również dać jej możliwość wyboru planu ubezpieczeniowego, a wybrane firmy ubezpieczeniowe, które są również zarejestrowane w księdze głównej i połączone z usługą inteligentnego kontraktu, zapewniają to ubezpieczenie (w takim przyszłym scenariuszu plan ubezpieczeniowy mógłby prawdopodobnie być obliczany momentalnie, gdzie stawki byłyby oparte na danych samochodu i historii jazdy Alicji).

  • Jeśli sieć zgodzi się, że oba stany są prawdziwe - że Alicja ma wystarczające środki i że Bob jest naprawdę właścicielem samochodu - sieć blockchain zarejestruje Alicję jako nowego właściciela samochodu, a ich salda środków zostaną automatycznie zaktualizowane: Bob ma teraz 20 000 tokenów więcej na swoim koncie, podczas gdy Alice ma 20 000 tokenów mniej w swoim portfelu. Następnie Alice otrzymuje kod dostępu do inteligentnego zamka w garażu. Co więcej, Alice jest teraz również zarejestrowana w wybranej przez siebie firmie ubezpieczeniowej, którą wybrała przy zakupie samochodu, uruchamiając kolejny inteligentny kontrakt.

  • Bob może teraz zaparkować swój samochód w garażu. Jego samochód, który również posiada unikalną tożsamość na blockchain, zostanie teraz zarejestrowany jako zaparkowany w garażu, a Alice otrzyma powiadomienie o miejscu odbioru samochodu wraz z kodem dostępu.

  • Alice może teraz odebrać samochód w określonym garażu, chronionym przez inteligentny zamek podłączony do blockchain i zarządzany przez inteligentny kontrakt, z którego korzystają zarówno Bob, jak i Alice. Może odblokować garaż za pomocą swojego klucza prywatnego, który identyfikuje ją jako prawowitą właścicielkę samochodu. Samochód jest jej, jest zarejestrowany na jej nazwisko i ma ubezpieczenie.


Buying a second hand car in the Web2


Buying a second hand car in the Web3


Korzystając z inteligentnych kontraktów, możemy teraz uniknąć ręcznej ingerencji niektórych instytucji, takich jak urzędy ds. pojazdów, firmy ubezpieczeniowe, a w niektórych krajach także notariusze, jeśli i kiedy środowisko regulacyjne na to pozwoli. Każdy komputer z protokołem blockchain będzie w stanie sprawdzić, czy ktoś jest prawowitym właścicielem samochodu, czy nie. Kradzież samochodów nie będzie już tak łatwa jak dziś, gdy samochody zostaną wyposażone w cyfrowe klucze wykorzystujące inteligentne kontrakty do kontroli dostępu. Niektóre zautomatyzowane procesy będą również wymagały zbieżności inteligentnych kontraktów z danymi dostarczanymi przez zewnętrzne oprogramowanie i sprzęt, tak jak w przypadku zdjęć robionych w garażu w celu monitorowania stanu samochodu. Jako właściciel samochodu, mógłbyś ponadto wykorzystać inteligentne kontrakty do upoważniania innych osób do prowadzenia Twojego samochodu, rejestrując ich tożsamość w blockchain z inteligentnym kontraktem Twojego samochodu.

Bezpieczeństwo inteligentnych kontraktów jest ważną kwestią dla powszechnego zaadoptowania przypadków użycia: (i) Bezpieczeństwo Oracle: upewnienie się, że dane pochodzące ze źródeł spoza łańcucha mogą być zaufane; (ii) Bezpieczne kodowanie i formalna weryfikacja: wspomagane komputerowo sprawdzanie i testowanie kodu w odniesieniu do specyfikacji sposobu zachowania; (iii) Bezpieczeństwo proceduralne i rozstrzyganie sporów: dodatkowe mechanizmy on-chain i off-chain służące do rozwiązywania skarg lub nieprzewidzianych sytuacji wynikających z wykorzystania inteligentnych kontraktów w trybie runtime. Interesującym aspektem, którym należy się zająć, zarówno z punktu widzenia bezpieczeństwa, jak i z punktu widzenia adopcji na rynku, mogą być alternatywne języki programowania inteligentnych kontraktów w stosunku do tych, które są obecnie stosowane. Połączenie inteligentnych kontraktów i umów prawnych to kolejna ważna kwestia, która będzie wymagała interdyscyplinarnych badań i rozwoju. Ponadto inteligentne kontrakty powinny być zaprojektowane w taki sposób, aby spersonalizowane dane były ujawniane tylko tym uczestnikom procesu, którzy muszą znać te informacje. Inteligentne kontrakty będą musiały być zgodne z regulacjami chroniącymi prywatność (prywatność poprzez zaprojektowanie).

Jak wskazano powyżej, wiele przypadków użycia inteligentnych kontraktów będzie możliwe jedynie w połączeniu z innymi technologiami, takimi jak aplikacje ‘big data’ i "Internet Rzeczy". Takie współdziałanie technologii może utorować drogę dla zupełnie nowych produktów, usług i klas aktywów w nadchodzących dekadach. Może jednak pojawić się również wiele pytań natury społeczno-politycznej. Gdy wszystkie przedmioty zostaną oznaczone unikalnym adresem (tożsamością) blockchain, a zatem będą mogły być jednoznacznie przywoływane w sieci blockchain, a także gdy będą kontrolowane przez mniej lub bardziej inteligentne oprogramowanie, urządzenia te mogłyby stać się autonomicznymi podmiotami gospodarczymi w gospodarce opartej na człowieku-maszynie. Jednak pytania o to, (i) czy i jak przeniesiemy zarządzanie z ludzi na maszyny, (ii) jakie społeczno-polityczne implikacje może mieć taki rozwój wypadków oraz (iii) jak chcemy kształtować takie zjawiska jako społeczeństwo, muszą być publicznie przedyskutowane przed zaprojektowaniem takich systemów.

Historia inteligentnych kontraktów

Chociaż termin "inteligentny kontrakt" stał się bardziej popularny od czasu pojawienia się najpierw Bitcoin, a następnie Ethereum, został on po raz pierwszy sformułowany przez Nicka Szabo w 1996 roku, a zatem poprzedza rozwój sieci blockchain. To właśnie we wczesnych dniach Web, Szabo zwrócił uwagę, że rewolucja cyfrowa nie tylko stworzy nowe instytucje, ale także może sformalizować relacje ekonomiczne i społeczne. Było to dwadzieścia lat przed tym, jak światło dzienne ujrzało Ethereum, które spowodowało renesans tego terminu. Szabo uzasadnił termin “smart" (ang. inteligentny) funkcjonalnością, jaką niosą ze sobą kontrakty cyfrowe, które mają być automatycznie weryfikowane i realizowane: cyfrowy dziennik transakcji, który automatycznie realizuje warunki umowy w celu wypełnienia uzgodnionych warunków w umowie. Automatyczne zarządzanie relacjami i zobowiązaniami wszystkich zaangażowanych stron, wyłącznie za pomocą kodu komputerowego.

W przeciwieństwie do tradycyjnych umów, które gwarantują bezpieczeństwo kontraktowe za pomocą reaktywnych procedur wykorzystujących instrumenty istniejącego systemu prawnego, inteligentne kontrakty - zdaniem Szabo - mogą proaktywnie zapobiegać temu reaktywnemu zabezpieczeniu "po fakcie" poprzez zautomatyzowane mechanizmy, czyniąc potencjalne naruszenie umowy możliwym, ale kosztownym. Szabo zwrócił uwagę, że reaktywne procedury istniejących systemów prawnych mogą zostać zminimalizowane, ale nigdy w pełni wyeliminowane. Aby zapewnić taki poziom proaktywnego bezpieczeństwa, inteligentne kontrakty powinny być automatyczne i (a) obserwowalne, (b) weryfikowalne oraz (c) egzekwowalne. W każdym przypadku, Szabo ostrzegł, że (d) prywatność danych musi być zagwarantowana poprzez ujawnianie tylko niezbędnych danych i tylko tym stronom umowy, które są uprawnione do ich przeglądania.

Szabo był bardzo konkretny w swoich opisach, jak technicznie sformalizować te relacje i wymienił wiele metod kryptograficznych, które mogą być użyte, takich jak kryptografia klucza publicznego i podpisy cyfrowe, a w szczególności ślepe podpisy [^4] i kryptografia dowodu zerowej wiedzy [^5]. Niektóre z tych metod kryptograficznych opisanych przez Szabo można znaleźć w implementacji Bitcoin. Jednak Szabo był znacznie bardziej dalekowzroczny w swoich procesach myślowych niż Satoshi i wielu innych wczesnych twórców Bitcoin i alternatywnych sieci blockchain, takich jak Ethereum. Podczas gdy on odnosił się do bardziej chroniących prywatność metod, takich jak ślepe podpisy i dowody zerowej wiedzy już w 1996 roku, metody te dopiero powoli znajdują drogę do świata blockchain. Takie techniki ochrony prywatności mają również potencjał, aby spełnić wymagania "Privacy by Design", określone w ogólnym rozporządzeniu Unii Europejskiej o ochronie danych (GDPR), znacznie lepiej niż metody kryptograficzne, które są obecnie stosowane w większości najnowocześniejszych sieci blockchain (czytaj więcej: Część 1 - Kryptografia).

Szabo powiedział, że aby inteligentne kontrakty mogły "zostać osadzone w realnym świecie w formie samowzmacniającego się kodu", muszą być zaprojektowane tak, aby były godne zaufania i odporne na ataki, zarówno na ataki zamierzone, jak i na niezamierzone uszkodzenia. Jednak w tamtym czasie Szabo nie miał pojęcia, jak w pełni zdecentralizować zaufanie i uczynić taki system odpornym na ataki Sybilli, dlatego opisał konieczność istnienia zaufanego pośrednika. Opisał ekonomiczną funkcję użyteczności potencjalnego napastnika, a w rozwiązaniach odwoływał się do pojęć informatyki teoretycznej i bezpieczeństwa informacji. W 1998 r. rozwinął swoje pomysły dotyczące inteligentnych kontraktów do realnej implementacji transferu wartości P2P. Wpadł na pomysł elektronicznej gotówki, która byłaby tak samo odporna na inflację jak złoto, którą nazwał "Bit Gold". Bit Gold nigdy nie został wdrożony, ponieważ Szabo nie znalazł sposobu na zastąpienie zaufanego pośrednika systemem odpornym na ataki Sybilli. Dziesięć lat później, głównym przełomem w Bitcoin było rozwiązanie dokładnie tego problemu poprzez wprowadzenie “Dowodu-na-Działanie” (ang. Proof-of-Work).

Szabo przewidział powiązanie różnych dziedzin nauki w celu sformalizowania inteligentnych kontraktów, takich jak prawo, ekonomia i kryptografia, ale skrytykował fakt, że te dyscypliny prawie się ze sobą nie komunikują. Nie był on jednak pierwszym, który pomyślał o automatyzacji kontraktów. Dwa lata wcześniej Ian Grigg opisał swoje przemyślenia na temat kontraktów Ricardian (ang. Ricardian Contracts), określając jak sprawić, by kontrakty z prawdziwego świata były czytelne dla urządzeń i możliwe do wyegzekwowania przez urządzenia. Chciał stworzyć system, który pozwoliłby zachować ludzką czytelność intencji kontraktu, jak również wynikających z niego działań, zanim umowa zostanie wykonana, jednocześnie optymalizując uwierzytelnianie i przetwarzanie maszynowe poprzez techniki szyfrowania, takie jak funkcje skrótu i podpisy cyfrowe. Jego celem było zagwarantowanie powiązania i przetwarzania dokumentów prawnych oraz spraw z nimi związanych w celu zapewnienia większej przejrzystości i bezpieczeństwa niż tradycyjne procedury prawne. Istnieją pierwsze hybrydowe rozwiązania inteligentnych kontraktów i Kontraktów Ricardian. "Openbazaar" jest platformą e-commerce P2P, która już pracuje z Ricardian Contracts.

Od czasu pojawienia się projektu Ethereum, termin "smart contract" przeżywa swój renesans. Ethereum oddzieliło koncepcję programowania inteligentnych kontraktów od bazowej sieci blockchain przetwarzającej umowy. W przeciwieństwie do Bitcoina, protokół Ethereum ma na celu zapewnienie oszczędnej infrastruktury, w której można stworzyć dowolny rodzaj inteligentnego kontraktu za pomocą zaledwie kilku linii kodu. Ethereum zainspirowało wiele innych projektów do pracy nad podobnymi sieciami blockchain inteligentnych umów, takich jak "EOS", "Cardano" lub "Waves", z których wszystkie mają różny stopień dojrzałości technicznej, skalowalności, bezpieczeństwa sieci i często używają różnych języków inteligentnych umów.

Podsumowanie rozdziału

Inteligentny kontrakt jest elementem oprogramowania, który jest przetwarzany przez księgę rozproszoną. Jest to narzędzie do zarządzania prawami, które może sformalizować i realizować umowy pomiędzy niezaufanymi uczestnikami przez Internet, i pochodzi z wbudowanym zgodności i kontroli.

Inteligentne kontrakty mogą zmniejszyć koszty formalizacji i egzekwowania prostej umowy między dwoma stronami, regulaminu organizacji lub tworzenia różnego rodzaju tokenów.

Termin "inteligentny kontrakt" został po raz pierwszy ukuty przez Nicka Szabo w 1996 roku i poprzedza rozwój sieci blockchain. Były to jeszcze wczesne dni sieci Web, kiedy Szabo zauważył, że rewolucja cyfrowa nie tylko stworzy nowe instytucje, ale także może sformalizować relacje gospodarcze i społeczne.

Przypadki użycia inteligentnych kontraktów wahają się od prostych do złożonych. Najbardziej złożoną formą inteligentnego kontraktu jest zdecentralizowana organizacja autonomiczna. Inteligentne kontrakty mogą być również wykorzystywane do tworzenia tokenów.

Inteligentne kontrakty mają potencjał, aby zmienić wiele branż. Przypadki użycia można znaleźć w bankowości, ubezpieczeniach, energetyce, e-administracji, telekomunikacji, przemyśle muzycznym i filmowym, sztuce pięknej, mobilności, edukacji i wielu innych.

Oracles dostarczają zewnętrznych danych niezbędnych dla inteligentnego kontraktu i wyzwalają wykonanie inteligentnego kontraktu, gdy spełnione są wcześniej zdefiniowane warunki. Wyrocznie to usługi, które znajdują i weryfikują zdarzenia w świecie rzeczywistym i przekazują te informacje do inteligentnego kontraktu, automatycznie wyzwalając zmiany stanu na blockchain. Podstawowym zadaniem wyroczni jest dostarczenie tych wartości do inteligentnego kontraktu w bezpieczny i zaufany sposób. Te przepływy danych pochodzą albo z oprogramowania (aplikacja Big Data), albo ze sprzętu (Internet Rzeczy).

Referencja Rozdziału i Dalsze Czytanie

Footnotes

[^1]:Dylemat pryncypała-agenta występuje wtedy, gdy ktoś (agent) jest uprawniony do podejmowania decyzji wpływających na inną osobę lub instytucję (mocodawcę), ale nie robi tego w jej najlepszym interesie, np. relacja między politykami a wyborcami lub menedżerami a akcjonariuszami.

[^2]: Wyzwanie związane z mikropłatnościami polega obecnie na tym, że opłata pobierana przez zewnętrznych dostawców płatności jest wyższa niż sama mikropłatność.

[^3]: W bezpieczeństwie komputerowym, "ataki man-in-the-middle" odnoszą się do zdarzeń, w których atakujący przekazuje i ewentualnie zmienia komunikację pomiędzy dwoma stronami, które wierzą, że komunikują się ze sobą bezpośrednio lub potajemnie.

[^4]: Ślepe podpisy są podpisami cyfrowymi, które ukrywają treść wiadomości przed jej podpisaniem. Mogą być weryfikowane z oryginalną wiadomością, tak jak zwykły podpis cyfrowy.

[^5]: Kryptografia z dowodem zerowej wiedzy umożliwia walidację informacji bez ujawniania tych informacji osobie weryfikującej te informacje.