‹ CAPÍTULO 8, TODAS AS LIÇÕES

PATHFINDER · CAPÍTULO 8 · LIÇÃO 1 DE 5

Transações e UTXO

Hashing, a impressão digital dos dados

Como algumas dezenas de caracteres podem representar um bloco inteiro? 5 min

Uma função de hash aceita quaisquer dados, uma palavra ou um bloco inteiro, e retorna um resultado curto de tamanho fixo. O Bitcoin usa SHA-256, cujo resultado é de 256 bits, geralmente escrito como 64 caracteres hexadecimais.

Quatro propriedades importantes

  • Mesma entrada, mesma saída: qualquer pessoa pode recalcular e verificar.
  • Mude um caractere e o resultado muda completamente.
  • Unidirecional: não é possível reverter do hash para os dados.
  • Nenhuma maneira conhecida de encontrar duas entradas diferentes com o mesmo hash.

Essas propriedades transformam um hash em uma impressão digital. Se o hash de um bloco corresponder, o bloco é exatamente o esperado, até o último bit. Se algo foi alterado, a impressão digital não se encaixa mais.

Onde o Bitcoin o utiliza

Os hashes de bloco encadeiam os blocos. Os IDs de transação são hashes das transações. Os endereços são construídos a partir de hashes de chaves públicas. A mineração em si é uma busca por um hash de bloco abaixo de um alvo. O Bitcoin geralmente aplica hash duas vezes seguidas, SHA-256 de SHA-256, como uma margem de segurança extra.

▶ VEJA NA MÁQUINA

HASH DO BLOCO, a prensa, é onde a impressão digital do bloco é cunhada assim que o minerador a encontra.

O que lembrar

  • O Bitcoin usa SHA-256, uma impressão digital de 256 bits de quaisquer dados.
  • Um bit alterado gera um hash completamente diferente.
  • Hashes encadeiam blocos, identificam transações e impulsionam a mineração.

Verificação rápida

O que acontece com um hash SHA-256 se você mudar uma letra da entrada?

Você consegue reconstruir os dados originais a partir do seu hash?

Hashing, a impressão digital dos dados · Universidade Bitcoin