Cryptology Academy · Lekcja

Intuicja ZKP: jaskinia Ali Baby

Zbudować intuicję kompletności, poprawności i wiedzy zerowej dzięki klasycznej analogii z jaskinią

Lekcja 1 z 413 kroki

Intuicja ZKP: jaskinia Ali Baby to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 1 z 4. 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 Cryptology Academy, a Twój postęp synchronizuje się między webem a aplikacją CoddyKit. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Czym jest dowód z wiedzą zerową?

Dowód z wiedzą zerową (ZKP) pozwala dowodzącemu przekonać weryfikatora, że zna sekret (lub że dane twierdzenie jest prawdziwe), bez ujawniania samego sekretu. Ma trzy właściwości: zupełność, wiarygodność i wiedzę zerową.

Zupełność

Jeśli dowodzący zna sekret, zawsze może przekonać weryfikatora. Uczciwy dowodzący postępujący zgodnie z protokołem odniesie sukces z prawdopodobieństwem 1 (lub prawdopodobieństwem przytłaczająco bliskim 1). Weryfikator nie odrzuci poprawnego dowodu.

Wiarygodność

Osoba próbująca oszukiwać (która nie zna sekretu) nie może przekonać weryfikatora, z wyjątkiem sytuacji o pomijalnym prawdopodobieństwie. Każda runda interakcji zmniejsza prawdopodobieństwo oszustwa — po k rundach prawdopodobieństwo sukcesu oszusta wynosi najwyżej 2^{-k}.

Wiedza zerowa

Weryfikator nie dowiaduje się niczego poza tym, że dane twierdzenie jest prawdziwe. Formalnie: istnieje symulator, który bez znajomości sekretu tworzy transkrypt nieodróżnialny od rzeczywistej interakcji dowodzącego z weryfikatorem. Weryfikator nie uzyskuje żadnej dodatkowej wiedzy.

Jaskinia Ali Baby

Jaskinia ma okrężny korytarz z magicznymi drzwiami pośrodku. Dowodząca (Alicja) twierdzi, że zna hasło. Weryfikator (Bob) czeka na zewnątrz. Alicja wchodzi i wybiera lewą albo prawą stronę. Bob woła, z której strony ma wyjść. Jeśli Alicja zna hasło, zawsze wychodzi właściwą stroną. Prawdopodobieństwo oszustwa w każdej rundzie wynosi 1/2.

Analiza jaskini

Po 20 rundach oszust odnosi sukces z prawdopodobieństwem 2^{-20} ≈ 1 na milion. Alicja (która zna hasło) odnosi sukces za każdym razem. Bob nigdy nie poznaje hasła — widzi tylko, że Alicja wychodzi wskazaną stroną. To właśnie jest wiedza zerowa.

Interaktywne i nieinteraktywne

Interaktywne ZKP wymagają wymiany komunikatów między dowodzącym a weryfikatorem. Nieinteraktywne ZKP (NIZK) używają transformacji Fiat-Shamira: losowe wyzwanie weryfikatora zastępuje się haszem zobowiązania (hash = losowa wyrocznia). Powstaje pojedynczy ciąg dowodu, który każdy może zweryfikować.

Dowód znajomości

ZKP jest dowodem znajomości (PoK), jeśli strategia dowodzącego oznacza, że mógłby on wyodrębnić sekret. Jest to silniejsza własność niż samo dowiedzenie prawdziwości twierdzenia. Podpisy ECDSA i Schnorra są nieinteraktywnymi dowodami znajomości klucza prywatnego.

Przegląd zastosowań ZKP

Uwierzytelnianie za pomocą hasła bez przesyłania hasła. Weryfikacja wieku bez ujawniania daty urodzenia. Dowody zakresu (wynagrodzenie mieści się w określonym zakresie) bez ujawniania wynagrodzenia. Blockchain: dowód znajomości prawidłowej transakcji bez ujawniania transakcji.

Statystyczne a perfekcyjne dowody z wiedzą zerową

Perfekcyjna wiedza zerowa: wynik symulatora jest identyczny z rzeczywistym transkryptem. Statystyczna wiedza zerowa: transkrypty są nierozróżnialne poza pomijalnym prawdopodobieństwem. Obliczeniowa wiedza zerowa: transkrypty są nierozróżnialne dla weryfikatorów działających w czasie wielomianowym. Słabsze gwarancje oznaczają wydajniejsze dowody.

Protokoły Sigma

Jaskinia jest protokołem składającym się z 3 etapów: zobowiązanie → wyzwanie → odpowiedź. Formalnie nazywa się to protokołem Sigma. Większość praktycznych ZKP (Schnorr, Pedersen, Fiat-Shamir) to protokoły Sigma lub ich kompozycje. Nazwa pochodzi od kształtu Σ diagramu przepływu komunikatów.

Szybkie sprawdzenie

Po ilu rundach protokołu jaskini Ali Baby prawdopodobieństwo sukcesu oszusta spada poniżej 1/1000?

Podsumowanie

ZKP pozwalają udowodnić znajomość sekretu bez jego ujawniania. Trzy właściwości to: zupełność, solidność i wiedza zerowa. Jaskinia Ali Baby ilustruje interaktywny ZKP. Dalej: protokoły Sigma i identyfikacja Schnorra.

Bezpłatny start

Ucz się Cryptology Academy 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
67
Lekcje
261

Często zadawane pytania

Czy lekcja „Intuicja ZKP: jaskinia Ali Baby” jest bezpłatna?

Tak — pełny tekst „Intuicja ZKP: jaskinia Ali Baby” 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 Cryptology Academy, przejdź na CoddyKit PRO. Kurs Cryptology Academy zawiera 4 lekcji w sumie.

Co nauczysz się w „Intuicja ZKP: jaskinia Ali Baby”?

Zbudować intuicję kompletności, poprawności i wiedzy zerowej dzięki klasycznej analogii z jaskinią Ćwiczysz Cryptology Academy 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ąć Cryptology Academy?

Nie wymagamy żadnego doświadczenia. Cryptology Academy 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 4.

Ile czasu zajmuje lekcja „Intuicja ZKP: jaskinia Ali Baby”?

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 Cryptology Academy?

Tak. Każda lekcja Cryptology Academy 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. Intuicja ZKP: jaskinia Ali Baby
  2. Protokoły Sigma i identyfikacja Schnorra
  3. zk-SNARK: zwięzłe nieinteraktywne argumenty
  4. Zastosowania ZKP: ZK Rollups i monety prywatności
← Powrót do Cryptology Academy