0Pricing
Cryptology Academy · Aula

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 OP_EQUALVERIFY OP_CHECKSIG. scriptSig: . Execução: empilhe sig+pubkey, duplique pubkey, calcule hash160, compare com o hash incorporado e verifique a assinatura ECDSA. Se tudo passar: a moeda poderá ser gasta.

Rastreamento da Execução de P2PKH

Rastreamento da pilha para P2PKH: empilhe ; empilhe ; OP_DUP → empilhe uma cópia; OP_HASH160 → calcule hash160 do topo; empilhe ; OP_EQUALVERIFY → retire dois itens e falhe se não forem iguais; OP_CHECKSIG → retire sig+pubKey, verifique a assinatura ECDSA e empilhe TRUE/FALSE. O script será bem-sucedido se o resultado for TRUE.

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 OP_EQUAL. scriptSig: . Execução: verifique se hash(redeemScript) == scriptHash e, em seguida, execute redeemScript. Isso permite multissinaturas sem revelar as condições até o momento do gasto.

Multissinatura (2 de 3)

redeemScript: OP_2 OP_3 OP_CHECKMULTISIG. scriptSig: OP_0 . OP_0 contorna um erro em OP_CHECKMULTISIG que retira um item extra da pilha. A multissinatura 2 de 3 exige quaisquer 2 das 3 assinaturas.

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

  1. Cadeias de resumos e vinculação de blocos
  2. Árvores de Merkle: integridade de transações em escala
  3. Prova de trabalho: mineração e ajuste de dificuldade
  4. Script do Bitcoin e verificação de assinaturas UTXO
← Voltar para Cryptology Academy