Web3 & DApp Development Fundamentals · Lekcja

Problem wyroczni

Zrozum, dlaczego smart kontrakty nie mogą bezpośrednio uzyskiwać dostępu do danych off-chain i jakie wyzwania stwarza to dla funkcjonalności DApp.

Lekcja 1 z 311 kroki

Problem wyroczni to bezpłatna lekcja Web3 & DApp Development Fundamentals na CoddyKit. To lekcja 1 z 3. Możesz przeczytać całą lekcję poniżej za darmo — a potem ćwiczyć ją interaktywnie w przeglądarce z wbudowanym edytorem kodu i tutorem AI dostępnym 24/7. To część ścieżki edukacyjnej Web3 & DApp Development Fundamentals, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Web3 & DApp Development Fundamentals zawiera 3 lekcji w sumie.

Czym są dane off-chain?

Witamy! W Web3 aplikacje DApp często potrzebują informacji, które nie są przechowywane bezpośrednio na blockchainie. Nazywamy je danymi off-chain.

Proszę pomyśleć o bieżących cenach akcji, aktualnych prognozach pogody czy wyniku meczu sportowego. Dane te istnieją w „prawdziwym świecie”, poza siecią blockchaina.

Blockchainy żyją w bańce

Blockchainy są projektowane jako odizolowane i samowystarczalne środowiska. Ma to kluczowe znaczenie dla ich bezpieczeństwa i niezawodności.

Każdy węzeł sieci musi zgadzać się co do dokładnego stanu blockchaina. Gdyby inteligentny kontrakt mógł bezpośrednio pobierać dane z zewnętrznych źródeł, różne węzły mogłyby otrzymać różne wyniki, co doprowadziłoby do utraty konsensusu.

Na czym polega problem wyroczni

Problem wyroczni to wyzwanie związane z bezpiecznym i niezawodnym przenoszeniem zewnętrznych danych off-chain na blockchain.

Inteligentne kontrakty z założenia nie mogą bezpośrednio „widzieć” ani „pobierać” danych z internetu. Działają w deterministycznym, zamkniętym systemie.

Inteligentne kontrakty nie mogą przeglądać internetu

Dlaczego inteligentny kontrakt nie może po prostu wykonać wywołania API tak jak zwykła aplikacja internetowa?

  • Determinizm: Wszystkie transakcje muszą dawać ten sam wynik we wszystkich węzłach. Zewnętrzne API może zwrócić inne dane w różnym czasie.
  • Bezpieczeństwo: Bezpośrednie wywoływanie zewnętrznych źródeł wprowadza luki w zabezpieczeniach i potencjalne wektory ataku.
  • Konsensus: W jaki sposób wszystkie węzły mogłyby zweryfikować, że zewnętrzne dane rzeczywiście odpowiadały danym zwróconym przez API?

Ograniczenia aplikacji DApp bez wyroczni

Wiele zaawansowanych aplikacji DApp potrzebuje danych ze świata rzeczywistego, aby działać. Bez możliwości pobierania tych danych ich użyteczność jest znacznie ograniczona.

Proszę wyobrazić sobie zdecentralizowaną platformę pożyczkową finansów zdecentralizowanych (DeFi), która potrzebuje bieżących cen aktywów, albo aplikację DApp ubezpieczeniową opartą na rzeczywistych zdarzeniach, takich jak pogoda lub opóźnienia lotów.

Dylemat zaufania

Jeśli aplikacja DApp polega na jednym źródle dostarczającym zewnętrzne dane, źródło to staje się scentralizowanym punktem awarii.

Podważa to podstawową zasadę decentralizacji. Dostawca danych może działać złośliwie, zostać zhakowany lub po prostu przestać działać, narażając całą aplikację DApp.

Wyrocznie: most dla danych

Aby rozwiązać problem wyroczni, wykorzystujemy wyrocznie. Wyrocznia to usługa zewnętrzna, która wyszukuje i weryfikuje dane ze świata rzeczywistego, a następnie przesyła je do inteligentnego kontraktu.

Działa jak bezpieczny most, umożliwiając inteligentnym kontraktom interakcję ze światem zewnętrznym bez naruszania ich deterministycznego charakteru.

Zapewnianie wiarygodności danych

Choć wyrocznie rozwiązują problem „dostępu”, wprowadzają nowe wyzwanie: jak zaufać samej wyroczni?

Dane dostarczane przez wyrocznię muszą być dokładne, odporne na manipulacje i dostępne. Jeśli wyrocznia dostarczy błędne dane, inteligentny kontrakt wykona operację na podstawie tych błędnych danych.

Potrzeba przykładu ze świata rzeczywistego

Rozważmy prostą zdecentralizowaną aplikację DApp bukmacherską:

  • Użytkownicy obstawiają wynik meczu piłkarskiego.
  • Inteligentny kontrakt musi znać końcowy wynik.
  • Nie może bezpośrednio uzyskać dostępu do serwisu ESPN ani innych stron sportowych.
  • Wyrocznia jest niezbędna, aby przekazać końcowy wynik do kontraktu i umożliwić wypłaty.

Szybkie sprawdzenie: problem wyroczni

Jaki jest główny powód, dla którego inteligentne kontrakty nie mogą bezpośrednio uzyskiwać dostępu do danych ze świata rzeczywistego tak jak tradycyjna aplikacja internetowa?

Podsumowanie: problem wyroczni

Poznali już Państwo kluczowy problem wyroczni w tworzeniu aplikacji Web3:

  • Blockchainy są odizolowane i deterministyczne.
  • Inteligentne kontrakty nie mogą bezpośrednio uzyskiwać dostępu do danych off-chain.
  • Wiele aplikacji DApp potrzebuje danych ze świata rzeczywistego, aby działać.
  • Wyrocznie pełnią funkcję mostów, ale wprowadzają nowe wyzwania związane z zaufaniem.

W następnej części sprawdzą Państwo, jak zdecentralizowane sieci wyroczni, takie jak Chainlink, rozwiązują ten problem!

Bezpłatny start

Ucz się Web3 & DApp Development Fundamentals dzięki korepetycjom AI — za darmo

Pisz i uruchamiaj kod w przeglądarce, otrzymuj natychmiastową pomoc od korepetytora AI dostępnego 24/7 i kontynuuj naukę w sieci lub w aplikacji.

Kursy
29
Lekcje
105

Często zadawane pytania

Czy lekcja „Problem wyroczni” jest bezpłatna?

Tak — pełny tekst „Problem wyroczni” jest dostępny za darmo tutaj w sieci. Aby ćwiczyć ją interaktywnie (wbudowany edytor kodu i tutor AI dostępny 24/7) i odblokować resztę kursu Web3 & DApp Development Fundamentals, przejdź na CoddyKit PRO. Kurs Web3 & DApp Development Fundamentals zawiera 3 lekcji w sumie.

Co nauczysz się w „Problem wyroczni”?

Zrozum, dlaczego smart kontrakty nie mogą bezpośrednio uzyskiwać dostępu do danych off-chain i jakie wyzwania stwarza to dla funkcjonalności DApp. Ćwiczysz Web3 & DApp Development Fundamentals z praktycznym kodem, który uruchamiasz bezpośrednio w przeglądarce, a tutor AI dostępny 24/7 odpowiada na Twoje pytania podczas pracy nad lekcją.

Czy potrzebuję doświadczenia, aby zacząć Web3 & DApp Development Fundamentals?

Nie wymagamy żadnego doświadczenia. Web3 & DApp Development Fundamentals w CoddyKit jest strukturyzowany dla początkujących i zaawansowanych użytkowników, więc możesz zacząć tutaj lub od początku i uczyć się w swoim tempie. To lekcja 1 z 3.

Ile czasu zajmuje lekcja „Problem wyroczni”?

Większość lekcji CoddyKit trwa około 5–10 minut. Każda lekcja to mały, interaktywny krok, dzięki czemu robisz systematyczne postępy i zawsze wracasz dokładnie do tego samego miejsca — na webie i w aplikacji.

Czy mogę pisać i uruchamiać kod w tej lekcji Web3 & DApp Development Fundamentals?

Tak. Każda lekcja Web3 & DApp Development Fundamentals zawiera wbudowany edytor kodu, więc piszesz i uruchamiasz prawdziwy kod bezpośrednio w przeglądarce i od razu otrzymujesz sprzężenie zwrotne od AI — bez konfiguracji na komputerze.

Wszystkie lekcje w tym kursie

  1. Problem wyroczni
  2. Podstawy Chainlink
  3. Pobieranie danych off-chain
← Powrót do Web3 & DApp Development Fundamentals