Script do Bitcoin e verificação de assinaturas UTXO
Acompanhe scripts pay-to-public-key-hash (P2PKH) e a assinatura ECDSA.
Script do Bitcoin e verificação de assinaturas UTXO é uma aula grátis de Cryptology Academy no CoddyKit. Esta é a aula 4 de 4. Você pode ler a aula completa abaixo gratuitamente — depois pratica ao vivo no navegador com um editor de código integrado e um tutor de IA 24/7. Faz parte do caminho de aprendizado de Cryptology Academy, e seu progresso é sincronizado entre a web e o app CoddyKit. O curso de Cryptology Academy inclui 4 aulas no total.
Modelo de UTXOs
O Bitcoin usa saídas de transações não gastas (UTXOs). Cada UTXO é uma moeda com um script de bloqueio (scriptPubKey). Para gastá-la, quem a gasta fornece um script de desbloqueio (scriptSig) que satisfaz o script de bloqueio. Os UTXOs são atômicos: gastos ou não gastos, nunca parcialmente.
Script do Bitcoin
O Bitcoin Script é uma linguagem baseada em pilha e não completa de Turing. Os scripts são executados empilhando dados e executando códigos de operação. Não há laços nem recursão: os scripts sempre terminam. Essa limitação intencional evita ataques de negação de serviço e faz com que a verificação do script seja O(n) em relação ao seu tamanho.
P2PKH: Pagamento pelo Hash da Chave Pública
Tipo de saída mais comum. scriptPubKey: OP_DUP OP_HASH160
Rastreamento da Execução de P2PKH
Rastreamento da pilha para P2PKH: empilhe
ECDSA no Bitcoin
O Bitcoin usa ECDSA sobre secp256k1 (curva de Koblitz, y^2 = x^3 + 7 mod p). A chave privada d ∈ [1, n-1]. A chave pública Q = d*G. Sign(m): k aleatório; r = (k*G).x mod n; s = k^{-1}(H(m)+r*d) mod n. A assinatura = (r, s). Codificada em DER no scriptSig.
Tipos de SIGHASH
As assinaturas do Bitcoin vinculam partes específicas da transação: SIGHASH_ALL (padrão): assina todas as entradas+saídas. SIGHASH_SINGLE: assina apenas a saída correspondente. SIGHASH_NONE: não assina nenhuma saída (perigoso). SIGHASH_ANYONECANPAY: assina apenas a própria entrada, permitindo transações colaborativas.
P2SH: Pagamento pelo Hash do Script
P2SH permite ocultar condições complexas de gasto atrás de um hash. scriptPubKey: OP_HASH160
Multissinatura (2 de 3)
redeemScript: OP_2
SegWit e P2WPKH
A Testemunha Segregada (SegWit, BIP-141) move as assinaturas do scriptSig para um campo separado de testemunha. Corrige a maleabilidade das transações (o ID muda se o scriptSig mudar). scriptPubKey do P2WPKH: OP_0 <20-byte pubKeyHash>. Testemunha: [
Taproot (P2TR)
Taproot (BIP-340/341/342) usa assinaturas Schnorr e Árvores de Sintaxe Abstrata Merkelizadas (MAST). Gasto padrão: uma única assinatura Schnorr, indistinguível de um gasto pelo caminho da chave. As condições complexas ficam ocultas em uma árvore de Merkle e só são reveladas se forem usadas. Privacidade + eficiência.
Verificação de Scripts no Código
O Bitcoin Core valida scripts em um interpretador de pilha. CheckSig chama VerifyScript, que executa o scriptSig+scriptPubKey combinado. Para cada código de operação CHECKSIG, ele chama CheckECDSASignature, que verifica o (r,s) codificado em DER usando o hash da transação e secp256k1.
Verificação Rápida
O que OP_CHECKSIG verifica em um script P2PKH?
Recapitulação
Os UTXOs usam o Bitcoin Script baseado em pilha. P2PKH: o padrão de gasto mais comum: calcula o hash e verifica uma chave pública, depois verifica a assinatura ECDSA. SegWit corrige a maleabilidade; Taproot adiciona Schnorr e MAST. Próximo: criptoanálise diferencial.
Perguntas Frequentes
A aula “Script do Bitcoin e verificação de assinaturas UTXO” é grátis?
Sim — o texto completo de “Script do Bitcoin e verificação de assinaturas UTXO” é grátis para ler aqui na web. Para praticá-la interativamente (um editor de código integrado e um tutor de IA 24/7) e desbloquear o restante do curso de Cryptology Academy, atualize para CoddyKit PRO. O curso de Cryptology Academy inclui 4 aulas no total.
O que vou aprender em “Script do Bitcoin e verificação de assinaturas UTXO”?
Acompanhe scripts pay-to-public-key-hash (P2PKH) e a assinatura ECDSA. Você pratica Cryptology Academy com código prático que executa diretamente no navegador, e um tutor de IA 24/7 responde suas dúvidas enquanto trabalha na aula.
Preciso ter experiência prévia para começar Cryptology Academy?
Nenhuma experiência prévia é necessária. Cryptology Academy no CoddyKit é estruturado para alunos iniciantes até avançados, então você pode começar aqui ou desde o início e aprender no seu ritmo. Esta é a aula 4 de 4.
Quanto tempo leva a aula “Script do Bitcoin e verificação de assinaturas UTXO”?
A maioria das aulas CoddyKit leva cerca de 5–10 minutos. Cada uma é compacta e interativa, então você faz progresso constante e retoma exatamente de onde parou entre web e app.
Posso escrever e executar código nesta aula de Cryptology Academy?
Sim. Cada aula de Cryptology Academy inclui um editor de código integrado, então você escreve e executa código real direto no navegador e recebe feedback de IA instantaneamente — nenhuma configuração local necessária.
Todas as aulas deste curso
- Cadeias de resumos e vinculação de blocos
- Árvores de Merkle: integridade de transações em escala
- Prova de trabalho: mineração e ajuste de dificuldade
- Script do Bitcoin e verificação de assinaturas UTXO