Przejdź do głównej treści

Wprowadzenie do inteligentnych kontraktów

Inteligentne kontrakty to podstawowe bloki budulcowe warstwy aplikacji Ethereum. Są to programy komputerowe przechowywane na , które działają zgodnie z logiką „jeśli to, to tamto” i mają gwarancję wykonania zgodnie z zasadami określonymi w ich kodzie, którego nie można zmienić po utworzeniu.

Nick Szabo ukuł termin „inteligentny kontrakt”. W 1994 roku napisał wprowadzenie do tej koncepcji (opens in a new tab), a w 1996 roku analizę tego, co inteligentne kontrakty mogłyby robić (opens in a new tab).

Szabo wyobrażał sobie cyfrowy rynek, na którym automatyczne, procesy umożliwiają realizację transakcji i funkcji biznesowych bez zaufanych pośredników. Inteligentne kontrakty na Ethereum wprowadzają tę wizję w życie.

Zobacz, jak Finematics wyjaśnia inteligentne kontrakty:

Code is law? Smart contracts explained

Exploring the concept of 'code is law' through the lens of smart contracts on Ethereum and DeFi.

Oglądaj z transkrypcją 

Zaufanie w tradycyjnych kontraktach

Jednym z największych problemów z tradycyjnym kontraktem jest potrzeba zaufanych osób, które dopilnują realizacji jego postanowień.

Oto przykład:

Alicja i Bob ścigają się na rowerach. Załóżmy, że Alicja zakłada się z Bobem o 10 dolarów, że wygra wyścig. Bob jest pewien, że to on będzie zwycięzcą i zgadza się na zakład. Ostatecznie Alicja kończy wyścig daleko przed Bobem i jest bezdyskusyjną zwyciężczynią. Jednak Bob odmawia wypłaty wygranej, twierdząc, że Alicja musiała oszukiwać.

Ten banalny przykład ilustruje problem z każdą umową, która nie jest inteligentnym kontraktem. Nawet jeśli warunki umowy zostaną spełnione (tj. jesteś zwycięzcą wyścigu), nadal musisz ufać innej osobie, że wywiąże się z umowy (tj. wypłaci wygraną z zakładu).

Cyfrowy automat sprzedający

Prostą metaforą inteligentnego kontraktu jest automat sprzedający, który działa w pewnym sensie podobnie do inteligentnego kontraktu – określone dane wejściowe gwarantują z góry określone wyniki.

  • Wybierasz produkt
  • Automat wyświetla cenę
  • Płacisz cenę
  • Automat weryfikuje, czy zapłaciłeś odpowiednią kwotę
  • Automat wydaje Ci Twój przedmiot

Automat wyda pożądany produkt tylko po spełnieniu wszystkich wymagań. Jeśli nie wybierzesz produktu lub nie wrzucisz wystarczającej ilości pieniędzy, automat nie wyda produktu.

Automatyczne wykonanie

Główną zaletą inteligentnego kontraktu jest to, że deterministycznie wykonuje jednoznaczny kod po spełnieniu określonych warunków. Nie ma potrzeby czekać, aż człowiek zinterpretuje lub wynegocjuje wynik. Eliminuje to potrzebę korzystania z zaufanych pośredników.

Na przykład, możesz napisać inteligentny kontrakt, który przechowuje środki w depozycie dla dziecka, pozwalając mu na ich wypłatę po określonej dacie. Jeśli spróbuje wypłacić je przed tą datą, inteligentny kontrakt nie zostanie wykonany. Możesz też napisać kontrakt, który automatycznie przekaże Ci cyfrową wersję aktu własności samochodu, gdy zapłacisz dealerowi.

Przewidywalne wyniki

Tradycyjne kontrakty są niejednoznaczne, ponieważ opierają się na ludziach, którzy je interpretują i wdrażają. Na przykład dwóch sędziów może zinterpretować kontrakt inaczej, co może prowadzić do niespójnych decyzji i nierównych wyników. Inteligentne kontrakty eliminują taką możliwość. Zamiast tego inteligentne kontrakty wykonują się precyzyjnie w oparciu o warunki zapisane w kodzie kontraktu. Ta precyzja oznacza, że w tych samych okolicznościach inteligentny kontrakt zawsze wygeneruje ten sam wynik.

Rejestr publiczny

Inteligentne kontrakty są przydatne do audytów i śledzenia. Ponieważ inteligentne kontrakty Ethereum znajdują się na publicznym blockchainie, każdy może natychmiast śledzić transfery aktywów i inne powiązane informacje. Na przykład możesz sprawdzić, czy ktoś wysłał pieniądze na Twój adres.

Ochrona prywatności

Inteligentne kontrakty chronią również Twoją prywatność. Ponieważ Ethereum jest siecią pseudonimową (Twoje transakcje są publicznie powiązane z unikalnym adresem kryptograficznym, a nie z Twoją tożsamością), możesz chronić swoją prywatność przed obserwatorami.

Widoczne warunki

Wreszcie, podobnie jak w przypadku tradycyjnych kontraktów, możesz sprawdzić, co znajduje się w inteligentnym kontrakcie, zanim go podpiszesz. W przeciwieństwie do tradycyjnego kontraktu, przejrzystość inteligentnego kontraktu onchain pozwala każdemu na jego dokładne zbadanie i przejrzenie przed wejściem z nim w interakcję.

Jednakże, chociaż każdy może zobaczyć warunki inteligentnego kontraktu, surowe dane transakcji są zaprojektowane tak, aby były interpretowane przez aplikacje i portfele, a nie przez ludzi. Ponieważ te dane są tak trudne do odczytania, użytkownicy często stają w obliczu poważnego ryzyka bezpieczeństwa zwanego „ślepym podpisywaniem” (ang. blind signing), czyli zatwierdzaniem transakcji, która wchodzi w interakcję z inteligentnym kontraktem, bez faktycznego zrozumienia, co ona zrobi.

Ekosystem Ethereum przechodzi na standardy jasnego podpisywania (opens in a new tab) (ang. Clear Signing, w szczególności ERC-7730 (opens in a new tab)). Jasne podpisywanie tłumaczy nieprzejrzyste dane inteligentnego kontraktu na proste, czytelne dla człowieka opisy transakcji, zapewniając, że każdy może zrozumieć prawdziwą intencję kontraktu przed jego podpisaniem.

Przypadki użycia inteligentnych kontraktów

Inteligentne kontrakty mogą robić w zasadzie wszystko to, co programy komputerowe.

Mogą wykonywać obliczenia, tworzyć walutę, przechowywać dane, wybijać , wysyłać komunikaty, a nawet generować grafikę. Oto kilka popularnych przykładów z prawdziwego świata:

Dalsza lektura


Sprawdź swoją wiedzę o Ethereum