Bitcoin Script i weryfikacja podpisów UTXO
Prześledzić skrypty pay-to-public-key-hash (P2PKH) i podpisywanie ECDSA
Bitcoin Script i weryfikacja podpisów UTXO to bezpłatna lekcja Cryptology Academy na CoddyKit. To lekcja 4 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.
Model UTXO
Bitcoin używa niewydanych wyjść transakcji (UTXO). Każde UTXO jest monetą ze skryptem blokującym (scriptPubKey). Aby je wydać, wydający dostarcza skrypt odblokowujący (scriptSig), który spełnia warunki skryptu blokującego. UTXO są niepodzielne — są albo wydane, albo niewydane, nigdy częściowo.
Bitcoin Script
Bitcoin Script to oparty na stosie język niezupełny w sensie Turinga. Skrypty wykonują się przez umieszczanie danych na stosie i uruchamianie kodów operacji. Nie ma pętli ani rekurencji — skrypty zawsze się kończą. To celowe ograniczenie zapobiega atakom typu denial-of-service i sprawia, że weryfikacja skryptu ma złożoność O(n) względem jego długości.
P2PKH: płatność na skrót klucza publicznego
Najczęściej spotykany typ wyjścia. scriptPubKey: OP_DUP OP_HASH160
Ślad wykonania P2PKH
Ślad stosu dla P2PKH: push
ECDSA w Bitcoinie
Bitcoin używa ECDSA na krzywej secp256k1 (krzywej Koblitz, y^2 = x^3 + 7 mod p). Klucz prywatny d ∈ [1, n-1]. Klucz publiczny Q = d*G. Sign(m): k losowe; r = (k*G).x mod n; s = k^{-1}(H(m)+r*d) mod n. Podpis = (r, s). Jest kodowany w formacie DER w scriptSig.
Typy SIGHASH
Podpisy Bitcoin określają, które części transakcji obejmują: SIGHASH_ALL (domyślnie): podpisuje wszystkie wejścia i wyjścia. SIGHASH_SINGLE: podpisuje tylko odpowiadające mu wyjście. SIGHASH_NONE: nie podpisuje żadnych wyjść (niebezpieczne). SIGHASH_ANYONECANPAY: podpisuje tylko własne wejście — umożliwia tworzenie transakcji współtworzonych przez wiele stron.
P2SH: płatność na skrót skryptu
P2SH pozwala ukryć złożone warunki wydawania środków za skrótem. scriptPubKey: OP_HASH160
Multisig (2 z 3)
redeemScript: OP_2
SegWit i P2WPKH
Segregated Witness (SegWit, BIP-141) przenosi podpisy z scriptSig do osobnego pola witness. Eliminuje podatność transakcji na modyfikację (identyfikator zmienia się, gdy zmieni się scriptSig). scriptPubKey P2WPKH: OP_0 <20-byte pubKeyHash>. Witness: [
Taproot (P2TR)
Taproot (BIP-340/341/342) używa podpisów Schnorra i zmerklizowanych abstrakcyjnych drzew składniowych (MAST). Domyślne wydanie środków: pojedynczy podpis Schnorra (nierozróżnialny od wydania ścieżką klucza). Złożone warunki są ukryte w drzewie Merkle'a i ujawniane tylko wtedy, gdy są używane. Prywatność i wydajność.
Weryfikacja skryptów w kodzie
Bitcoin Core weryfikuje skrypty za pomocą interpretera stosowego. CheckSig wywołuje VerifyScript, które wykonuje połączone scriptSig+scriptPubKey. Dla każdego kodu operacji CHECKSIG wywołuje CheckECDSASignature, które weryfikuje zakodowane w formacie DER (r,s) względem skrótu transakcji, używając secp256k1.
Szybkie sprawdzenie
Co weryfikuje OP_CHECKSIG w skrypcie P2PKH?
Podsumowanie
UTXO używają opartego na stosie Bitcoin Script. P2PKH to najczęstszy schemat wydawania środków — najpierw weryfikuje skrót klucza publicznego, a następnie podpis ECDSA. SegWit eliminuje podatność na modyfikację; Taproot dodaje podpisy Schnorra i MAST. Dalej: kryptoanaliza różnicowa.
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 „Bitcoin Script i weryfikacja podpisów UTXO” jest bezpłatna?
Tak — pełny tekst „Bitcoin Script i weryfikacja podpisów UTXO” 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 „Bitcoin Script i weryfikacja podpisów UTXO”?
Prześledzić skrypty pay-to-public-key-hash (P2PKH) i podpisywanie ECDSA Ć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 4 z 4.
Ile czasu zajmuje lekcja „Bitcoin Script i weryfikacja podpisów UTXO”?
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
- Łańcuchy skrótów i łączenie bloków
- Drzewa Merkle’a: integralność transakcji na dużą skalę
- Proof of Work: wydobywanie i dostosowywanie trudności
- Bitcoin Script i weryfikacja podpisów UTXO