Capítulo 3 - 0 de 10 questionários aprovados
Hashes: impressões digitais
Um hash criptográfico é uma função de mão única que torna alterações indevidas visíveis e possibilita a prova de trabalho.
- Explique o que um hash criptográfico faz e por que o efeito avalanche é importante
- Descreva como uma Merkle root vincula um bloco a todas as suas transações
Respostas rápidas
O que é um hash no Bitcoin?
Uma impressão digital de mão única dos dados: fácil de calcular, praticamente impossível de reverter, e qualquer alteração nos dados produz um hash completamente diferente.
O que é uma Merkle root?
Um único hash que vincula um bloco a cada transação contida nele, de modo que alterar qualquer transação muda a raiz.
Por que o histórico do Bitcoin não pode ser alterado?
Cada cabeçalho de bloco se compromete com o bloco anterior, então alterar um bloco antigo significa refazer a prova de trabalho dele e de todos os blocos seguintes.
Impressões digitais de via única
Uma função hash criptográfica recebe qualquer entrada — uma palavra, uma imagem, uma enciclopédia inteira — e retorna um resumo de tamanho fixo. O processo é de via única: você pode verificar se a entrada produz o resumo, mas não é viável voltar do resumo à entrada. O Bitcoin usa SHA-256, que retorna 256 bits, normalmente escritos como 64 caracteres hexadecimais. Os hashes de blocos e os IDs de transação aplicam essa função duas vezes (SHA-256d).
O efeito avalanche
Uma boa função hash é altamente sensível. Altere uma vírgula em um documento de 500 páginas e o resumo mudará completamente. Isso é chamado de efeito avalanche. É o que torna os hashes úteis como compromissos: o resumo fixa os bytes exatos, e qualquer alteração posterior fica evidente.
A Merkle root
Um bloco não insere no cabeçalho o hash de cada transação, uma por uma. Ele calcula hashes de pares de IDs de transação, depois combina os resultados em pares e repete o processo até restar um hash: a Merkle root. O cabeçalho do bloco contém sua versão, essa raiz, o hash do bloco anterior, o horário, o alvo de dificuldade e o nonce. Altere qualquer transação e a Merkle root mudará, o que altera o hash do cabeçalho e rompe a cadeia de trabalho posterior.
Um histórico que revela alterações
Cada cabeçalho de bloco inclui o hash do cabeçalho anterior. Para reescrever uma transação antiga, um atacante teria que refazer a prova de trabalho desse bloco e de todos os blocos seguintes, mais rápido que a rede honesta. A cadeia de hashes torna o histórico fácil de verificar e caro de reescrever. Os nós rejeitam blocos inválidos, mas seguem uma cadeia concorrente válida com mais trabalho acumulado. Um nó não pode rejeitar uma cadeia válida com mais trabalho só porque um atacante a construiu.
Experimente
O que você deve levar desta lição
Hashes são compromissos de via única. A Merkle root compromete um bloco com todas as suas transações, e cada cabeçalho se compromete com o bloco anterior, então alterar o histórico exige refazer o trabalho dos blocos posteriores.
Recupere da memória e depois aplique
Altere um caractere na demonstração. O que muda e o que o hash não prova?
Confira sua explicação
O resumo muda substancialmente. Um resumo correspondente permite verificar a consistência dos dados; ele não prova que os dados são verdadeiros ou autorizados. A autorização exige assinaturas.
Ponto de verificação
Termos principais
Fontes
Revisado em 25 de outubro de 2026 · não é aconselhamento financeiro