Função Hash

Existem muitas instâncias de funções hash criptográficas, mas todas as funções hash criptográficas compartilham algumas propriedades chave.

  • Todas as funções de hash criptográfico recebem uma entrada, chamada de pré-imagem, e produzem uma saída, chamada de hash ou resumo, de comprimento fixo. Esse comprimento varia com base na função precisa usada.

  • A saída de uma função de hash criptográfica é determinística. Para uma determinada entrada, a saída será sempre exatamente a mesma.

  • Uma função hash criptográfica é uma função unidirecional. Uma saída pode ser facilmente calculada a partir de uma entrada. No entanto, não há nenhuma maneira conhecida de determinar a entrada de uma determinada saída.

  • A saída é aleatória e imprevisível. Não há nenhum método conhecido para direcionar uma saída específica e calcular a entrada adequada. Tampouco se pode estabelecer uma relação entre uma série de entradas e suas saídas. Por exemplo, se uma entrada de 100 caracteres for alterada por um único caractere, a nova saída não terá nenhuma semelhança com a saída antiga.

Essas propriedades tornam as funções hash criptográficas muito úteis para o Bitcoin. O hash é aleatório e incontrolável, garantindo que a mineração de Bitcoin seja uma competição justa. O hash de uma chave pública ou de um script para obter um endereço oferece segurança, privacidade e conveniência superiores para os usuários. Transações e blocos de hash fornecem uma maneira simples de criar IDs universalmente exclusivos para transações e blocos. Por fim, as Árvores Merkle usam hashing para criar resumos confiáveis e imutáveis de todas as transações em um bloco, tornando a mineração e a verificação de bloco significativamente mais eficientes.

O Bitcoin usa apenas algumas funções de hash para seus vários aspectos. A função de hash SHA-256 é usada para criar Provas de Trabalho e SHA-256 é aplicada duas vezes para gerar txids. Para gerar hashes ou endereços de chave pública, é usada a função hash160. Esta é uma combinação das funções de hash SHA-256 e RIPEMD160.

Fonte: river.com