Cada transação e dado armazenado incorre em um custo em um blockchain. Quer se trate das taxas para efetuar pagamentos, dos custos de gás para executar operações de contratos inteligentes ou dos recursos necessários para armazenar dados, o tamanho das variáveis ​​envolvidas desempenha um papel crucial na determinação desses custos. Reduzir o tamanho dessas variáveis ​​sem comprometer sua funcionalidade ou segurança pode levar a economias significativas em taxas de comunicação, armazenamento e transação.

Apresentando o Truncador

Truncator é uma técnica baseada em mineração projetada para reduzir o tamanho de várias saídas criptográficas frequentemente encontradas em sistemas blockchain. A principal inovação do Truncator envolve alcançar esta redução sem sacrificar a segurança.

Como funciona o truncador

O Truncator adiciona algumas etapas extras durante a composição da transação em troca de benefícios significativos na redução do tamanho da transação e dos custos de gás associados. Embora esse tempo de adição seja normalmente da ordem de segundos, em vez de milissegundos, é particularmente benéfico para transações em que o tamanho variável reduzido supera a necessidade de velocidade. Ao adotar esta abordagem, o remetente da transação obtém vantagens, como taxas de transação reduzidas, e todo o ecossistema se beneficia através da redução dos custos de armazenamento e comunicação.

A técnica por trás do Truncator

Esta abordagem envolve uma busca iterativa (ou mineração) nas entradas das primitivas criptográficas ou aleatoriedade para encontrar uma saída criptografada mais eficiente. Este método cria a saída de cada primitiva de uma maneira específica que satisfaça os parâmetros públicos do sistema modificado, como exigir que alguns bits específicos da saída sejam constantes. Isso é semelhante a como os mecanismos de prova de trabalho exigem que os mineradores digeram continuamente os mesmos dados com diferentes valores aleatórios até atender a uma necessidade específica do sistema. No caso do Truncator, o objetivo do sistema é simplificar a saída até certo ponto.

Por exemplo, considere aplicar o Truncator no algoritmo de geração de chaves para chaves baseadas em logaritmo discreto (dlog). Supondo que todas as chaves públicas aceitáveis ​​tenham um prefixo pré-determinado de ℓ bits, podemos realizar uma busca iterativa por uma chave secreta \( sk \) tal que o formato de sua chave pública derivada \( pk = g^{sk} \) satisfaz o prefixo predeterminado de ℓ bits. As chaves públicas resultantes seriam ℓ bits menores, oferecendo assim custos reduzidos de comunicação e armazenamento.

Garantindo a segurança

A segurança é fundamental, é claro, e a estrutura de segurança de bits mostra que o Truncator não reduz a segurança das chaves. A estrutura de segurança de bits afirma que um primitivo \( P \) tem segurança de κ bits se forem necessárias operações \( 2^{κ} \) do adversário para quebrá-lo. Isto implica que para qualquer ataque com custo computacional \( T \) e probabilidade de sucesso \( ϵ \), deve ser mantido que \( T /ϵ > 2^{κ} \). A intuição aqui é que a abordagem de mineração para truncamento incorre em custos de ataque mais elevados, o que compensa globalmente o espaço de chave reduzido, mantendo o mesmo nível de segurança.

Aplicações do mundo real

A ideia de uma busca iterativa para reduzir o tamanho de chaves e endereços já apareceu antes no espaço blockchain, mais notavelmente nas propostas da Ethereum para endereços com um prefixo de muitos zeros para reduzir as taxas de gás (conhecidas como “gas golfing”). Neste trabalho do Truncator, formalizamos e expandimos essa ideia para múltiplas primitivas criptográficas, como resumos de hash, chaves públicas de criptografia de curva elíptica (ECC) e saídas de assinatura. Por exemplo, cerca de 7% de compactação (2 bytes a menos) foi alcançada em menos de um segundo para assinaturas ed25519 e menos de 10 milissegundos para resumos Blake3 compactados. Também exploramos o truncamento na criptografia ElGamal e na criptografia baseada em Diffie-Hellman, comumente usada para endereços furtivos de blockchain.

Uma nova abordagem para assinaturas pós-quânticas baseadas em hash

Há uma excelente oportunidade para construir novos esquemas criptográficos que aproveitem as técnicas do Truncator durante a fase de design do protocolo, particularmente no contexto da segurança pós-quântica. Esquemas de assinatura baseados em hash, como assinaturas de Lamport e suas variantes, são inerentemente resistentes ao quantum porque sua segurança depende das propriedades das funções hash, e não da dureza de problemas como fatoração de números inteiros grandes ou cálculo de logaritmos discretos, que os computadores quânticos podem eficientemente resolver.

Esquemas futuros poderiam considerar a viabilidade da mineração e ajustar com segurança a geração de chaves ou outras operações criptográficas para acomodá-la, aumentando assim a resistência aos ataques de computação quântica. Ao otimizar o processo de derivação de chaves em esquemas de assinatura baseados em hash, é possível obter melhor desempenho e eficiência. Isto envolve a redução da carga computacional e dos requisitos de armazenamento, o que é crucial para manter a segurança e a usabilidade dos sistemas criptográficos num mundo pós-quântico. Técnicas de mineração de alto desempenho podem levar a uma geração e verificação de assinaturas mais eficientes, garantindo que os sistemas criptográficos permaneçam robustos e escaláveis ​​diante das ameaças quânticas emergentes.

Otimizando assinaturas Lamport

Uma direção intrigante envolve a otimização de assinaturas baseadas em hash no nível de derivação de chave, visando mineração de alto desempenho com resultados significativamente melhores do que a força bruta. Por exemplo, nas assinaturas tradicionais de Lamport, a chave privada compreende 256 pares independentes de valores aleatórios de 256 bits (sementes), totalizando 512 elementos e 16 KiB. Cada chave subprivada corresponde a uma chave pública, o seu hash, resultando num total de 512 elementos. Normalmente, assinamos mensagens com hash, onde cada bit do hash corresponde a um valor subprivado.

Embora a compactação de assinaturas de Lamport normalmente exija técnicas como a variante de cadeia de hash Winternitz, isso também pode ser alcançado derivando partes privadas em uma estrutura de moda em árvore, em vez de selecioná-las independentemente.

Considere assinar uma mensagem composta apenas por zeros. Usando a chave superior, os verificadores podem derivar todas as subchaves por meio de operações da árvore Merkle. Para bits semelhantes adjacentes, podemos usar o caminho da árvore correspondente para reduzir o número de chaves necessárias para envio. Este princípio também se aplica a conjuntos de bits adjacentes. Ao maximizar o número de bits adjacentes por meio de novas tentativas de hash, podemos reduzir a carga útil da assinatura, resultando em uma verificação de Lamport mais otimizada e em provas mais curtas.

Ao maximizar o número de bits adjacentes por meio de novas tentativas de hash, podemos reduzir a carga útil da assinatura, resultando em uma verificação de Lamport mais otimizada e em provas mais curtas. Conclusão

O Truncator apresenta uma abordagem inovadora para truncar o tamanho de saída de primitivas criptográficas, oferecendo uma compensação computacional que abre novos caminhos para exploração. Destacamos sua aplicação às primitivas criptográficas básicas e introduzimos uma direção interessante para otimizar assinaturas baseadas em hash no nível de derivação de chave.

Olhando para o futuro, vemos potencial na extensão do Truncator para primitivas criptográficas mais avançadas e na criação de novos protocolos que aproveitam técnicas de mineração em vários protocolos criptográficos. Esses esforços prometem aumentar a eficiência e reduzir os custos de armazenamento no ecossistema blockchain e além.

Na Sui, estamos particularmente entusiasmados em incorporar essas otimizações em nosso roteiro para segurança pós-quântica, garantindo que nossa plataforma permaneça na vanguarda da inovação, ao mesmo tempo que mantemos padrões de segurança robustos. O Truncator pode potencialmente ajudar em assinaturas pós-quânticas mais amigáveis ​​ao gás, contribuindo para um ambiente de blockchain mais eficiente e seguro.

Para explorar o Truncator mais profundamente, confira nosso GitHub.