Thanks to visit codestin.com
Credit goes to ethereum.org

Przejdź do głównej treści
Change page

Wprowadzenie do inteligentnych kontraktów

Ostatnia aktualizacja strony: 25 lutego 2026

Czym jest inteligentny kontrakt?

„Inteligentny kontrakt" jest po prostu programem, który działa w blockchainie Ethereum. Jest to zbiór kodu (jego funkcje) i danych (jego stan), które znajdują się pod określonym adresem w blockchainie Ethereum.

Inteligentne kontrakty to rodzaj konta Ethereum. Oznacza to, że mają saldo i mogą być celem transakcji. Jednak nie są one kontrolowane przez użytkownika, zamiast tego są wdrażane do sieci i uruchamiane w sposób zaprogramowany. Konta użytkowników mogą następnie wchodzić w interakcję z inteligentnym kontraktem poprzez przesyłanie transakcji, które wykonują funkcję zdefiniowaną w inteligentnym kontrakcie. Inteligentne kontrakty mogą definiować reguły, tak jak zwykłe kontrakty, i automatycznie egzekwować je za pośrednictwem kodu. Inteligentnych kontraktów nie można domyślnie usunąć, a interakcje z nimi są nieodwracalne.

Wymagania wstępne

Jeśli dopiero zaczynasz lub szukasz mniej technicznego wprowadzenia, polecamy nasze wprowadzenie do inteligentnych kontraktów.

Przed zagłębieniem się w świat inteligentnych kontraktów, należy zapoznać się z kontami, transakcjami oraz Wirtualną Maszyną Ethereum.

Cyfrowy automat sprzedający

Prawdopodobnie najlepszą metaforą inteligentnego kontraktu jest automat sprzedający, zgodnie z opisem Nicka Szabo (opens in a new tab). Przy odpowiednich danych wejściowych gwarantowany jest określony wynik.

Aby uzyskać przekąskę z automatu do sprzedaży:

pieniądze + wybór przekąsek = przekąski wydane

Ta logika jest zaprogramowana w automacie sprzedającym.

Inteligentny kontrakt, jak automat sprzedający, ma zaprogramowaną logikę. Oto prosty przykład tego, jak wyglądałby ten automat, gdyby był inteligentnym kontraktem napisanym w Solidity:

Podobnie jak automat sprzedający eliminuje potrzebę zatrudniania sprzedawcy, inteligentne kontrakty mogą zastąpić pośredników w wielu branżach.

Niewymagający zezwoleń

Każdy może napisać inteligentny kontrakt i wdrożyć go do sieci. Wystarczy nauczyć się programować w języku inteligentnych kontraktów i mieć wystarczająco dużo ETH, aby wdrożyć swój kontrakt. Wdrożenie inteligentnego kontraktu jest technicznie transakcją, więc trzeba zapłacić za gaz w taki sam sposób, w jaki trzeba płacić za gaz przy prostym transferze ETH. Jednak koszty gazu w przypadku wdrożenia kontraktu są znacznie wyższe.

Ethereum ma przyjazne dla deweloperów języki do pisania inteligentnych kontraktów:

  • Solidity
  • Vyper

Więcej o językach

Muszą one jednak zostać skompilowane przed ich wdrożeniem, tak aby maszyna wirtualna Ethereum mogła zinterpretować i przechowywać kontrakt. Więcej o kompilacji

Kompozycyjność

Inteligentne kontrakty są publiczne w Ethereum i można je uznać za otwarte API. Oznacza to, że możesz wywoływać inne inteligentne kontrakty w swoim własnym inteligentnym kontrakcie, aby znacznie rozszerzyć zakres możliwości. Kontrakty mogą nawet wdrażać inne kontrakty.

Dowiedz się więcej o kompozycyjności inteligentnych kontraktów.

Ograniczenia

Inteligentne kontrakty nie mogą same uzyskiwać informacji o wydarzeniach "świata rzeczywistego", ponieważ nie mogą pozyskiwać danych ze źródeł spoza łańcucha. Oznacza to, że nie mogą reagować na wydarzenia w prawdziwym świecie. Jest to celowe. Poleganie na informacjach z zewnątrz mogłoby zagrozić konsensusowi, który jest ważny dla bezpieczeństwa i decentralizacji.

Ważna jest jednakże dla aplikacji blockchain możliwość używania danych spoza łańcucha. Rozwiązaniem są wyrocznie, czyli narzędzia, które pobierają dane spoza łańcucha i udostępniają je inteligentnym kontraktom.

Kolejnym ograniczeniem inteligentnych kontraktów jest ich maksymalny rozmiar. Inteligentny kontrakt może mieć maksymalnie 24KB, w przeciwnym razie skończy mu się gaz. Można to obejść, używając wzorca The Diamond Pattern (opens in a new tab).

Kontrakty multisig

Kontrakty multisig (wielopodpisowe) to konta inteligentnych kontraktów, które wymagają wielu ważnych podpisów do wykonania transakcji. Jest to bardzo przydatne w celu uniknięcia pojedynczych punktów awarii w przypadku kontraktów zawierających znaczne ilości etheru lub innych tokenów. Kontrakty multisig dzielą również odpowiedzialność za wykonanie kontraktu i zarządzanie kluczami między wiele stron i zapobiegają utracie pojedynczego klucza prywatnego, co prowadzi do nieodwracalnej utraty środków. Z tych powodów kontrakty multisig mogą być wykorzystywane do prostego zarządzania DAO. Kontrakty multisig wymagają N podpisów z M możliwych do zaakceptowania podpisów (gdzie N ≤ M i M > 1) w celu wykonania. N = 3, M = 5 i N = 4, M = 7 są powszechnie używane. Kontrakt multisig 4/7 wymaga czterech z siedmiu możliwych ważnych podpisów. Oznacza to, że środki można odzyskać nawet w przypadku utraty trzech podpisów. W tym przypadku oznacza to również, że większość posiadaczy kluczy musi się zgodzić i podpisać, aby kontrakt został wykonany.

Zasoby dotyczące inteligentnych kontraktów

Kontrakty OpenZeppelin - Biblioteka do bezpiecznego tworzenia inteligentnych kontraktów.

Dalsza lektura

Czy ten artykuł był pomocny?