Tenho mergulhado na tecnologia blockchain recentemente e percebi que a maioria das pessoas realmente não entende o que faz ela funcionar. Funções hash são meio que os heróis não reconhecidos aqui - estão em todo lugar, desde seus aplicativos de mensagens até a mineração de Bitcoin, mas a maioria das pessoas simplesmente passa por cima delas.



Então, aqui está a questão: uma função hash é basicamente uma ferramenta matemática que pega qualquer quantidade de dados e os converte em uma string de comprimento fixo. A parte mágica? É uma via de mão única. Você não consegue revertê-la. Insira 'vamos aprender blockchain' e você obtém 77db72b12a7667ad73fd33544d1f397268dffe18ca3042e0a09af9f993a8f9c1. Adicione apenas um ponto e, de repente, a saída é completamente diferente: 17368fcb5bab73c97aa60aa7ae9e54e6676d292743587b9a35ace927a626520a. Mesmo pequenas mudanças = resultados totalmente diferentes. Essa é a segurança.

Por que isso importa para o crypto? A mineração de Bitcoin depende literalmente disso. Os mineradores estão basicamente competindo para encontrar um valor hash abaixo de um número alvo, combinando os dados do bloco com números aleatórios (nonces) e executando-os pelo SHA-256. Quem encontrar primeiro, ganha a recompensa. E aqui está o que é elegante nisso - cada bloco se conecta ao anterior através do seu hash, criando essa cadeia à prova de adulteração. Se alguém tentar alterar dados antigos, o hash muda, e todos sabem que algo está errado.

Agora, existem diferentes algoritmos de hashing circulando por aí. MD5 costumava ser popular - produz saídas de 128 bits - mas tem fraquezas. Os atacantes podem criar ' colisões' onde entradas diferentes produzem a mesma saída, então ele basicamente foi descontinuado para trabalhos de segurança mais sérios.

O SHA-1 veio a seguir, criado pela NSA em 1995. Ele gera hashes de 160 bits, mas desde então foi quebrado e substituído por opções mais fortes.

Depois, temos o SHA-2, que é uma família de algoritmos (SHA-224, SHA-256, SHA-384, SHA-512). O SHA-256 é o que o Bitcoin usa e ainda é considerado extremamente seguro. Os tamanhos maiores de saída o tornam muito mais resistente a ataques de força bruta em comparação ao SHA-1.

O mais recente é o SHA-3, publicado pelo NIST em 2015. É baseado no algoritmo Keccak e usa algo chamado 'estrutura de esponja' - basicamente, absorve a entrada e depois espreme o hash. Uma vantagem é que ele resiste a ataques de extensão de comprimento, onde alguém tenta acrescentar dados sem conhecer o original. O Ethereum na verdade usa keccak-256, uma variante do SHA-3. Até a blockchain Nervos' CKB lançou seu próprio algoritmo inspirado no SHA-3 chamado Eaglesong.

Mas aqui está o ponto - nenhuma função hash é completamente à prova de balas. Ataques de colisão são possíveis, onde você gera duas entradas diferentes com a mesma saída. Ataques de extensão de comprimento permitem que atacantes adicionem dados às mensagens. Ataques de pré-imagem permitem encontrar uma entrada que corresponda a um hash específico. Ataques de aniversário exploram probabilidades para encontrar hashes correspondentes. Depois, há ataques de canal lateral que exploram como a função é realmente implementada, ao invés de atacar a matemática em si.

Dito isso, as coisas modernas como SHA-256 e SHA-3 foram literalmente projetadas com esses vetores de ataque em mente. MD5 e SHA-1? Sim, eles são vulneráveis. Mas a nova geração é basicamente considerada inquebrável com a tecnologia atual. É por isso que eles são a espinha dorsal da segurança blockchain hoje.
BTC-2,91%
ETH-3,13%
CKB-5,82%
Ver original
Esta página pode conter conteúdo de terceiros, que é fornecido apenas para fins informativos (não para representações/garantias) e não deve ser considerada como um endosso de suas opiniões pela Gate nem como aconselhamento financeiro ou profissional. Consulte a Isenção de responsabilidade para obter detalhes.
  • Recompensa
  • Comentário
  • Repostar
  • Compartilhar
Comentário
Adicionar um comentário
Adicionar um comentário
Sem comentários
  • Fixado