Glossário

Função Hash Criptográfica

Moderate

As funções hash criptográficas produzem um valor hash de tamanho fixo a partir de da entrada de uma transação de tamanho variável.

O Que É Uma Função Hash Criptográfica?

Uma função hash criptográfica é um algoritmo, ou seja, uma sequência repetível de ações específicas, que pode ser usada para transformar uma sequência de dados arbitrária de comprimento variável em uma de comprimento e formato fixos, chamada de hash.

Um dos exemplos mais simples de uma função hash é somar os dígitos em um número até que reste um único dígito. Se a entrada for 49, por exemplo, a adição de 4 e 9 resulta em 13, cujos dígitos 1 e 3 são somados novamente para dar a saída de 4. Independentemente do comprimento do número de entrada, a saída sempre será um único dígito.

No entanto, esse não é um bom algoritmo, porque, para desempenhar bem suas funções, uma função hash precisa possuir várias características:

  • Deve ser fácil calcular uma saída para qualquer entrada dada, mas quase impossível reverter o processo e calcular a entrada para uma saída conhecida;
  • Determinismo — alimentar uma entrada específica no algoritmo deve sempre produzir a mesma saída;
  • Resistência à colisão — é muito improvável que duas entradas diferentes produzam a mesma saída;
  • Efeito avalanche — alterar até mesmo um único bit de dados na entrada deve resultar em uma saída completamente diferente.

As funções de hash são aplicadas em muitos casos de uso, por exemplo, como somas para verificar a integridade de arquivos de computador após sua transmissão de armazenamento prolongado ou em funções de randomização.

Eles também são um componente chave na mineração de criptomoedas proof-of-work, como Bitcoin (BTC), que utiliza a função de hash SHA-256. Para adicionar um novo bloco à blockchain e resgatar suas recompensas do Bitcoin recém-minerado, os mineradores primeiro precisam produzir um valor de hash que esteja abaixo de um certo limite, chamado de alvo.

O fato de que os hashes são pseudo-aleatórios e é impossível prever uma saída de qualquer entrada antes de realmente executá-la através da função hash garante que os mineradores não possam imprimir novos Bitcoins do nada e precisem provar o trabalho que realizaram.