Funções unidirecionais na segurança de criptomoedas

Uma função unidirecional é uma função matemática que é computacionalmente fácil de executar em uma direção, mas computacionalmente inviável de inverter – ou seja, dado o resultado, é praticamente impossível determinar a entrada original. Em criptografia e tecnologia blockchain, as funções unidirecionais são o princípio matemático fundamental que viabiliza toda a arquitetura de segurança das criptomoedas.

As duas aplicações mais importantes de funções unidirecionais em blockchain são as funções hash criptográficas (como SHA-256, usada na mineração de Bitcoin e na geração de endereços) e a multiplicação de curvas elípticas usada na criptografia de chave pública (onde uma chave privada gera facilmente uma chave pública, mas a chave pública não pode ser usada para derivar a chave privada).

Uma função de porta secreta é um caso especial que pode ser invertido eficientemente com informações secretas; funções unidirecionais comuns não precisam ter uma porta secreta.

A segurança do Bitcoin, Ethereum e praticamente todas as criptomoedas se baseia na premissa de que certas operações matemáticas são genuinamente unidirecionais: que não existe um algoritmo eficiente para reverter o hash SHA-256 ou para resolver o problema do logaritmo discreto em curvas elípticas. Uma descoberta nesse sentido poderia ameaçar sistemas que dependem da primitiva afetada.

Os algoritmos quânticos afetam as funções hash e a criptografia de curvas elípticas de maneiras diferentes, portanto, seus riscos não devem ser tratados como idênticos. Curiosamente, a prova formal da existência de funções verdadeiramente unidirecionais é um dos problemas em aberto mais importantes da ciência da computação teórica (estreitamente relacionado ao problema P versus NP).

Na prática, dependemos de funções que são fortemente consideradas unidirecionais, com base em décadas de tentativas frustradas de quebrá-las, embora não exista uma prova matemática absoluta de que sejam unidirecionais.

Origem e história

AnoEvento
1874William Stanley Jevons descreve o conceito de funções unidirecionais (fatoração de números grandes).
1976Diffie e Hellman formalizam funções unidirecionais em "Novas Direções em Criptografia".
1977O algoritmo RSA demonstra a função unidirecional prática (dificuldade de fatoração em números primos).
1989Merkle e Damgård publicam construções influentes para funções hash resistentes a colisões.
1985Criptografia de curva elíptica proposta – logaritmo discreto como função unidirecional em curvas
1993O NIST publicou o SHA-0 (FIPS PUB 180); o SHA-1 surgiu em 1995. Função hash – função hash unidirecional amplamente adotada.
2002O NIST publica o SHA-256 no FIPS 180-2 (Fonte: Padrão hash do NIST)
2004Wang e colaboradores encontram colisões em MD5, demonstrando que funções unidirecionais específicas podem ser enfraquecidas.
2005Publicados ataques teóricos ao SHA-1 – início da descontinuação do SHA-1
2008Satoshi Nakamoto constrói o Bitcoin com base em SHA-256 e curva elíptica secp256k1 – funções unidirecionais protegem a rede.
2009O Bitcoin é lançado com funções unidirecionais que protegem cada chave privada, endereço e hash de bloco.
2012O NIST seleciona o SHA-3 (Keccak) – nova família de funções hash unidirecionais; o Ethereum posteriormente utiliza o Keccak-256.
2015Ethereum é lançado – utiliza Keccak-256 para hashing e secp256k1 para assinaturas.
2019O Google alcança a "supremacia quântica" – aumentando a conscientização sobre as ameaças quânticas às funções unidirecionais.
2024O NIST finaliza três padrões pós-quânticos, usando construções baseadas em reticulados e em hashes (Fonte: Padrões pós-quânticos do NIST)

Como Funciona

Operação unidirecional: Calcular uma saída é eficiente, enquanto encontrar uma entrada correspondente é considerado inviável sob as premissas relevantes. Hashing, derivação de chaves por curva elíptica e construções de "porta dos fundos" possuem propriedades diferentes e não devem ser tratadas como intercambiáveis.

Função unidirecionalUsado emOperação AvançadaDificuldade InversaAmeaça Quântica
SHA-256Mineração de Bitcoin, endereçosHash de quaisquer dados → resumo de 256 bits2^256 força brutaReduzido para 2^128 (ainda seguro)
Keccak-256Endereços Ethereum, hashingHash de quaisquer dados → resumo de 256 bits2^256 força brutaReduzido para 2^128 (ainda seguro)
secp256k1 (ECDLP)Pares de chaves Bitcoin/ETHChave privada × G → Chave pública2^128 operações (clássicas)Quebrado pelo algoritmo de Shor
RSA (Factoring)TLS/SSL, sistemas legadosMultiplicar dois números primos → produtoSubexponencial (difícil)Quebrado pelo algoritmo de Shor
Problemas de TreliçaCriptografia pós-quânticaOperações de redeAcreditava-se que era difícil até mesmo para a física quântica.Resistente (base do PQC)

Em termos simples

  1. Fácil de calcular, difícil de inverter: um exemplo adequado. Uma função unidirecional pode ser avaliada de forma eficiente, enquanto a recuperação de uma entrada é computacionalmente inviável sob suas premissas de segurança. Isso não significa que a reversão seja matematicamente impossível.
  2. As funções hash são unidirecionais.O SHA-256 (usado no Bitcoin) recebe qualquer entrada e produz uma saída fixa de 256 bits. A mesma entrada sempre gera a mesma saída, mas apenas com a saída, não é possível descobrir qual era a entrada. É por isso que os mineradores de Bitcoin precisam tentar bilhões de palpites aleatórios – eles não conseguem fazer engenharia reversa do hash vencedor.
  3. Segurança da carteiraMuitos tipos de endereços Bitcoin usam hashes de chaves públicas ou scripts, mas os resultados do Taproot expõem a chave pública. As chaves públicas também podem se tornar visíveis durante uma transação. O design do endereço é importante; o hashing não oculta universalmente todas as chaves públicas.
  4. Mineração é um jogo de adivinhação de função unidirecionalA mineração de Bitcoin funciona porque o SHA-256 é unidirecional. Os mineradores precisam encontrar um número (nonce) que, quando combinado com os dados do bloco, produza um hash começando com muitos zeros. Como o SHA-256 é unidirecional, eles não podem calcular a resposta — precisam tentar e verificar bilhões de vezes. É isso que consome toda essa eletricidade.
  5. Os computadores quânticos são o desafio do futuro.As funções unidirecionais atuais são seguras contra computadores clássicos, mas computadores quânticos executando o algoritmo de Shor poderiam quebrar a criptografia de curvas elípticas. É por isso que os criptógrafos estão desenvolvendo funções unidirecionais pós-quânticas baseadas em problemas (como problemas de reticulado) que se acredita serem difíceis até mesmo para computadores quânticos.

Exemplos do mundo real

CenárioImplementaçãoResultado
Geração de Chaves BitcoinChave privada multiplicada pelo ponto gerador na curva secp256k1A chave pública é obtida em milissegundos; revertê-la levaria bilhões de anos.
Mineração de BitcoinOs mineradores usam o hash SHA-256 para calcular o hash dos cabeçalhos dos blocos, buscando um padrão de saída específico.A propriedade unidirecional força a busca por força bruta – protegendo a rede por meio de prova de trabalho.
Armazenamento de senhaOs sites usam esquemas de hash de senha com salt, como o Argon2id, em vez do SHA-256 simples (Fonte: Armazenamento de senhas OWASP)O processamento de hash lento e que exige muita memória aumenta o custo de adivinhação; senhas fracas ainda podem ser recuperadas.
Endereço EthereumUm endereço Ethereum utiliza os últimos 20 bytes do hash Keccak-256 das coordenadas da chave pública não comprimida.A chave pública pode ser recuperada a partir de uma transação assinada; a chave privada permanece protegida pela suposição do logaritmo discreto.
Árvores MerkleOs hashes de transação são combinados aos pares usando SHA-256 até a raiz Merkle.Verificação eficiente da inclusão de transações sem a necessidade de baixar toda a blockchain.

Vantagens

A VantagemDescrição
Fundamentos da CriptosegurançaO modelo de segurança de cada criptomoeda se baseia na propriedade unidirecional de suas funções.
Verificação eficienteQualquer pessoa pode verificar as saídas (assinaturas, hashes) sem precisar da entrada privada.
DeterministaA mesma entrada sempre produz a mesma saída – comportamento confiável e previsível.
CombinávelFunções unidirecionais podem ser sobrepostas (hash de um hash) para segurança adicional.
Testado em batalhaSHA-256 e secp256k1 resistiram a décadas de ataques criptoanalíticos.
Aplicação UniversalUtilizado em todos os aspectos: mineração, endereços, assinaturas, árvores Merkle e muito mais.

Obtenha o cartão UPay Crypto

Experimente o melhor do pagamento on-line e transações criptográficas perfeitas.

Registrar

Desvantagens e Riscos

Gestão deDescrição
Suposição não comprovadaA existência não foi comprovada; funções unidirecionais implicariam P ≠ NP, mas o inverso não está estabelecido.
Vulnerabilidade quânticaO algoritmo de Shor em computadores quânticos poderia quebrar funções unidirecionais de curvas elípticas.
Fraquezas do AlgoritmoImplementações específicas (como MD5, SHA-1) foram parcialmente quebradas ao longo do tempo.
Sem recuperaçãoSe funções unidirecionais protegem uma chave perdida, o proprietário não tem nenhum recurso matemático.
Modo de falha catastróficaUma grande quebra criptográfica pode ameaçar os sistemas afetados; o impacto depende da primitiva e do ataque.
Custo ComputacionalA prova de trabalho na mineração utiliza a dificuldade de função unidirecional – consumindo uma quantidade enorme de energia.

Dicas de gerenciamento de risco:

  • Entenda que a segurança das criptomoedas se baseia, em última análise, em pressupostos matemáticos – pressupostos fortes, mas ainda assim pressupostos.
  • Siga as pesquisas pós-quânticas de fontes confiáveis ​​e as orientações sobre migração de carteiras ou redes.
  • Use endereços apenas uma vez sempre que possível (especialmente no Bitcoin) – minimizar a exposição da chave pública reduz a superfície de ataque quântico.
  • Diversifique entre diferentes fundamentos criptográficos se estiver preocupado com vulnerabilidades específicas de algoritmos.
  • Não assuma que um endereço não utilizado oculta sua chave pública: tipos de endereço como Taproot expõem uma chave pública desde o início.

Perguntas frequentes

P: As funções unidirecionais são realmente impossíveis de reverter?

A: Não se afirma nenhuma impossibilidade absoluta. A unidirecionalidade significa que a inversão é inviável para o atacante e os parâmetros relevantes. Provar que funções unidirecionais existem continua sendo um problema em aberto; está relacionado, mas não é idêntico, ao problema P versus NP.

P: O que acontece se alguém quebrar o SHA-256?

A: O impacto dependeria do ataque. Um ataque de colisão, um ataque de pré-imagem e um atalho para prova de trabalho são capacidades diferentes. Uma quebra grave poderia exigir uma mudança coordenada no protocolo, mas não recuperaria automaticamente as chaves privadas nem garantiria que um soft fork por si só resolveria o problema.

P: Como as funções unidirecionais se relacionam com a mineração de Bitcoin?

A: Os mineradores de Bitcoin procuram um hash de cabeçalho de bloco abaixo de um valor alvo, e não uma entrada original única para um hash específico. Eles variam o nonce e outras entradas do cabeçalho e avaliam repetidamente o SHA-256 duplo. A falta de um atalho prático torna essa busca computacionalmente custosa.

P: Qual a diferença entre uma função de alçapão e uma função unidirecional?

A: Uma função de porta secreta é difícil de inverter sem um segredo, mas fácil de inverter com um. O RSA fornece um exemplo sob certas suposições e com preenchimento seguro. Na geração de chaves por curva elíptica, o escalar privado é a entrada; não se trata de uma porta secreta que permite inverter chaves públicas arbitrárias.

P: Os computadores quânticos irão quebrar todas as funções unidirecionais?

R: Não. Os computadores quânticos (através do algoritmo de Shor) representam uma ameaça para funções unidirecionais específicas baseadas em fatoração e logaritmos discretos – incluindo criptografia RSA e de curva elíptica. No entanto, funções hash como o SHA-256 são apenas enfraquecidas (de segurança de 2^256 para 2^128 através do algoritmo de Grover), que ainda é considerado seguro. E a criptografia pós-quântica utiliza novas funções unidirecionais (baseadas em problemas de reticulado, esquemas baseados em hash, etc.) que se acredita serem resistentes a ataques quânticos.

Termos relacionados

  • Função Hash
  • SHA-256
  • Criptografia de curva elíptica
  • Criptografia de Chave Pública
  • chave privada
  • Digital Signature
  • Proof of Work (PoW)
  • Criptografia pós-quântica
  • Resistência à colisão
  • Keccak-256

Aviso: Este verbete do glossário tem fins meramente educativos e não constitui aconselhamento financeiro. A negociação de criptomoedas envolve riscos significativos, incluindo o risco de perda. Sempre faça sua própria pesquisa (DYOR) e consulte um consultor financeiro qualificado antes de tomar decisões de investimento.

Conclusão

Uma função unidirecional ajuda a proteger os sistemas de criptomoedas por meio da dificuldade computacional. Sua segurança prática depende da primitiva escolhida, da implementação e do modelo de ameaça, incluindo os diferentes efeitos dos algoritmos quânticos.

Para saber mais sobre a UPay: Segurança da chave privada ; Tipos de carteiras de criptomoedas ; Explicação sobre autocustódia

Fontes

Padrão hash do NIST

Padrões pós-quânticos do NIST

Armazenamento de senhas OWASP

Notícias e Eventos