Uma função hash é um algoritmo que converte dados de entrada em um hash, também chamado de resumo. Com o mesmo algoritmo e bytes de entrada idênticos, o resultado é sempre igual. Funções hash comuns em blockchains geram resultados de tamanho fixo mesmo quando o tamanho da entrada varia.
O significado da força criptográfica
Uma função hash criptográfica busca tornar computacionalmente impraticável encontrar uma entrada a partir do resumo, ou entradas diferentes com o mesmo resumo. Colisões continuam matematicamente possíveis. A segurança depende do algoritmo e dos recursos do atacante, não da afirmação de que cada entrada possui uma saída exclusiva.
Uso nas blockchains
Hashes ajudam a identificar transações, conectar cabeçalhos de blocos e resumir dados em árvores de Merkle. SHA-256 produz 256 bits, normalmente exibidos como 64 caracteres hexadecimais. Alterar uma pequena parte da entrada geralmente muda bastante o resumo, permitindo a comparação com uma referência confiável.
Um resumo não esconde tudo
Hashing não é criptografia reversível e não usa chave de descriptografia. Entradas previsíveis ainda podem ser adivinhadas e verificadas pelo cálculo de hashes dos candidatos. Um resumo coincidente estabelece uma relação com os dados de referência, mas não prova que sejam verdadeiros ou que seu autor seja confiável.