Visão geral
A verificação é o processo pelo qual cada nó Bitcoin valida independentemente que transações e blocos estão em conformidade com as regras de consenso do protocolo. Essa verificação autônoma é o que torna o Bitcoin sem confiança — nenhum participante precisa depender das afirmações de nenhum outro participante sobre o estado do livro-razão. Cada nó completo pode determinar independentemente se uma transação ou bloco é válido.
O que é verificado
Verificação de transações
Quando um nó recebe uma nova transação, ele verifica:
- Que todas as entradas referenciadas existem no conjunto UTXO (as moedas não foram já gastas)
- Que as condições de gasto estão corretamente satisfeitas (assinaturas válidas, pré-imagens hash corretas, timelocks cumpridos)
- Que os valores de entrada são iguais ou superiores aos valores de saída (sem inflação)
- Que a transação está corretamente formatada e dentro dos limites de tamanho
- Que os scripts são executados com sucesso e estão em conformidade com as regras de padronização
Verificação de blocos
Quando um nó recebe um novo bloco, ele verifica:
Lista de verificação de blocos:
┌─────────────────────────────────────────────┐
│ ✓ O hash do cabeçalho do bloco atende ao │
│ alvo de dificuldade │
│ ✓ O timestamp está dentro do intervalo │
│ aceitável │
│ ✓ O tamanho do bloco está dentro dos limites│
│ ✓ A primeira transação é uma coinbase válida│
│ ✓ Recompensa coinbase ≤ subsídio + taxas │
│ ✓ Todas as transações são individualmente │
│ válidas │
│ ✓ Sem gastos duplos dentro do bloco │
│ ✓ A raiz Merkle corresponde às transações │
│ ✓ O hash do bloco anterior referencia um │
│ bloco conhecido │
└─────────────────────────────────────────────┘
"Não confie, verifique"
Essa frase encapsula o modelo de segurança do Bitcoin. Em vez de confiar em mineradores, exchanges ou qualquer terceiro, os usuários que executam nós completos verificam tudo de forma independente. Isso é fundamentalmente diferente dos sistemas financeiros tradicionais, onde a confiança é delegada a bancos, processadores de pagamento e reguladores.
Verificação vs. SPV
Os nós SPV realizam verificação parcial — eles verificam a prova de trabalho nos cabeçalhos de bloco e a inclusão Merkle de transações, mas não validam cada transação ou regra de consenso. Apenas nós completos realizam verificação completa, por isso executar um nó completo oferece a maior garantia de segurança.
Conceitos errôneos comuns
Verificação não é o mesmo que mineração. Os mineradores realizam verificação como parte de seu processo, mas também gastam energia computacional para encontrar hashes de bloco válidos. Todos os nós completos verificam, mas apenas os mineradores criam novos blocos.