Função de hash
Também chamado: hash, hashing, função hash
Uma função de hash transforma qualquer dado numa impressão digital de tamanho fixo, impossível de inverter. É o cálculo básico da mineração.
Uma função de hash recebe como entrada um dado de qualquer tamanho, uma palavra, um ficheiro ou um cabeçalho de bloco, e produz uma impressão digital de comprimento fixo chamada hash. Com o SHA-256, utilizado pelo Bitcoin, esta impressão tem sempre 256 bits, ou seja, 64 caracteres hexadecimais, quer se aplique a uma simples frase ou a uma enciclopédia inteira.
Uma boa função de hash criptográfica tem três propriedades. É determinística: a mesma entrada dá sempre a mesma impressão. É unidirecional: é impossível recuperar a entrada a partir do resultado. E tem um efeito avalanche: mudar um único caráter altera completamente a impressão. É isto que torna a mineração justa: ninguém consegue prever o resultado, é preciso fazer o cálculo para o conhecer.
O hashrate de uma máquina conta precisamente quantos hashes calcula por segundo. O Bitcoin aplica o SHA-256 duas vezes seguidas a cada cabeçalho de bloco. Outras moedas escolheram funções diferentes, como o Scrypt, o kHeavyHash ou o Blake3, o que explica que seja precisa uma máquina diferente para cada uma. Quando uma ficha de produto indica um algoritmo, está na verdade a dizer-lhe que função de hash os seus chips sabem calcular.
A nossa página que compara ASIC e placas gráficas mostra porque é que um chip especializado calcula estas impressões muito mais depressa do que um processador polivalente.