Bitcoin Script och UTXO-signaturverifiering
Följ pay-to-public-key-hash-skript (P2PKH) och ECDSA-signering.
Bitcoin Script och UTXO-signaturverifiering är en gratis lektion i Cryptology Academy på CoddyKit. Detta är lektion 4 av 4. Ni kan läsa hela lektionen gratis nedan och sedan öva praktiskt i webbläsaren med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt. Den ingår i lärvägen för Cryptology Academy, och Era framsteg synkroniseras mellan webben och CoddyKit-appen. Kursen i Cryptology Academy innehåller totalt 4 lektioner.
UTXO-modellen
Bitcoin använder outnyttjade transaktionsutdata (UTXO:er). Varje UTXO är ett mynt med ett låsningsskript (scriptPubKey). För att spendera det tillhandahåller spenderaren ett upplåsningsskript (scriptSig) som uppfyller låsningsskriptet. UTXO:er är odelbara – antingen spenderade eller outnyttjade, aldrig delvis spenderade.
Bitcoin Script
Bitcoin Script är ett stackbaserat språk som inte är Turing-komplett. Skript körs genom att data läggs på stacken och opkoder körs. Inga loopar, ingen rekursion – skript terminerar alltid. Denna avsiktliga begränsning förhindrar denial-of-service-attacker och gör skriptverifieringen O(n) i förhållande till skriptets längd.
P2PKH: Betala till hash av publik nyckel
Den vanligaste typen av utdata. scriptPubKey: OP_DUP OP_HASH160
Körningsspår för P2PKH
Stackspår för P2PKH: lägg
ECDSA i Bitcoin
Bitcoin använder ECDSA över secp256k1 (Koblitz-kurvan, y^2 = x^3 + 7 mod p). Den privata nyckeln d ∈ [1, n-1]. Den publika nyckeln Q = d*G. Sign(m): k är slumpmässigt; r = (k*G).x mod n; s = k^{-1}(H(m)+r*d) mod n. Signaturen = (r, s). DER-kodad i scriptSig.
SIGHASH-typer
Bitcoin-signaturer binder specifika delar av transaktionen: SIGHASH_ALL (standard): signera alla indata+utdata. SIGHASH_SINGLE: signera endast motsvarande utdata. SIGHASH_NONE: signera inga utdata (farligt). SIGHASH_ANYONECANPAY: signera endast den egna indatan – möjliggör samarbetsbaserade transaktioner.
P2SH: Betala till hash av skript
P2SH gör det möjligt att dölja komplexa spenderingsvillkor bakom en hash. scriptPubKey: OP_HASH160
Multisig (2 av 3)
redeemScript: OP_2
Segwit och P2WPKH
Segregated Witness (SegWit, BIP-141) flyttar signaturerna från scriptSig till ett separat witness-fält. Det åtgärdar transaktionsmalleabilitet (ID:t ändras om scriptSig ändras). P2WPKH scriptPubKey: OP_0 <20-byte pubKeyHash>. Witness: [
Taproot (P2TR)
Taproot (BIP-340/341/342) använder Schnorr-signaturer och Merkleiserade abstrakta syntaxträd (MAST). Standardspendering: en enda Schnorr-signatur, som inte kan skiljas från en keypath-spendering. Komplexa villkor döljs i ett Merkle-träd och avslöjas endast om de används. Integritet + effektivitet.
Skriptverifiering i kod
Bitcoin Core validerar skript i en stacktolk. CheckSig anropar VerifyScript, som kör det kombinerade scriptSig+scriptPubKey. För varje CHECKSIG-opkod anropar den CheckECDSASignature, som verifierar den DER-kodade (r,s) mot transaktionens hash med hjälp av secp256k1.
Snabbtest
Vad verifierar OP_CHECKSIG i ett P2PKH-skript?
Sammanfattning
UTXO:er använder det stackbaserade Bitcoin Script. P2PKH är det vanligaste spenderingsmönstret: hasha och verifiera en publik nyckel och kontrollera sedan ECDSA-signaturen. SegWit åtgärdar malleabilitet; Taproot lägger till Schnorr och MAST. Nästa avsnitt: differentiell kryptoanalys.
Lär dig Cryptology Academy med en AI-lärare – gratis
Skriv och kör riktig kod i webbläsaren, få omedelbar hjälp av en AI-lärare dygnet runt och fortsätt där du slutade – på webben eller i appen.
- Kurser
- 67
- Lektioner
- 261
Vanliga frågor
Är lektionen ”Bitcoin Script och UTXO-signaturverifiering” gratis?
Ja – hela texten till ”Bitcoin Script och UTXO-signaturverifiering” kan läsas gratis här på webben. Om Ni vill öva interaktivt med en inbyggd kodredigerare och en AI-handledare som är tillgänglig dygnet runt och låsa upp resten av kursen i Cryptology Academy, kan Ni uppgradera till CoddyKit PRO. Kursen i Cryptology Academy innehåller totalt 4 lektioner.
Vad lär jag mig i ”Bitcoin Script och UTXO-signaturverifiering”?
Följ pay-to-public-key-hash-skript (P2PKH) och ECDSA-signering. Ni övar på Cryptology Academy med praktisk kod som körs direkt i webbläsaren, medan en AI-handledare som är tillgänglig dygnet runt svarar på Era frågor under lektionen.
Behöver jag någon erfarenhet för att börja lära mig Cryptology Academy?
Du behöver inga förkunskaper. Utbildningen i Cryptology Academy på CoddyKit är upplagd för allt från nybörjare till avancerade elever, så att du kan börja här eller från början och gå fram i din egen takt. Detta är lektion 4 av 4.
Hur lång tid tar lektionen ”Bitcoin Script och UTXO-signaturverifiering”?
De flesta CoddyKit-lektioner tar cirka 5–10 minuter. Varje lektion är kort och interaktiv, så att du gör stadiga framsteg och kan fortsätta precis där du slutade – på webben eller i appen.
Kan jag skriva och köra kod i den här Cryptology Academy-lektionen?
Ja. Varje Cryptology Academy-lektion innehåller en inbyggd kodredigerare, så att du kan skriva och köra riktig kod direkt i webbläsaren och få omedelbar AI-feedback – utan lokal installation.
Alla lektioner i den här kursen
- Hashkedjor och blocklänkning
- Merkle-träd: transaktionsintegritet i stor skala
- Proof of Work: mining och svårighetsjustering
- Bitcoin Script och UTXO-signaturverifiering