This article has been translated from English to Portuguese.
Como funciona o hashing?
Na lição anterior, apresentei o conceito de hashing e os termos relevantes. Agora, vamos aprender como ele funciona!
O hashing é uma operação matemática fácil de executar, mas extremamente difícil de reverter.
O processo de hashing transforma uma parte dos dados em código binário, que é apenas um monte de 0s e 1s.
Em seguida, divide os números e aplica alguma "confusão" secreta, que é feita por algo chamado "função hash".
Como é que o hashing funciona nas criptomoedas?
Quando usado em Bitcoin e outras criptomoedas, o resultado final é tipicamente uma longa sequência de números e letras de 64 dígitos.
Uma vez que a conversão é feita por um algoritmo criptográfico (a "função hash"), a fórmula de jumbling é desconhecida, pelo que a cadeia de 64 dígitos não pode ser revertida.
Uma string é uma sequência de caracteres.
As cadeias de caracteres são como frases. São formadas por uma combinação de caracteres.
Pensa num hash como um conjunto de letras e números aleatórios.
Um dado único produzirá sempre o mesmo hash.
Por exemplo, sempre que a cadeia de caracteres acima for executada através da função de hash, produzirá sempre o mesmo hash.
Mas o que acontece se fizermos apenas uma pequena alteração na string? (Destacado a amarelo.)
A frase termina com um ponto de interrogação em vez de um ponto final.
Apesar de ter sido uma pequena alteração na frase, o hash é TOTALMENTE diferente.
Podes ver como a utilização de hashes pode ser usada para detetar adulterações, uma vez que mesmo uma pequena alteração na entrada da função hash resulta numa saída totalmente diferente.
É muito importante que te lembres deste ponto porque, numa lição posterior, verás como isto é usado para evitar que transacções anteriores sejam adulteradas.
A função hash é apenas de sentido único.
Não podes pegar num hash existente e tentar invertê-lo para encontrar a string de entrada.
Portanto, se tudo o que sabes é o hash, não há forma de saber qual é a entrada original. Não podes fazer "engenharia inversa" ou piratear o hash.
Por último, o comprimento da saída (o "hash") NÃO aumenta com o aumento da informação na entrada. Uma função hash recebe dados de entrada de QUALQUER comprimento e devolve um valor que tem um comprimento FIXO.
Se colocares o texto completo de um livro do Harry Potter, que tem mais de 76.000 palavras, o resultado da função hash continuará a ter apenas 64 caracteres.
E, mais uma vez, se escreveres mal uma única letra do livro do Harry Potter e a fizeres passar pela função de hash, esta produzirá um hash totalmente diferente do anterior.
Isto permitir-te-ia saber instantaneamente que o livro tinha sido modificado sem teres de inspecionar manualmente o livro inteiro! Muito fixe, não achas?




