Hashing – O Que É e Como Funciona nas Criptomoedas?

O hashing é motivo de termos o “cripto” em “critptomoedas”.

Sem o hashing as criptomoedas seriam só… moedas.

Hashing é uma forma de criptografia, sendo que o Bitcoin foi a primeira moeda digital que recorreu a esta técnica.

Desde o seu surgimento, muitas outras criptomoedas foram lançadas, utilizando diversas formas de hashing. 

Neste artigo explicamos por que o hashing é tão importante para esse ecossistema, como funciona no contexto de uma blockchain e qual o futuro da criptografia, em uma altura em que a Google assume ter alcançado a supremacia quântica.

1. O Que é Hashing?

Vamos ao 1º exemplo! Em resumo, hashing é:

c29465b316f83b1947139b8d2b98611d43a1911c

Você entendeu?

Não? Talvez seja melhor explicar de uma forma que esteja mais habituado a ver. Veja este 2º exemplo:

e20eee533fccbcd6e073b1b10729eb5de013bba26854c00bcddcfe0db2b9edbb

Também não? Vamos usar então um 3º exemplo, desta vez em português:

É o processo de converter uma informação qualquer de qualquer tamanho em um código de tamanho fixo de texto por meio de uma função matemática.

Através do hashing você pode, por exemplo, transformar um livro inteiro em um código como os que viu acima. E é esse código que chamamos de hash.

Como é que isso acontece? O processo é o seguinte:

processo hashing
Conversão de informação em um valor alfanumérico através da função hash.

Na verdade, os 3 exemplos que utilizámos no início desse texto são representações da mesma informação.

O primeiro em SHA1, o segundo em SHA-256 (a função hash utilizada pelo Bitcoin) e o terceiro em português.

Existem inúmeras outras funções hash que podem ser utilizadas para transformar uma informação qualquer em um valor hash.

Hashing o que é
Exemplos de funções hash.

A importância do hashing vai além, no entanto, das criptomoedas.

São inúmeros os usos dessa técnica no mundo real. Das comunicações às passwords, a encriptação é fundamental para assegurar uma segurança maior e a confidencialidade da informação.

2. Como Funciona o Hashing?

Como vimos, a função hash é o motor desse processo.

Mas, para que seja viável, a função hash deve ser capaz de garantir uma série de características.

2.1 Valores hash devem ser únicos

Não podem existir dois valores hash iguais.

Ou seja:

Para que uma função hash seja viável, deve garantir que uma determinada informação tem correspondência apenas com um valor hash.

Independentemente de executar a função 1 ou 100 vezes, o resultado terá de ser sempre o mesmo.

Se isso não acontecer, existe um problema de colisão.

2.2 Função hash deve ser rápida

Qualquer que seja o nível de complexidade de uma função informática, esperamos que seja rápida.

É a aplicação da velha máxima: “Tempo é dinheiro!”

tempo é dinheiro

Vivemos em uma sociedade em constante movimento e em que não há tempo a perder. Queremos nos comunicar sem interrupções e fazer pagamentos o mais rápido possível.

Por esses motivos, uma função hash deve ser capaz de devolver respostas de forma rápida e sem qualquer dificuldade, de forma a não prejudicar os tempos de reação dos serviços em que é aplicada.

2.3 Segurança deve ser assegurada

Para que um valor hash seja seguro não pode ser decodificável.

Ou seja:

Não posso conseguir obter a informação original a partir do valor hash gerado pela função.

Além disso, se trocar apenas 1 dígito na informação ou no valor hash, terei resultados completamente diferentes.

Vejamos um exemplo.

️️Informação: “Tenho 50 euros para investir em Bitcoin.”
Valor hash: 0a18e37ea05d2aa05d48ed67ffb60d8771b34de4661f3a79b170317d63989b78

Agora vamos alterar 1 dígito da informação, nomeadamente o valor investido.

Informação: “Tenho 51 euros para investir em Bitcoin.”
Valor hash: 42c9f84472538c09635211d99b05a1efccd32db36d99d0f3bd409d2c3b2747ef

Isso assegura que é impossível tentar adivinhar uma informação tendo por base a tentativa e erro.

Se quiser testar outras informações, saiba que estamos usando SHA-256 para obter esses valores hash. Este codificador pode lhe ajudar a criptografar mensagens.

3. O Papel do Hashing na Blockchain

A blockchain é formada por uma sequência de blocos que armazenam informação criptografada sobre todas as transações feitas.

Entre os dados guardados estão, por exemplo:

  • O valor da transação;
  • O endereço da pessoa a quem se destinou a transação;
  • A hora a que foi feita a transação.

Tal como nos exemplos que vimos anteriormente, toda essa informação pode ser transformada em um TXID (Transaction ID), ou em português ID de transação, que é basicamente uma chave pública que representa cada troca feita.

Os vários IDs de transação, com informação sobre trocas, são depois transformados em um novo hash que representa cada bloco da blockchain.

Cada vez que é criado um novo bloco, esse bloco terá informação sobre uma série de novas transações e ainda a hash do bloco anterior, criando assim uma nova hash, única, mas “geneticamente” ligada ao bloco anterior.

hashing na blockchain

Isto faz com que todos os blocos estejam ligados entre si até o primeiro da cadeia, criando assim uma relação de dependência.

Não é possível manipular a informação de um dos blocos sem afetar toda a cadeia. Qualquer tentativa seria imediatamente notada.

É graças a isso que a blockchain pode ser descentralizada, segura e transparente.

Ou seja:

O hashing está na base de muitas das virtudes da blockchain.

4. SHA-256: A Função Hash da Bitcoin

Como já vimos, o Bitcoin utiliza a função SHA-256.

Essa função faz parte do conjunto SHA-2, criado pela NSA (National Security Agency), em português Agência de Segurança Nacional dos Estados Unidos.

E a sigla SHA significa Secure Hash Algorithm, ou em português, Algoritmo de Hash Seguro.

No caso do Bitcoin, além de servir para a criação de chaves públicas e privadas, essa função é ainda utilizada para a mineração de criptomoedas, o processo pelo qual são distribuídos BTCs pelos mineiros que suportam a rede.

Hardware utilizado para minerar Bitcoin.

Por ser descentralizada, a blockchain precisa que os mineiros a mantenham “viva”, verificando a legitimidade das transações através dessas funções.

Uma vez que estão cedendo o poder de processamento dos seus computadores e ainda custos de electricidade e internet, os mineiros são recompensados com uma quantia de BTC por cada vez que uma nova quantidade de transações é armazenada em um novo bloco da blockchain.

Atualmente já existem mais de 18 milhões de Bitcoins em circulação, fruto da mineração feita ao longo de mais de 10 anos, o que significa que falta distribuir menos de 3 milhões de Bitcoins através da mineração.

Essas são as principais características do Bitcoin e do seu processo de mineração:

ParâmetroBitcoin
Supply Total21 Milhões
Tempo de Transação~10 Min.
Custos de Transação$3-$30
MineraçãoSim
Dificuldade de MineraçãoMuito Alta
Algoritmo de MineraçãoSHA-256

5. Supremacia Quântica da Google: Fim do Hashing à Vista?

Desde o surgimento do Bitcoin, que promoveu o desenvolvimento da tecnologia blockchain nos mais variados setores, a computação quântica tem sido apontada como uma ameaça à segurança da sua rede.

De fato, uma vez que o Bitcoin tem por base a encriptação, o que aconteceria se alguém fosse capaz de decodificar o algoritmo que essa criptomoeda utiliza?

Além das chaves públicas do Bitcoin, também as chaves privadas (que dão acesso à conta e que não deve partilhar com ninguém) são encriptadas em SHA-256.

A primeira questão é: uma pessoa seria capaz de decodificar esse algoritmo?

Não. A maioria dos especialistas concorda que seriam necessários ciclos de vida completos para tentar romper esse algoritmo e que, mesmo assim, não seria certo.

A segunda questão é: pode um computador decodificar o algoritmo?

O anuncio da Google de que alcançou a supremacia quântica pode colocar questões em relação à segurança da blockchain e das criptomoedas, precisamente devido à encriptação de dados.

Proessador Sycamore Google
Proessador Sycamore da Google.

Na realidade, o desenvolvimento de computadores quânticos coloca desafios não só às criptomoedas, mas também a todas as tecnologias que atualmente trabalham com dados encriptados, como as que mencionamos previamente.

Falamos de máquinas que seriam capazes de fazer em 200 segundos (pouco mais de 3 minutos) aquilo que um computador, ainda que potente, demoraria atualmente 10.000 anos a fazer!

Estão então as criptomodas em risco?

Talvez não.

De acordo com o CEO da Qtum, a computação quântica poderá até ter impacto no Bitcoin, mas nada acontecerá de um momento para o outro, sendo que o Bitcoin acabará também por evoluir e adotar outras tecnologias.

“A computação quântica terá impacto nas diversas formas de encriptação, incluindo a SHA-256, que é utilizada pelo Bitcoin. Como o Bitcoin tem valor, haverá um maior incentivo para a atacar. No entanto acredito que muitos outros algoritmos de encriptação serão decodificados primeiro e isso irá alertar a comunidade de que é tempo para uma mudança. Não acontecerá do dia para a noite. Vamos ter muitos sinais.”

Patrick Dai, CEO da Qtum

Para Patrick Dai, os mineiros de Bitcoin serão os grandes prejudicados, já que ficarão com hardware desatualizado, assumindo que serão necessários novos equipamentos para minerar uma Bitcoin anticomputação quântica.

Em reação ao anuncio da Google, o fundador da Ethereum, Vitalik Buterin, também não pareceu muito preocupado, indicando que ainda estamos longe de termos acesso a esse tipo de tecnologia.

Em resumo:

Caso se conclua que a computação quântica é uma ameaça real ao funcionamento das criptomoedas, é bem possível que elas evoluam em paralelo, de forma a tornarem-se cada vez mais seguras.

Isso não é novidade nenhuma. Desde que surgiram as primeiras criptomoedas os seus projetos têm evoluído de forma a manterem-se relevantes e adaptados à vida real.

6. Conclusão

  • O hashing está na base de criptomoedas como o Bitcoin. Trata-se de um algoritmo de encriptação que esse ativo utiliza, tanto na parte das chaves públicas e privadas dos usuários, como no armazenamento de dados na blockchain;
  • Um algoritmo, ou função hash, deve produzir valores hash únicos para cada informação diferente que lhe é transmitida. Além disso, para que seja viável, deve ainda ser rápido e seguro;
  • A Google está apostando na computação quântica, o que pode prejudicar os algoritmos de encriptação, não só utilizados pelas criptomoedas, mas também por muitos outros serviços tecnológicos;
  • Com isso é possível que a computação quântica se torne também um driver para o desenvolvimento das criptomoedas, que terão de evoluir à medida que novas ameaças ao seu funcionamento surjam.
Autor
Marcela Lima
Marcela Lima

Marcela conheceu o Bitcoin em 2012 e ficou fascinada com a tecnologia. Desde então tem estudado o potencial das criptomoedas e a forma como podem mudar a sociedade. Hoje divide o seu tempo entre a escrita e a gestão do seu portfólio, composto majoritariamente por criptomoedas e por ações.

Comentar

O seu endereço de e-mail não será publicado. Campos obrigatórios são marcados com *