<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Blockchain on kenji.blog</title><link>http://kenji.blog/pt/tags/blockchain/</link><description>Recent content in Blockchain on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>pt</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 19:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/pt/tags/blockchain/index.xml" rel="self" type="application/rss+xml"/><item><title>O Funcionamento das Provas de Conhecimento Zero (ZKP) e as Últimas Aplicações em Web3 e Segurança</title><link>http://kenji.blog/pt/p/zero-knowledge-proofs-zkp-web3-security/</link><pubDate>Fri, 11 Sep 2026 19:00:00 +0900</pubDate><guid>http://kenji.blog/pt/p/zero-knowledge-proofs-zkp-web3-security/</guid><description>&lt;img src="http://kenji.blog/p/zero-knowledge-proofs-zkp-web3-security/img/eyecatch.jpg" alt="Featured image of post O Funcionamento das Provas de Conhecimento Zero (ZKP) e as Últimas Aplicações em Web3 e Segurança" />&lt;h2 id="introdução">Introdução
&lt;/h2>&lt;p>Na sociedade digital moderna, a privacidade de dados e a escalabilidade tornaram-se dois dos desafios mais importantes. Com o aumento do risco de vazamento de informações pessoais e uso não autorizado, há uma forte demanda por tecnologias que permitam &amp;ldquo;provar que você possui determinada informação sem revelá-la à outra parte&amp;rdquo;. Isso é alcançado pela &lt;strong>Prova de Conhecimento Zero (Zero-Knowledge Proof: ZKP)&lt;/strong>.&lt;/p>
&lt;p>A Prova de Conhecimento Zero é um conceito de teoria criptográfica proposto pela primeira vez na década de 1980 por Shafi Goldwasser, Silvio Micali e Charles Rackoff, mas que permaneceu restrito à pesquisa teórica por um longo tempo. No entanto, com a ascensão da tecnologia blockchain e da Web3, a situação mudou drasticamente. A ZKP ganhou destaque repentino como a &amp;ldquo;varinha mágica&amp;rdquo; para resolver simultaneamente o problema de escalabilidade (limites de capacidade de processamento) e o problema de privacidade (todas as transações sendo públicas) enfrentados por blockchains públicas como o Ethereum.&lt;/p>
&lt;p>Neste artigo, exploraremos detalhadamente e tecnicamente desde os conceitos fundamentais das Provas de Conhecimento Zero, os profundos mecanismos matemáticos e criptográficos dos atualmente populares &lt;strong>zk-SNARKs&lt;/strong> e &lt;strong>zk-STARKs&lt;/strong>, até os exemplos mais recentes de aplicações em Web3 e segurança, como ZK-Rollups e Identidade Descentralizada (DID).&lt;/p>
&lt;hr>
&lt;h2 id="o-que-é-uma-prova-de-conhecimento-zero-zkp">O que é uma Prova de Conhecimento Zero (ZKP)?
&lt;/h2>&lt;p>Uma Prova de Conhecimento Zero (ZKP) refere-se a um protocolo onde, ao provar que uma certa proposição é verdadeira, um provador (Prover) não transmite nenhuma informação a um verificador (Verifier) &amp;ldquo;além do fato de que a proposição é verdadeira&amp;rdquo;.&lt;/p>
&lt;h3 id="3-requisitos-que-a-zkp-deve-satisfazer">3 Requisitos que a ZKP Deve Satisfazer
&lt;/h3>&lt;p>Para ser estabelecida como uma ZKP, os três seguintes atributos devem ser estritamente atendidos:&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Completude (Completeness)&lt;/strong>
Se a proposição for verdadeira e tanto o provador quanto o verificador seguirem o protocolo corretamente, o verificador deve aceitar (Accept) a prova com uma probabilidade esmagadora.&lt;/li>
&lt;li>&lt;strong>Solidez (Soundness)&lt;/strong>
Se a proposição for falsa, mesmo o provador mais malicioso e com grande poder computacional não poderá enganar o verificador para aceitar a prova (exceto por uma probabilidade insignificantemente pequena).&lt;/li>
&lt;li>&lt;strong>Conhecimento Zero (Zero-Knowledge)&lt;/strong>
Se a proposição for verdadeira, o verificador não pode obter do processo de prova nenhuma informação além do fato de que &amp;ldquo;a proposição é verdadeira&amp;rdquo;. Do ponto de vista do verificador, prova-se por definição matemática que é possível simular o processo de prova (existe um simulador).&lt;/li>
&lt;/ol>
&lt;h3 id="provas-interativas-e-não-interativas">Provas Interativas e Não Interativas
&lt;/h3>&lt;p>Existem dois tipos de ZKP: &lt;strong>provas interativas (Interactive ZKP)&lt;/strong>, onde o provador e o verificador se comunicam múltiplas vezes, e &lt;strong>provas não interativas (Non-Interactive ZKP)&lt;/strong>, onde o provador envia os dados da prova apenas uma vez e finaliza.&lt;/p>
&lt;h4 id="provas-interativas-interactive-zkp">Provas Interativas (Interactive ZKP)
&lt;/h4>&lt;p>As primeiras ZKPs foram projetadas como protocolos interativos. A famosa alegoria da &amp;ldquo;Caverna de Ali Babá&amp;rdquo; enquadra-se nisso. O fluxo geral do protocolo é o seguinte:&lt;/p>
&lt;div class="mermaid">sequenceDiagram
participant Prover as "Prover (Provador)"
participant Verifier as "Verifier (Verificador)"
Note over Prover, Verifier: "Fluxo básico do protocolo de prova interativa"
Prover->>Verifier: "1. Enviar compromisso (Commitment)"
Verifier->>Prover: "2. Enviar desafio aleatório (Challenge)"
Prover->>Verifier: "3. Calcular e enviar resposta (Response)"
Note over Verifier: "Verificar a resposta (Verification)"
Verifier-->>Prover: "4. Aceitar ou rejeitar (Accept / Reject)"
Note over Prover, Verifier: "※Para aumentar a certeza, isso é repetido dezenas de vezes"&lt;/div>
&lt;p>Este método é poderoso, mas o verificador deve estar online, o que o torna inconveniente para aplicação em sistemas distribuídos assíncronos como blockchain. Em uma blockchain, qualquer pessoa deve ser capaz de verificar provas passadas a qualquer momento.&lt;/p>
&lt;h4 id="transformação-de-fiat-shamir-fiat-shamir-heuristic-e-não-interatividade">Transformação de Fiat-Shamir (Fiat-Shamir Heuristic) e Não Interatividade
&lt;/h4>&lt;p>A &lt;strong>Transformação de Fiat-Shamir&lt;/strong> é um método inovador para converter uma prova interativa em uma prova não interativa (Non-Interactive Zero-Knowledge Proof: NIZK).&lt;/p>
&lt;p>Em vez do &amp;ldquo;desafio aleatório&amp;rdquo; enviado pelo verificador, o provador autogera um &amp;ldquo;desafio pseudoaleatório&amp;rdquo; usando seu próprio compromisso e o valor de hash das informações públicas. Assumindo que uma função de hash criptográfica (como SHA-256 ou Keccak) funcione como um oráculo aleatório, o provador não pode prever ou manipular o desafio antecipadamente e pode completar a prova com um único envio de mensagem, mantendo a mesma segurança de uma prova interativa.&lt;/p>
&lt;hr>
&lt;h2 id="detalhes-técnicos-de-zk-snarks">Detalhes Técnicos de zk-SNARKs
&lt;/h2>&lt;p>Atualmente, a ZKP mais amplamente utilizada é o &lt;strong>zk-SNARKs&lt;/strong> (Zero-Knowledge Succinct Non-Interactive Argument of Knowledge). Como o nome sugere, é um argumento de conhecimento (Argument of Knowledge) que possui conhecimento zero (zk), tamanho de prova muito pequeno e verificação rápida (Succinct) e é não interativo (Non-Interactive).&lt;/p>
&lt;p>A base do zk-SNARKs é a geometria algébrica avançada e a teoria criptográfica. Ele converte a execução ou cálculo de um programa na verificação de uma equação polinomial específica.&lt;/p>
&lt;h3 id="1-conversão-para-circuitos-aritméticos-e-r1cs-rank-1-constraint-system">1. Conversão para Circuitos Aritméticos e R1CS (Rank-1 Constraint System)
&lt;/h3>&lt;p>Primeiro, qualquer cálculo a ser provado (um algoritmo ou lógica de contrato inteligente) é convertido em um &lt;strong>circuito aritmético (Arithmetic Circuit)&lt;/strong> que consiste em portas de adição e portas de multiplicação.&lt;/p>
&lt;p>Em seguida, este circuito aritmético é convertido em um conjunto de equações de matriz chamado &lt;strong>R1CS (Rank-1 Constraint System)&lt;/strong>. O R1CS é o problema de encontrar matrizes $A, B, C$ que satisfaçam a seguinte restrição para um vetor de variáveis $x$:&lt;/p>
$$ (A \cdot x) \circ (B \cdot x) = C \cdot x $$
&lt;p>Aqui, $\circ$ representa o produto de Hadamard (produto elemento a elemento). Essa restrição garante que todas as portas lógicas do circuito (especialmente as portas de multiplicação) sejam calculadas corretamente.&lt;/p>
&lt;h3 id="2-conversão-para-qap-quadratic-arithmetic-program">2. Conversão para QAP (Quadratic Arithmetic Program)
&lt;/h3>&lt;p>Como existem inúmeras restrições de matriz do R1CS, verificá-las individualmente é muito ineficiente. Portanto, usando a interpolação de Lagrange, essas restrições são comprimidas em uma única equação polinomial. Isso é o &lt;strong>QAP (Quadratic Arithmetic Program)&lt;/strong>.&lt;/p>
&lt;p>Ao converter para QAP, o problema a ser provado se reduz ao problema de &amp;ldquo;Pode um polinômio específico $P(x)$ ser divisível por outro polinômio conhecido $Z(x)$?&amp;rdquo;.&lt;/p>
$$ P(x) = L(x) \cdot R(x) - O(x) $$
&lt;p>Aqui, $L(x), R(x), O(x)$ são combinações dos polinômios correspondentes a cada linha das matrizes $A, B, C$, respectivamente. Se o provador souber a solução correta (Witness), o valor em cada raiz (ponto de avaliação) de $P(x)$ será 0, portanto, $P(x)$ terá o polinômio alvo $Z(x)$ como um fator. Ou seja, existe um polinômio $H(x)$ e a seguinte equação se mantém:&lt;/p>
$$ P(x) = H(x) \cdot Z(x) $$
&lt;p>O verificador pode verificar instantaneamente se todo o cálculo foi realizado corretamente apenas verificando se esta equação $P(s) = H(s) \cdot Z(s)$ se mantém em um ponto secreto aleatório $s$. Esse é o segredo da &amp;ldquo;Sucintez (Succinctness)&amp;rdquo;.&lt;/p>
&lt;h3 id="3-criptografia-de-curva-elíptica-e-emparelhamentos-bilinear-pairings">3. Criptografia de Curva Elíptica e Emparelhamentos (Bilinear Pairings)
&lt;/h3>&lt;p>No entanto, se o verificador souber o ponto secreto $s$, o provador poderá forjar um polinômio falso para satisfazer a equação (quebra da solidez). Portanto, é necessário realizar o cálculo mantendo $s$ criptografado (usando criptografia homomórfica) para que ninguém o conheça.&lt;/p>
&lt;p>Isto é alcançado pelos &lt;strong>emparelhamentos de curva elíptica (Bilinear Pairings)&lt;/strong>.
Um emparelhamento $e$ é uma função especial que pode calcular um valor equivalente à criptografia de seu produto a partir de dois valores criptografados.&lt;/p>
$$ e(g_1^a, g_2^b) = e(g_1, g_2)^{ab} $$
&lt;p>O provador pode calcular os valores criptografados dos polinômios $P(s)$ e $H(s)$ usando o valor criptografado da potência de $s$ (chamado de CRS: Common Reference String), mesmo sem conhecer o próprio $s$. O verificador utiliza a função de emparelhamento para verificar se a relação $P(s) = H(s) \cdot Z(s)$ é mantida enquanto os valores permanecem criptografados.&lt;/p>
&lt;h3 id="4-configuração-confiável-trusted-setup">4. Configuração Confiável (Trusted Setup)
&lt;/h3>&lt;p>A maior fraqueza dos zk-SNARKs (especialmente os iniciais como o Groth16) é que eles requerem um processo para gerar o ponto secreto $s$, chamado de &lt;strong>Configuração Confiável (Trusted Setup)&lt;/strong>. Se o criador do $s$ mantiver o valor em vez de destruí-lo, ele poderá gerar qualquer prova falsa (problema do Lixo Tóxico / Toxic Waste).&lt;/p>
&lt;p>Para prevenir isso, é realizada uma cerimônia chamada &amp;ldquo;Ceremony&amp;rdquo;, que utiliza Computação Multipartidária (MPC). Vários participantes colaboram para fornecer aleatoriedade, e se pelo menos um participante destruir honestamente seu próprio valor aleatório, a segurança de todo o sistema é mantida. No entanto, pesquisas para eliminar essa dependência vêm sendo conduzidas há muitos anos.&lt;/p>
&lt;hr>
&lt;h2 id="detalhes-técnicos-de-zk-starks">Detalhes Técnicos de zk-STARKs
&lt;/h2>&lt;p>Como resposta à dependência da Configuração Confiável e ao risco de decodificação da criptografia de curva elíptica por computadores quânticos, surgiram os &lt;strong>zk-STARKs&lt;/strong> (Zero-Knowledge Scalable Transparent Argument of Knowledge).&lt;/p>
&lt;p>Desenvolvido por Eli Ben-Sasson e outros, o STARKs não requer nenhuma Configuração Confiável (Trusted Setup), como o nome &amp;ldquo;Transparente (Transparent)&amp;rdquo; sugere, e tem a característica de que o tamanho da prova e o tempo de verificação são mantidos eficientes mesmo se o volume de cálculo aumentar, como sugere o nome &amp;ldquo;Escalável (Scalable)&amp;rdquo;.&lt;/p>
&lt;h3 id="1-compromisso-polinomial-e-protocolo-fri">1. Compromisso Polinomial e Protocolo FRI
&lt;/h3>&lt;p>Os zk-STARKs não dependem de criptografia de curva elíptica, mas ancoram a sua segurança &lt;strong>apenas em funções hash&lt;/strong>. Portanto, eles possuem propriedades de criptografia pós-quântica (Post-Quantum Cryptography).&lt;/p>
&lt;p>A verificação do cálculo é realizada convertendo-o num formato chamado AIR (Algebraic Intermediate Representation) e, em seguida, utilizando as propriedades dos polinómios unidimensionais ou multidimensionais. O núcleo do STARKs está no protocolo &lt;strong>FRI (Fast Reed-Solomon Interactive Oracle Proof of Proximity)&lt;/strong>.&lt;/p>
&lt;p>O protocolo FRI é uma tecnologia para verificar &amp;ldquo;se uma determinada função está suficientemente próxima de um polinômio de um grau específico (Proximity)&amp;rdquo;. O provador compromete os valores do polinômio como folhas de uma árvore de Merkle (Merkle Tree) (compromisso polinomial).&lt;/p>
&lt;div class="mermaid">graph TD
Root["Merkle Root (Compromisso)"] --> Node0["Nó 0"]
Root --> Node1["Nó 1"]
Node0 --> Leaf0["P(x_0)"]
Node0 --> Leaf1["P(x_1)"]
Node1 --> Leaf2["P(x_2)"]
Node1 --> Leaf3["P(x_3)"]&lt;/div>
&lt;p>O verificador exige a revelação de alguns pontos aleatórios e utiliza provas de Merkle (Merkle Proofs) para confirmar que estão incluídos no compromisso. Ao repetir isso recursivamente, garante-se com probabilidade esmagadora que o grau do polinômio original é realmente baixo.&lt;/p>
&lt;h3 id="comparação-entre-zk-snarks-e-zk-starks">Comparação entre zk-SNARKs e zk-STARKs
&lt;/h3>&lt;table>
&lt;thead>
&lt;tr>
&lt;th style="text-align:left">Característica&lt;/th>
&lt;th style="text-align:left">zk-SNARKs&lt;/th>
&lt;th style="text-align:left">zk-STARKs&lt;/th>
&lt;/tr>
&lt;/thead>
&lt;tbody>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Suposições Criptográficas&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Curvas elípticas, Emparelhamentos&lt;/td>
&lt;td style="text-align:left">Funções hash resistentes a colisões&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Configuração Confiável&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Necessária (Plonk etc. são universais)&lt;/td>
&lt;td style="text-align:left">Não necessária (Transparente)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Resistência Quântica&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Não&lt;/td>
&lt;td style="text-align:left">Sim&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Tamanho da Prova&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Muito pequeno (~200 Byte)&lt;/td>
&lt;td style="text-align:left">Um pouco maior (dezenas de KB)&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Custo Computacional da Geração da Prova&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Alto&lt;/td>
&lt;td style="text-align:left">Relativamente menor que SNARKs&lt;/td>
&lt;/tr>
&lt;tr>
&lt;td style="text-align:left">&lt;strong>Custo de Verificação (Taxa de Gas)&lt;/strong>&lt;/td>
&lt;td style="text-align:left">Muito baixo (constante)&lt;/td>
&lt;td style="text-align:left">Baixo (aumenta logaritmicamente)&lt;/td>
&lt;/tr>
&lt;/tbody>
&lt;/table>
&lt;p>Nos últimos anos, surgiram SNARKs que &amp;ldquo;não requerem Configuração Confiável, ou precisam de apenas uma vez&amp;rdquo;, como Plonk e Halo2, e a fronteira entre SNARKs e STARKs está gradualmente se tornando tênue, mas a diferença fundamental na abordagem matemática é importante.&lt;/p>
&lt;hr>
&lt;h2 id="as-últimas-aplicações-de-provas-de-conhecimento-zero-na-web3-e-segurança">As Últimas Aplicações de Provas de Conhecimento Zero na Web3 e Segurança
&lt;/h2>&lt;p>A ZKP, que passou da teoria à prática, está atualmente causando uma revolução na vanguarda da Web3 e da segurança cibernética.&lt;/p>
&lt;h3 id="1-dimensionamento-extremo-do-ethereum-por-zk-rollups">1. Dimensionamento Extremo do Ethereum por ZK-Rollups
&lt;/h3>&lt;p>As blockchains de camada 1 (L1) como o Ethereum enfrentam grandes limitações de escalabilidade (o trilema) porque enfatizam a descentralização e a segurança. A solução definitiva de camada 2 (L2) para resolver isso é o &lt;strong>ZK-Rollups&lt;/strong>.&lt;/p>
&lt;p>No ZK-Rollup, milhares de transações são executadas e processadas off-chain (L2), e uma única &amp;ldquo;ZKP (Validity Proof)&amp;rdquo; é gerada para mostrar que todas foram executadas corretamente. O contrato inteligente na cadeia L1 só precisa verificar esta prova.&lt;/p>
&lt;div class="mermaid">flowchart LR
Users["Users (Envio de Tx)"] --> Sequencer["Sequencer (Coleta e Execução de Tx)"]
Sequencer --> Prover["Prover (Geração de ZKP)"]
Sequencer --> L1Contract["L1 Smart Contract (Publicação de Dados de Tx)"]
Prover --> L1Contract["Submissão de ZKP (Prova)"]
L1Contract --> Verify["Verificação &amp; Atualização de Estado"]&lt;/div>
&lt;p>A maior vantagem do ZK-Rollups é que, diferentemente do Optimistic Rollups (como Arbitrum ou Optimism), não há necessidade de um período de contestação (geralmente 7 dias) para provas de fraude (Fraud Proof). Como a correção é garantida criptograficamente, a retirada de fundos (Finality) para a L1 é concluída no momento em que a prova é verificada. Atualmente, projetos como zkSync, Starknet, Scroll e Polygon zkEVM estão em intensa competição de desenvolvimento, e a realização do &lt;strong>zkEVM&lt;/strong>, que é compatível com o EVM (Ethereum Virtual Machine), está impulsionando o rápido crescimento do ecossistema.&lt;/p>
&lt;h3 id="2-identidade-com-preservação-de-privacidade-zkp-for-identity">2. Identidade com Preservação de Privacidade (ZKP for Identity)
&lt;/h3>&lt;p>A forma como a autenticação pessoal funciona no mundo digital também mudará fundamentalmente com a ZKP.
Por exemplo, para a pergunta &amp;ldquo;Você tem 18 anos ou mais?&amp;rdquo;, os sistemas tradicionais exigiam a apresentação de uma carteira de motorista ou passaporte, entregando informações pessoais desnecessárias como nome e endereço à outra parte.&lt;/p>
&lt;p>Usando ZKP, é possível provar &lt;strong>apenas o fato matematicamente&lt;/strong> de que &amp;ldquo;com base na minha data de nascimento, tenho 18 anos ou mais na data atual&amp;rdquo; utilizando certificados digitais emitidos por órgãos governamentais (Verifiable Credential). O verificador só precisa validar a assinatura do certificado e a ZKP, e não pode saber a data de nascimento ou a identidade do usuário.&lt;/p>
&lt;p>Projetos de Prova de Humanidade (Proof of Personhood) como o Worldcoin também não armazenam ou compartilham diretamente os dados da íris, mas usam a ZKP para implementar um sistema que comprova &amp;ldquo;apenas ser um ser humano único&amp;rdquo;.&lt;/p>
&lt;h3 id="3-contratos-inteligentes-confidenciais-e-uso-corporativo">3. Contratos Inteligentes Confidenciais e Uso Corporativo
&lt;/h3>&lt;p>A natureza de &amp;ldquo;todos os dados serem públicos&amp;rdquo; nas blockchains públicas sempre foi uma barreira importante para as empresas lidarem com transações confidenciais ou informações da cadeia de suprimentos na blockchain.&lt;/p>
&lt;p>Utilizando a tecnologia ZKP (por exemplo, redes focadas em privacidade como Aleo e Aztec), é possível registrar na blockchain pública apenas a validade da atualização do estado, mantendo os valores de entrada e saída das transações e até mesmo a própria lógica do contrato inteligente executado criptografados. Isto possibilita prevenir o front-running (MEV) em DeFi (Finanças Descentralizadas) e construir redes de consórcio confidenciais entre empresas, enquanto se desfruta da alta segurança da blockchain pública.&lt;/p>
&lt;hr>
&lt;h2 id="desafios-futuros-e-perspectivas-da-zkp">Desafios Futuros e Perspectivas da ZKP
&lt;/h2>&lt;p>A ZKP é inegavelmente uma tecnologia fundamental da próxima geração, mas ainda restam alguns desafios.&lt;/p>
&lt;ol>
&lt;li>&lt;strong>Custo Computacional da Geração de Provas e Aceleração de Hardware&lt;/strong>
A geração da ZKP requer enormes cálculos de polinômios, FFT (Transformada Rápida de Fourier) e MSM (Multiplicação Multi-Escalar). Atualmente, a pesquisa em hardware especializado (FPGA e ASIC) para acelerar essa geração de provas, conhecida como &lt;strong>Mineração ZKP&lt;/strong> (Prover Network), está avançando rapidamente.&lt;/li>
&lt;li>&lt;strong>Padronização e Melhoria da Experiência do Desenvolvedor (DX)&lt;/strong>
Múltiplas linguagens dedicadas para escrever circuitos ZKP, como Circom, Cairo, Noir, Leo, estão proliferando. O padrão que as unifica e a maturidade de compiladores que gerem automaticamente circuitos ZKP a partir de Rust ou C++ existentes serão a chave para a adoção da ZKP por engenheiros de software comuns.&lt;/li>
&lt;/ol>
&lt;h2 id="conclusão">Conclusão
&lt;/h2>&lt;p>As Provas de Conhecimento Zero (ZKP) evoluíram de ser apenas uma &amp;ldquo;tecnologia para aumentar o anonimato das criptomoedas&amp;rdquo; para uma &amp;ldquo;tecnologia de propósito geral que redefine a confiança (trust) de toda a Internet&amp;rdquo;. As pequenas provas calculadas nas profundezas da matemática e da teoria da criptografia expandem infinitamente a escalabilidade da blockchain e funcionam como um forte escudo para proteger nossa privacidade.&lt;/p>
&lt;p>Rumo à verdadeira adoção em massa da Web3 e à construção de uma Internet de próxima geração segura e privada, as Provas de Conhecimento Zero continuarão a funcionar como a peça mais importante. Não podemos tirar os olhos da futura evolução da tecnologia ZKP.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Referências e Links Relacionados&lt;/em>&lt;/p>
&lt;ul>
&lt;li>Groth, J. (2016). &amp;ldquo;On the Size of Pairing-based Non-interactive Arguments&amp;rdquo;&lt;/li>
&lt;li>Ben-Sasson, E., et al. (2018). &amp;ldquo;Scalable, transparent, and post-quantum secure computational integrity&amp;rdquo;&lt;/li>
&lt;li>Vitalik Buterin&amp;rsquo;s blog on zk-SNARKs and zk-STARKs&lt;/li>
&lt;/ul></description></item><item><title>Como a blockchain e as criptomoedas mudarão na era pós-quântica?</title><link>http://kenji.blog/pt/p/post-quantum-blockchain-and-crypto/</link><pubDate>Fri, 11 Sep 2026 17:00:00 +0900</pubDate><guid>http://kenji.blog/pt/p/post-quantum-blockchain-and-crypto/</guid><description>&lt;img src="http://kenji.blog/p/post-quantum-blockchain-and-crypto/img/eyecatch.jpg" alt="Featured image of post Como a blockchain e as criptomoedas mudarão na era pós-quântica?" />&lt;h2 id="1-introdução-os-passos-da-era-pós-quântica-e-a-crise-da-blockchain">1. Introdução: Os passos da era pós-quântica e a crise da blockchain
&lt;/h2>&lt;p>Desde a criação do Bitcoin por Satoshi Nakamoto em 2009, a tecnologia blockchain cresceu para se tornar a base de sistemas financeiros e aplicativos em todo o mundo como um &amp;ldquo;livro-razão descentralizado e à prova de adulteração&amp;rdquo;. Essa segurança robusta é sustentada pela criptografia moderna, especificamente a &lt;strong>Criptografia de Chave Pública (Public Key Cryptography)&lt;/strong> e as &lt;strong>Funções Hash Criptográficas (Cryptographic Hash Functions)&lt;/strong>.&lt;/p>
&lt;p>Essas tecnologias criptográficas garantem a segurança com base na &amp;ldquo;dificuldade computacional&amp;rdquo; matemática, segundo a qual computadores clássicos (os PCs e supercomputadores que usamos atualmente) levariam um tempo equivalente à idade do universo para decifrá-las.&lt;/p>
&lt;p>No entanto, essa premissa está prestes a ser fundamentalmente derrubada pelo rápido desenvolvimento e implementação prática de &lt;strong>Computadores Quânticos (Quantum Computers)&lt;/strong>, a fronteira da física e da ciência da informação. Utilizando a &amp;ldquo;Superposição (Superposition)&amp;rdquo; e o &amp;ldquo;Emaranhamento Quântico (Entanglement)&amp;rdquo; exclusivos da mecânica quântica, os computadores quânticos exibem um poder computacional que supera os computadores clássicos convencionais em problemas matemáticos específicos, alcançando a chamada &amp;ldquo;Supremacia Quântica (Quantum Supremacy)&amp;rdquo;.&lt;/p>
&lt;p>Neste artigo, exploraremos detalhadamente, de uma perspectiva técnica e matemática, as ameaças específicas que a tecnologia blockchain enfrenta devido aos computadores quânticos. Também discutiremos a solução: as últimas tendências em &lt;strong>Criptografia Pós-Quântica (PQC: Post-Quantum Cryptography)&lt;/strong> e os cenários de transição para redes de criptoativos.&lt;/p>
&lt;hr>
&lt;h2 id="2-fundamentos-da-computação-quântica-e-duas-grandes-ameaças-à-blockchain">2. Fundamentos da computação quântica e duas grandes ameaças à blockchain
&lt;/h2>&lt;p>Os sistemas de blockchain atuais são compostos principalmente pelos dois elementos criptográficos a seguir, cada um exposto a diferentes ameaças de algoritmos quânticos.&lt;/p>
&lt;div class="mermaid">graph TD
A["Incrível poder de computação dos computadores quânticos"] --> B["Algoritmo de Shor (Shor's Algorithm)"]
A --> C["Algoritmo de Grover (Grover's Algorithm)"]
B --> D["Colapso da criptografia de chave pública (ECDSA/RSA/DSA)"]
C --> E["Impacto na função hash criptográfica (SHA-256)"]
D --> F["Identificação de chaves privadas de terceiros e falsificação de transações"]
E --> G["Vantagem na mineração PoW e ataques a alguns endereços"]
F --> H["Ameaça fatal e direta na blockchain"]
G --> I["Ameaça contornável por ajustes de algoritmo (ex: expansão do tamanho da chave)"]
style H fill:#ff9999,stroke:#cc0000,stroke-width:2px;
style I fill:#ffff99,stroke:#cccc00,stroke-width:2px;&lt;/div>
&lt;h3 id="21-fundamentos-e-dificuldade-computacional-da-criptografia-de-curva-elíptica-ecdsa">2.1. Fundamentos e dificuldade computacional da Criptografia de Curva Elíptica (ECDSA)
&lt;/h3>&lt;p>Muitas blockchains, incluindo Bitcoin e Ethereum, adotam o &lt;strong>Algoritmo de Assinatura Digital de Curva Elíptica (ECDSA: Elliptic Curve Digital Signature Algorithm)&lt;/strong> como seu algoritmo de assinatura digital. Especificamente, o Bitcoin usa uma curva elíptica com o parâmetro &lt;code>secp256k1&lt;/code>.&lt;/p>
&lt;p>A segurança da criptografia de curva elíptica depende da dificuldade computacional do &lt;strong>Problema do Logaritmo Discreto em Curvas Elípticas (ECDLP: Elliptic Curve Discrete Logarithm Problem)&lt;/strong>.
Uma curva elíptica é definida pela equação na forma padrão de Weierstrass a seguir:&lt;/p>
$$
y^2 \equiv x^3 + ax + b \pmod{p}
$$
&lt;p>No &lt;code>secp256k1&lt;/code> do Bitcoin, $a = 0, b = 7$, e $p$ é um número primo extremamente grande.
Seja $G$ o ponto base (ponto de referência) nesta curva, e $k$ a chave privada, que é um número inteiro gigante de 256 bits escolhido aleatoriamente. Neste caso, a chave pública $K$ é obtida pela adição (multiplicação escalar) do ponto base por $k$ vezes.&lt;/p>
$$
K = k \times G = \underbrace{G + G + \dots + G}_{k \text{ vezes}}
$$
&lt;p>Usar um computador clássico para calcular reversamente (encontrar o logaritmo discreto) a chave privada $k$ a partir da chave pública publicada $K$ e do ponto base $G$ leva um tempo computacional exponencial de $\mathcal{O}(\sqrt{p})$, mesmo usando os melhores algoritmos clássicos, como o método de fatoração rho de Pollard. Para uma chave de 256 bits, seriam necessárias cerca de $2^{128}$ operações, um nível impossível de resolver mesmo executando os supercomputadores atuais por bilhões de anos.&lt;/p>
&lt;h3 id="22-colapso-pelo-algoritmo-de-shor-shors-algorithm">2.2. Colapso pelo Algoritmo de Shor (Shor&amp;rsquo;s Algorithm)
&lt;/h3>&lt;p>No entanto, o &lt;strong>Algoritmo de Shor&lt;/strong>, publicado por Peter Shor em 1994, destruiu completamente essa premissa. O algoritmo de Shor foi originalmente proposto para resolver o problema de fatoração de inteiros (a base da criptografia RSA) em tempo polinomial, mas também pode ser aplicado ao problema do logaritmo discreto e ao problema do logaritmo discreto em curvas elípticas.&lt;/p>
&lt;p>O núcleo do algoritmo de Shor reside em sua capacidade de encontrar rapidamente o &amp;ldquo;Período (Period)&amp;rdquo; de uma função usando a &lt;strong>Transformada de Fourier Quântica (QFT: Quantum Fourier Transform)&lt;/strong>.&lt;/p>
$$
\text{Complexidade clássica} = \mathcal{O}(2^{n/2}) \quad (\text{onde } n \text{ é o comprimento em bits})
$$
$$
\text{Complexidade do algoritmo quântico} = \mathcal{O}(n^3)
$$
&lt;p>Dessa forma, o algoritmo de Shor reduz drasticamente o tempo exponencial para &lt;strong>Tempo Polinomial (Polynomial Time)&lt;/strong>. Se um computador quântico com qubits lógicos suficientes for concluído, será possível identificar a chave privada $k$ a partir de uma chave pública $K$ publicada na rede em minutos ou até segundos. Isso permite que os invasores obtenham facilmente as chaves privadas das carteiras de outras pessoas e assumam o controle total de seus fundos.&lt;/p>
&lt;h4 id="221-passo-a-passo-da-decodificação-do-ecdlp-com-o-algoritmo-de-shor">2.2.1 Passo a passo da decodificação do ECDLP com o Algoritmo de Shor
&lt;/h4>&lt;p>Vamos observar, passo a passo, o processo interno de como um computador quântico resolve o Problema do Logaritmo Discreto em Curvas Elípticas (ECDLP).&lt;/p>
&lt;p>Definição do problema: Em $K = k \times G$, $G$ e $K$ são conhecidos e queremos encontrar o número inteiro desconhecido $k$ (chave privada). Seja $N$ a ordem da curva elíptica.&lt;/p>
&lt;p>&lt;strong>Passo 1: Criação do estado de superposição&lt;/strong>
Primeiro, preparamos dois registradores quânticos e aplicamos uma porta Hadamard (Hadamard Gate) a cada um para criar um estado de superposição de todas as combinações de números inteiros possíveis.
&lt;/p>
$$
|\psi_1\rangle = \frac{1}{N} \sum_{x=0}^{N-1} \sum_{y=0}^{N-1} |x\rangle |y\rangle |0\rangle
$$
&lt;p>&lt;strong>Passo 2: Aplicação do oráculo quântico (avaliação da função)&lt;/strong>
Em seguida, usando um circuito quântico (oráculo) que realiza a adição de pontos na curva elíptica, calculamos a função $f(x, y) = x \times G + y \times K$ no terceiro registrador.
&lt;/p>
$$
|\psi_2\rangle = \frac{1}{N} \sum_{x=0}^{N-1} \sum_{y=0}^{N-1} |x\rangle |y\rangle |x \times G + y \times K\rangle
$$
&lt;p>
O ponto importante aqui é que, como $K = k \times G$, a função pode ser reescrita como $f(x, y) = (x + y \cdot k) \times G$.&lt;/p>
&lt;p>&lt;strong>Passo 3: Medição do terceiro registrador&lt;/strong>
A medição do terceiro registrador o colapsa para um determinado ponto $R$ na curva elíptica. Como resultado, o primeiro e o segundo registradores colapsam para uma superposição de pares $(x, y)$ que satisfazem $x + y \cdot k \equiv c \pmod{N}$ (onde $c$ é uma constante).
&lt;/p>
$$
|\psi_3\rangle = \frac{1}{\sqrt{N}} \sum_{y=0}^{N-1} |c - y \cdot k \pmod{N}\rangle |y\rangle
$$
&lt;p>&lt;strong>Passo 4: Aplicação da Transformada de Fourier Quântica (QFT)&lt;/strong>
Este estado possui uma periodicidade relacionada ao período $k$. Ao aplicar a Transformada de Fourier Quântica Inversa (Inverse QFT) a isso, causamos interferência de fase e convertemos a informação do período em amplitude.&lt;/p>
&lt;p>&lt;strong>Passo 5: Medição e pós-processamento clássico&lt;/strong>
Ao medir o primeiro e o segundo registradores, obtemos valores contendo informações sobre $k$ com alta probabilidade. Aplicando algoritmos clássicos de teoria dos números, como Frações Contínuas (Continued Fractions), aos valores medidos, a chave privada desconhecida $k$ pode ser perfeitamente identificada.&lt;/p>
&lt;p>O número de portas quânticas exigido para todo esse processo é $\mathcal{O}(\log^3 N)$, o que revela a chave privada a uma velocidade incomparável em relação à busca $\mathcal{O}(\sqrt{N})$ realizada por computadores clássicos.&lt;/p>
&lt;h3 id="23-o-algoritmo-de-grover-grovers-algorithm-e-o-impacto-nas-funções-hash">2.3. O Algoritmo de Grover (Grover&amp;rsquo;s Algorithm) e o impacto nas funções hash
&lt;/h3>&lt;p>Outra ameaça é o &lt;strong>Algoritmo de Grover&lt;/strong>, proposto por Lov Grover em 1996. Ele tem um impacto significativo nas funções hash (ex: SHA-256).&lt;/p>
&lt;p>Na blockchain, as funções hash são usadas para garantir a integridade dos dados, gerar endereços e servir como base para a &lt;strong>mineração PoW (Proof of Work)&lt;/strong> no Bitcoin. O cálculo reverso (cálculo de pré-imagem) de uma função hash pode ser visto como um &amp;ldquo;problema de busca em banco de dados não estruturado&amp;rdquo; no qual, para um valor de saída específico $y$, buscamos um valor de entrada $x$ tal que $H(x) = y$.&lt;/p>
&lt;p>Com computadores clássicos, para encontrar a resposta correta dentre $N$ possibilidades, é necessária uma média de $\frac{N}{2}$ tentativas, ou $N$ tentativas no pior dos casos. Ou seja, a complexidade é $\mathcal{O}(N)$.
No entanto, o algoritmo de Grover usa uma técnica quântica chamada &amp;ldquo;Amplificação de Amplitude (Amplitude Amplification)&amp;rdquo;. Ele amplifica repetidamente a amplitude de probabilidade do estado que é a resposta correta dentre todas as possibilidades em superposição, reduzindo assim o tempo de busca para a raiz quadrada.&lt;/p>
$$
\text{Complexidade do Algoritmo de Grover} = \mathcal{O}(\sqrt{N})
$$
&lt;p>No caso do SHA-256, $N = 2^{256}$, então uma busca de força bruta clássica requer cerca de $2^{256}$ tentativas. No entanto, o uso do algoritmo de Grover exigiria apenas $\sqrt{2^{256}} = 2^{128}$ tentativas. Isso significa que, para computadores quânticos, uma função hash de 256 bits terá sua &lt;strong>força de segurança efetivamente cortada pela metade, para 128 bits&lt;/strong>.&lt;/p>
&lt;h4 id="231-o-sha-256-sobreviverá-supremacia-quântica-no-hashing">2.3.1. O SHA-256 sobreviverá? (Supremacia Quântica no Hashing)
&lt;/h4>&lt;p>Embora a segurança caia pela metade, &amp;ldquo;128 bits de segurança&amp;rdquo; ainda é incrivelmente forte. O número de cálculos $2^{128}$ é astronômico e, do ponto de vista do nível de tecnologia atual, levaria um tempo na escala de vida do universo.
Portanto, considera-se amplamente que &lt;strong>&amp;ldquo;o SHA-256 manterá a segurança prática mesmo contra computadores quânticos&amp;rdquo;&lt;/strong>. Se for necessário aumentar a margem de segurança no futuro, a segurança clássica de 256 bits pode ser mantida no mundo quântico simplesmente dobrando o comprimento de saída do hash (ex: migrando do SHA-256 para o SHA-512).&lt;/p>
&lt;p>Em conclusão, embora a ameaça quântica às funções hash seja &amp;ldquo;leve e contornável&amp;rdquo;, a ameaça à criptografia de chave pública (ECDSA) pode ser considerada &amp;ldquo;fatal&amp;rdquo;.&lt;/p>
&lt;hr>
&lt;h2 id="3-análise-detalhada-do-impacto-atual-nos-criptoativos-bitcoin-ethereum">3. Análise detalhada do impacto atual nos criptoativos (Bitcoin, Ethereum)
&lt;/h2>&lt;p>Em um mundo onde a quebra do ECDSA por computadores quânticos se torna possível, com quais vulnerabilidades específicas as redes de criptoativos lidarão? Aqui, com base na estrutura do Bitcoin, conduzimos uma análise detalhada da perspectiva do &lt;strong>&amp;ldquo;momento em que a chave pública é exposta&amp;rdquo;&lt;/strong>.&lt;/p>
&lt;h3 id="31-geração-de-endereços-e-não-divulgação-de-chaves-públicas">3.1. Geração de endereços e &amp;ldquo;não divulgação&amp;rdquo; de chaves públicas
&lt;/h3>&lt;p>Os endereços do Bitcoin (P2PKH: Pay-to-Public-Key-Hash e P2WPKH: Pay-to-Witness-Public-Key-Hash) não usam a própria chave pública, mas a chave pública com hash aplicado múltiplas vezes.&lt;/p>
$$
\text{Endereço Bitcoin} = \text{Base58Check}(\text{RIPEMD160}(\text{SHA256}(\text{Chave Pública})))
$$
&lt;p>Como mencionado, como as funções hash são resistentes a ataques quânticos (algoritmo de Grover), não é possível reverter da &amp;ldquo;chave pública&amp;rdquo; original a partir do &amp;ldquo;endereço&amp;rdquo;, que é um valor de hash, mesmo com um computador quântico.
Ou seja, para &lt;strong>&amp;ldquo;endereços não utilizados (que nunca enviaram fundos)&amp;rdquo;&lt;/strong>, a chave pública não foi exposta de forma alguma na blockchain, e apenas o valor hash foi registrado. Portanto, contanto que a chave pública seja desconhecida, não há alvo para o algoritmo de Shor, impossibilitando a identificação da chave privada. Uma carteira nesse estado pode ser considerada quanticamente segura (Quantum-safe).&lt;/p>
&lt;h3 id="32-a-vulnerabilidade-fatal-no-momento-do-envio-da-transação-ataque-front-running">3.2. A vulnerabilidade fatal no momento do envio da transação (Ataque Front-running)
&lt;/h3>&lt;p>O problema ocorre quando os usuários enviam fundos.
Ao transmitir (enviar) uma transação para a rede, o usuário deve &lt;strong>incluir sua chave pública nos dados da transação juntamente com a assinatura digital, expondo-a para toda a rede&lt;/strong> para verificação.&lt;/p>
&lt;div class="mermaid">sequenceDiagram
participant User as "Usuário (Alice)"
participant Mempool as "Mempool (Pool de transações não confirmadas)"
participant QuantumAttacker as "Invasor Quântico"
participant Miner as "Minerador (Geração de bloco)"
User->>Mempool: Envia transação (incluindo chave pública + assinatura)
Mempool-->>QuantumAttacker: Intercepta a chave pública na rede
note right of QuantumAttacker: Executa o algoritmo de Shor em minutos&lt;br/>(Calcula a chave privada a partir da chave pública)
QuantumAttacker->>QuantumAttacker: Gera uma nova assinatura usando a chave privada da Alice
QuantumAttacker->>Mempool: Transmite transferência fraudulenta com taxa de mineração mais alta
Miner->>Miner: Prioriza transações fraudulentas com taxa (Gas) alta e as inclui no bloco
Miner-->>User: Registrado na blockchain (perda de fundos da Alice)&lt;/div>
&lt;p>Uma vez que a chave pública é enviada ao Mempool (área de espera para transações não confirmadas), os dados são compartilhados com os nós ao redor do mundo. Se um invasor possuísse um computador quântico super-rápido, ele poderia roubar os fundos através do seguinte processo:&lt;/p>
&lt;ol>
&lt;li>Interceptar a transação do usuário legítimo (Alice) no Mempool e &lt;strong>extrair a chave pública&lt;/strong>.&lt;/li>
&lt;li>Executar o algoritmo de Shor e &lt;strong>calcular a chave privada a partir da chave pública em minutos (antes que o bloco seja confirmado)&lt;/strong>.&lt;/li>
&lt;li>Usar a chave privada obtida para &lt;strong>criar uma transação falsa&lt;/strong> transferindo os fundos da Alice para o endereço do invasor.&lt;/li>
&lt;li>Enviar essa transação falsa para a rede &lt;strong>definindo uma taxa de mineração (Fee) muito maior&lt;/strong> do que a da transação original da Alice.&lt;/li>
&lt;/ol>
&lt;p>Seguindo o incentivo econômico, os mineradores priorizarão a transação com as taxas mais altas e a incluirão no bloco. Como resultado, a transferência fraudulenta do invasor é aprovada (Confirm) primeiro e a transferência legítima da Alice é rejeitada como &amp;ldquo;saldo insuficiente (Double Spend)&amp;rdquo;.
Essa sequência de eventos é chamada de &lt;strong>Ataque Front-running (Front-running Attack)&lt;/strong> e, em um mundo onde computadores quânticos são colocados em uso prático, as pessoas terão seus fundos roubados por hackers no instante em que clicarem no botão enviar.&lt;/p>
&lt;h3 id="33-a-crise-dos-endereços-reutilizados-e-endereços-antigos-p2pk">3.3. A crise dos endereços reutilizados e endereços antigos (P2PK)
&lt;/h3>&lt;p>Um problema ainda mais sério é que os endereços que enviaram fundos pelo menos uma vez no passado (por exemplo, quando reutilizados como endereços de troco) já têm suas chaves públicas registradas permanentemente na blockchain. Essas carteiras correm o risco de ter as chaves privadas calculadas e os saldos roubados a qualquer momento, sem precisar aguardar que enviem novas transações.&lt;/p>
&lt;p>Além disso, o formato &lt;strong>P2PK (Pay-to-Public-Key)&lt;/strong>, popular em 2009-2010 e que inclui as recompensas iniciais de mineração de Satoshi Nakamoto (mais de 1 milhão de BTC), registra a chave pública em si, e não o hash, diretamente na blockchain como endereço. Esses enormes Bitcoins inativos se tornarão os alvos mais fáceis para os computadores quânticos, podendo ser roubados de uma vez e despejados (dumping) no mercado, o que poderia causar um crash no preço.&lt;/p>
&lt;hr>
&lt;h2 id="4-o-cenário-de-transição-para-a-criptografia-pós-quântica-pqc">4. O cenário de transição para a Criptografia Pós-Quântica (PQC)
&lt;/h2>&lt;p>Para evitar tal catástrofe no &amp;ldquo;Q-Day (o dia em que os computadores quânticos romperão a criptografia)&amp;rdquo;, a comunidade acadêmica de criptografia e a comunidade blockchain estão planejando migrar para a &lt;strong>Criptografia Pós-Quântica (PQC)&lt;/strong>, que é extremamente difícil de decifrar até mesmo com algoritmos quânticos.
O Instituto Nacional de Padrões e Tecnologia dos EUA (NIST) tem promovido a padronização da PQC há muitos anos e, após múltiplas rodadas de avaliação rigorosa, selecionou vários sistemas de criptografia promissores como padrões finais.&lt;/p>
&lt;p>Abaixo, detalhamos os principais algoritmos de PQC que estão chamando atenção como alternativas de assinatura digital para a blockchain, bem como seus mecanismos matemáticos.&lt;/p>
&lt;h3 id="41-assinaturas-baseadas-em-hash-hash-based-signatures">4.1. Assinaturas Baseadas em Hash (Hash-Based Signatures)
&lt;/h3>&lt;p>As assinaturas baseadas em hash são esquemas de criptografia cuja segurança baseia-se puramente em um alicerce muito simples e robusto: a &amp;ldquo;resistência a colisões das funções hash&amp;rdquo;. Como a segurança das funções hash contra computadores quânticos já foi provada (como mencionado, uma margem de segurança de 128 bits é suficiente), esta é uma abordagem incrivelmente confiável.
Alguns exemplos representativos incluem a &lt;strong>Assinatura de Lamport (Lamport Signatures)&lt;/strong>, e as suas extensões como a WOTS (Winternitz One-Time Signature), e o candidato à padronização do NIST, o &lt;strong>SPHINCS+&lt;/strong> (atualmente chamado de SLH-DSA como FIPS 205).&lt;/p>
&lt;h4 id="411-detalhes-matemáticos-da-assinatura-de-lamport-one-time-signature">4.1.1. Detalhes matemáticos da Assinatura de Lamport (One-Time Signature)
&lt;/h4>&lt;p>Vejamos mais a fundo os detalhes matemáticos do funcionamento da assinatura de Lamport.
Seja a função hash $H: \{0, 1\}^* \to \{0, 1\}^{256}$.&lt;/p>
&lt;p>&lt;strong>[Geração de chaves]&lt;/strong>
Alice (a remetente) usa um gerador de números aleatórios verdadeiros (TRNG) para gerar 256 pares de chaves privadas.
&lt;/p>
$$
\text{sk}_{i,0} \in \{0, 1\}^{256}, \quad \text{sk}_{i,1} \in \{0, 1\}^{256} \quad (1 \le i \le 256)
$$
&lt;p>
Com isso, a chave privada $\text{sk}$ consistirá de um total de 512 strings de 256 bits (Tamanho: $512 \times 32 = 16.384$ bytes).&lt;/p>
&lt;p>Em seguida, calcula-se a chave pública $\text{pk}$. Aplica-se hash em cada um dos componentes da chave privada.
&lt;/p>
$$
\text{pk}_{i,0} = H(\text{sk}_{i,0}), \quad \text{pk}_{i,1} = H(\text{sk}_{i,1})
$$
&lt;p>
A chave pública será também de $16.384$ bytes. Ela publicará isso na rede da blockchain.&lt;/p>
&lt;p>&lt;strong>[Geração de assinatura]&lt;/strong>
Alice, para assinar os dados da transação $M$, primeiro calculará seu valor de hash.
&lt;/p>
$$
h = H(M) \in \{0, 1\}^{256}
$$
&lt;p>
Seja o $i$-ésimo bit do valor de hash $h$ expresso como $h_i \in \{0, 1\}$.
A assinatura $\sigma$ de Alice será um conjunto de componentes da chave privada correspondente a cada bit $h_i$.
&lt;/p>
$$
\sigma = (\text{sk}_{1, h_1}, \text{sk}_{2, h_2}, \dots, \text{sk}_{256, h_{256}})
$$
&lt;p>
Ou seja, se o bit do hash da mensagem for &lt;code>0&lt;/code>, será revelado o $\text{sk}_{i,0}$, se for &lt;code>1&lt;/code>, será revelado o $\text{sk}_{i,1}$. O tamanho da assinatura será de $256 \times 32 = 8.192$ bytes.&lt;/p>
&lt;p>&lt;strong>[Verificação de assinatura]&lt;/strong>
O minerador (o verificador) fará a verificação usando a transação $M$ recebida, a assinatura $\sigma = (s_1, s_2, \dots, s_{256})$ e a chave pública $\text{pk}$.
O hash da transação $h = H(M)$ é recalculado e, em seguida, verifica-se se o hash de cada $s_i$ corresponde ao elemento da chave pública, $\text{pk}_{i, h_i}$.
&lt;/p>
$$
H(s_i) \overset{?}{=} \text{pk}_{i, h_i} \quad (\text{para todo } 1 \le i \le 256)
$$
&lt;p>Este processo é matematicamente extremamente simples e impossível de forjar assinaturas a menos que o computador quântico consiga reverter $H$. No entanto, ao assinar uma vez, metade da chave privada é exposta à rede. Isso resulta em uma forte limitação de que pode ser usada &amp;ldquo;apenas uma vez (One-Time)&amp;rdquo;, pois se a mesma chave for usada para assinar outra mensagem, a combinação das chaves privadas expostas daria ao invasor espaço para falsificações.
Para tornar isso prático, foram desenvolvidas tecnologias como &lt;strong>XMSS&lt;/strong>, que agrupa várias chaves one-time sob uma chave pública raiz através da Árvore de Merkle, e o &lt;strong>SPHINCS+&lt;/strong> sem estado, mas com o lado negativo de que o tamanho da assinatura pode chegar a dezenas de kilobytes.&lt;/p>
&lt;h3 id="42-criptografia-baseada-em-reticulados-lattice-based-cryptography">4.2. Criptografia Baseada em Reticulados (Lattice-Based Cryptography)
&lt;/h3>&lt;p>Atualmente, a mais promissora forma de PQC e que foi adotada como o principal padrão NIST (FIPS 204: ML-DSA / antigo CRYSTALS-Dilithium e Falcon) é a &lt;strong>criptografia baseada em reticulados (Lattice-Based Cryptography)&lt;/strong>.&lt;/p>
&lt;p>A segurança da criptografia de reticulados depende de problemas matemáticos comprovadamente difíceis como o &amp;ldquo;Problema do Vetor Mais Curto em reticulados multidimensionais (SVP: Shortest Vector Problem)&amp;rdquo; e o &amp;ldquo;Aprendizado com Erros (LWE: Learning With Errors)&amp;rdquo;. Nenhum algoritmo eficiente, seja clássico ou quântico, foi descoberto para resolver problemas de reticulados.&lt;/p>
&lt;p>&lt;strong>O modelo matemático do LWE (Learning With Errors):&lt;/strong>
A ideia fundamental por trás do problema LWE é adicionar intencionalmente um &amp;ldquo;pequeno ruído (erro)&amp;rdquo; a um sistema de equações lineares, tornando o problema dramaticamente mais difícil de ser resolvido.
Seja o vetor secreto $\mathbf{s} \in \mathbb{Z}_q^n$.
Existe uma matriz pública enorme, escolhida aleatoriamente, $\mathbf{A} \in \mathbb{Z}_q^{m \times n}$, e um pequeno vetor de ruído adicionado intencionalmente $\mathbf{e} \in \mathbb{Z}_q^m$.
A chave pública $\mathbf{b}$ é calculada da seguinte forma:&lt;/p>
$$
\mathbf{b} = \mathbf{A}\mathbf{s} + \mathbf{e} \pmod{q}
$$
&lt;p>Mesmo que a matriz $\mathbf{A}$ e o vetor $\mathbf{b}$ (a chave pública) sejam de conhecimento público, devido ao ruído $\mathbf{e}$, calcular de trás pra frente a chave privada $\mathbf{s}$ será extremamente difícil. Sem o ruído, poderia ser resolvido via eliminação gaussiana simples, mas a adição do ruído causa um aumento explosivo no espaço de busca em todas as dimensões, o que confere forte segurança contra computadores clássicos e quânticos.
Em algoritmos práticos usados pela blockchain (como Dilithium), utilizam-se essas instâncias em anéis polinomiais, conhecidos como &lt;strong>Ring-LWE (ou Module-LWE)&lt;/strong>, para reduzir o tamanho da chave e acelerar os cálculos.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Vantagens&lt;/strong>: Em relação às assinaturas baseadas em hash, a chave pública e as assinaturas têm um tamanho relativamente pequeno (por volta de alguns kilobytes), e as velocidades de verificação e geração de assinaturas são incrivelmente altas (iguais ou superiores às do ECDSA).&lt;/li>
&lt;li>&lt;strong>Desvantagens&lt;/strong>: Possui estruturas matemáticas complexas, e por conta do curto período de avaliação histórica, o risco do descobrimento de novos algoritmos de decodificação no futuro não é nulo.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="5-desafios-técnicos-na-transição-de-pqc-em-blockchains">5. Desafios técnicos na transição de PQC em Blockchains
&lt;/h2>&lt;p>Apenas a existência dos algoritmos de PQC (como Dilithium ou SPHINCS+) não significa que possam ser imediatamente implementados no Bitcoin ou no Ethereum amanhã. Sistemas descentralizados enfrentam diversos obstáculos enormes.&lt;/p>
&lt;h3 id="51-aumento-do-tamanho-das-assinaturas-e-quebra-da-escalabilidade">5.1. Aumento do tamanho das assinaturas e quebra da escalabilidade
&lt;/h3>&lt;p>O maior obstáculo na introdução de PQC é o aumento em larga escala dos dados.
O tamanho atual da assinatura ECDSA ronda cerca de 70 bytes. Por outro lado, com o Dilithium da criptografia de reticulado (ML-DSA), o tamanho da assinatura está por volta de 2.420 bytes a 4.595 bytes (dependendo do nível de segurança), e a chave pública ultrapassa 1.300 bytes. O tamanho total por transação do SPHINCS+, que é baseado em hash, ultrapassa as dezenas de milhares de bytes só para a assinatura.&lt;/p>
&lt;p>Se a rede Bitcoin implementar a PQC mas continuar a ter o mesmo limite do tamanho de blocos que possui no presente (aproximadamente o peso de 4MB, incluindo a SegWit), a quantidade de transações que caberão em 1 bloco despencará agressivamente. A velocidade das transações (TPS: Transactions Per Second) diminuirá absurdamente, e as paralisações das transferências se tornarão normais.
Para resolver esse problema, é imprescindível um tremendo crescimento no tamanho do bloco, mas tal solução requer mais armazenamento e requisitos de banda de internet dos full nodes, tornando muito mais complicado executar um nó de forma independente. Como resultado, cairá no dilema de induzir uma forte &lt;strong>centralização da rede&lt;/strong>.&lt;/p>
&lt;div class="mermaid">pie title "Comparação dos tamanhos dos dados de assinatura em blockchain (Conceitual)"
"ECDSA (aprox. 70 Bytes)" : 2
"Dilithium ML-DSA (aprox. 2.500 Bytes)" : 58
"SPHINCS+ (aprox. 17.000 Bytes)" : 40&lt;/div>
&lt;p>&lt;em>(※ O aumento dos dados de transação que decorre com a implementação da PQC será um gargalo fatal para a escalabilidade)&lt;/em>&lt;/p>
&lt;h3 id="52-o-impacto-no-ethereum-virtual-machine-evm-e-os-contratos-pré-compilados-precompiled-contracts">5.2. O impacto no Ethereum Virtual Machine (EVM) e os Contratos Pré-compilados (Precompiled Contracts)
&lt;/h3>&lt;p>Em uma plataforma Turing completa como o Ethereum, a introdução de PQC precisa demandar uma atualização profunda do EVM (Ethereum Virtual Machine).
Atualmente, no EVM, o &lt;code>ecrecover&lt;/code> (no endereço: &lt;code>0x01&lt;/code>) é um Precompiled Contract oferecido especificamente para verificação da assinatura do ECDSA. Isso reduz o custo e serve como otimização para verificar as assinaturas gastando o mínimo possível de Gas (3000 Gas).&lt;/p>
&lt;p>Todavia, os novos algoritmos de criptografia de reticulados, como o Dilithium e Falcon, requerem operações de matrizes e polinômios complexos na verificação, logo, seriam necessários milhões e até dezenas de milhões de gás, utilizando os Opcodes que já estão lá atualmente. Esse é o limite atual do Gas consumido no bloco inteiro (perto dos 30 milhões de Gas) sumindo inteiramente num único uso por uma transação.&lt;/p>
&lt;p>A melhor maneira de combater essa questão é inserir um Precompiled Contract próprio para verificação PQC através de Hard Forks na rede (Ex.: usar o endereço &lt;code>0x10&lt;/code> para DilithiumVerify) inseridos no próprio EVM. E isso, é claro, implica em uma colaboração profunda dos desenvolvedores principais do Ethereum de todos os clientes (Geth, Nethermind, Erigon, etc.), aplicando a verificação num nível mais denso pelas linguagens como C++, Go, e Rust; além de necessitar passar por auditorias duradouras pelo processo.&lt;/p>
&lt;h3 id="53-a-dificuldade-de-formar-consenso-através-do-hard-fork">5.3. A dificuldade de formar consenso através do Hard Fork
&lt;/h3>&lt;p>Para alterar o algoritmo basilar de assinatura, é necessária uma forte mudança em toda a rede de blockchain, mais conhecida como &lt;strong>Hard Fork&lt;/strong>. Porém, a comunidade, como a do Bitcoin que valoriza &amp;ldquo;ser imutável sob suas normas&amp;rdquo;, &amp;ldquo;descentralizada&amp;rdquo;, etc. tende a ter dificuldades para obter o consenso político. Assim, entre propor uma BIP (Bitcoin Improvement Proposal) e a implementação na mainnet, anos e mais anos de discussões e testnets seriam essenciais para esse salto com a PQC.&lt;/p>
&lt;hr>
&lt;h2 id="6-quando-o-q-day-chegará-roadmap-rumo-à-transição">6. Quando o &amp;ldquo;Q-Day&amp;rdquo; chegará? Roadmap rumo à transição
&lt;/h2>&lt;p>Quando chegará o dia em que o computador quântico vai totalmente aniquilar a criptografia de curvas elípticas de 256-bit, chamado de &amp;ldquo;Q-Day&amp;rdquo;?
Enquanto as previsões diferem de um perito para outro, muitos estipulam algo &lt;strong>&amp;ldquo;de meados de 2030 aos anos 2040&amp;rdquo;&lt;/strong>. Acreditam na aparição de um computador quântico de nível escalar (com qubits livres de interferência - Logical Qubits) de fato funcional na escala de milhares e talvez até dezenas de milhares. Mas também não se descarta que a grande evolução da tecnologia possa acontecer bem mais cedo, de volta aos anos 2030, antecipando uma série de arquiteturas.&lt;/p>
&lt;p>Aqui está um mapa básico delineando as rotas da comunidade antes de sucumbir para sempre:&lt;/p>
&lt;h3 id="fase-1-assinatura-híbrida-e-abstração-de-contas-hoje---2028">Fase 1: Assinatura Híbrida e Abstração de Contas (Hoje - 2028)
&lt;/h3>&lt;p>No campo de desenvolvimento atual, o corpo principal da blockchain do Ethereum (Vitalik Buterin e cia.) foca nas &lt;strong>&amp;ldquo;Assinaturas Híbridas (Hybrid Signatures)&amp;rdquo;&lt;/strong>, que englobam a PQC (seja baseada em hash, reticulados, ou outros métodos) e a clássica ECDSA. Essa transação exige ambos e, mesmo quando uma é corrompida, as barreiras da outra impedem os estragos, assim validando o procedimento de forma pacífica.
Ao invés de contar só com forks pesados a nível de protocolo, implementações adicionais como a Abstração da Conta (Account Abstraction, ERC-4337) em Smart Contract Wallets com formato Opt-in já estão sendo oferecidas por aqueles que desejam testar a PQC em suas próprias chaves.&lt;/p>
&lt;h3 id="fase-2-uso-de-provas-de-conhecimento-zero-zk-rollups-2025--">Fase 2: Uso de Provas de Conhecimento Zero (ZK-Rollups) (2025 -)
&lt;/h3>&lt;p>Para combater a &amp;ldquo;ampliação do tamanho das assinaturas&amp;rdquo;, um defeito crônico da PQC, o salvador parece ser o advento da tecnologia Layer-2 focada em &lt;strong>ZK-Rollups (Zero-Knowledge Proofs)&lt;/strong>.
Os dados superpesados da PQC serão registrados inicialmente e verificados nas transações fora da cadeia da Main Layer (Layer 1). A Layer-2 consolida todos em blocos enormes utilizando a criptografia de ZK-SNARKs ou ZK-STARKs. Transformados nessas singulares &amp;ldquo;provas minúsculas (Proof)&amp;rdquo;, eles serão arquivados na rede original em fração do tamanho da PQC.
Detalhando, um pequeno grupo de SNARKs, na sua total base estrutural do Groth16, também é indefeso contra ataques quânticos. Então a solução foca puramente no que usa Hash, as &lt;strong>ZK-STARKs&lt;/strong>.&lt;/p>
&lt;h3 id="fase-3-hard-fork-em-nível-de-protocolo-em-torno-de-2030">Fase 3: Hard Fork em Nível de Protocolo (em torno de 2030)
&lt;/h3>&lt;p>E então a padronização oficial através das avaliações do NIST. Ao se solidificarem e as bibliotecas estarem sendo usadas por um bom momento, cadeias centrais como Bitcoin ou Ethereum implementarão sem dúvidas os Hard Forks definitivos em nível padrão e primário. A imensa migração demandaria o incentivo global do mercado por inúmeras campanhas aconselhando &amp;ldquo;migrar os fundos das carteiras velhas para uma recém adaptada para PQC&amp;rdquo;.&lt;/p>
&lt;h3 id="projetos-pioneiros">Projetos Pioneiros
&lt;/h3>&lt;p>Existem alguns projetos inovadores na era blockchain focados exclusivamente nessa barreira quântica:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>QRL (Quantum Resistant Ledger)&lt;/strong>: A XMSS (eXtended Merkle Signature Scheme) em formato hash serviu de alicerce da blockchain com PQC inserida na base desde seus primórdios em mainnets mais antigos.&lt;/li>
&lt;li>&lt;strong>Algorand / Cellframe&lt;/strong>: Sistemas modelados com foco na evolução para PQC de camadas mais flexíveis da criptografia, abraçando e aprofundando o formato nos reticulados num momento precoce.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="7-conclusão-para-o-futuro-e-a-salvaguarda-de-nossas-moedas">7. Conclusão: Para o futuro e a salvaguarda de nossas moedas
&lt;/h2>&lt;p>A era pós-quântica está deixando de ser uma premissa da FC (Ficção Científica) para transformar-se numa ameaça tangível de problemas e riscos graves na própria infraestrutura do ecossistema criptográfico hoje.&lt;/p>
&lt;p>Com o machado de ponta-dupla do Algoritmo de Shor e do Algoritmo de Grover pelas frentes quânticas, tanto o ECDSA da Chave Pública quanto a Função Hash encaram o seu extermínio respectivo. Notoriamente a fragilidade destrutiva do ECDSA dita as regras: os perigos vindos da extração dos fundos via ataques front-running (Front-Running Attacks) exigirão medidas impetuosas para o PQC sem demora.&lt;/p>
&lt;p>Felizmente, não é apenas um fim apocalíptico onde sentam-se à espera. As soluções de reticulados, hashes sob novos padrões validados do PQC, os recursos Layer-2 ZK-STARKs provaram ser barreiras excelentes no desafio iminente, controlando por fim a praga da enorme quantia e tamanho que as transações requerem.&lt;/p>
&lt;p>Para qualquer indivíduo normal investido nesse campo, não precisa de ataques de pânico momentâneos hoje. Contudo, todos necessitarão portar os conhecimentos de auto-preservação:&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Evitar reciclar endereços&lt;/strong>: Evite endereços (os já manuseados e cujas chaves públicas perambulam na blockchain exposta). E também manter no radar as regras básicas de privacidade.&lt;/li>
&lt;li>&lt;strong>Ficar atento nas tecnologias e relatórios&lt;/strong>: Como ler BIPs e EIPs da comunidade de Bitcoin/Ethereum focadas nos Hard Forks. Isso propicia que seja fácil fazer a manobra da sua carteira se requerido num anúncio do tipo, da melhor maneira possível.&lt;/li>
&lt;/ul>
&lt;p>A resiliência das Blockchains define seu ciclo imortal e histórico, superando e vencendo a escalabilidade (a conversão brutal que aconteceu no PoW e PoS no ecossistema atual e a própria camada sustentável ambiental) com melhoria vital. Em frente as crises de magnitude quântica global, é um embate que exigirá todos de nós no coletivo inteiro das rotas descentralizadas para superar o dilema sem igual.
E no decorrer dessa odisseia, quem dirá se o choque dessas duas esferas intelectuais criadas pelas mentes humanas (A tecnologia Blockchain imutável versus a capacidade máxima Quântica), gerem não apenas destruição e escombros, mas uma transcendência suprema da tecnologia baseada em segurança superior no amanhecer sem fim da posteridade!&lt;/p>
&lt;hr>
&lt;p>&lt;em>Referências e links úteis:&lt;/em>&lt;/p>
&lt;ul>
&lt;li>National Institute of Standards and Technology (NIST) - Post-Quantum Cryptography Standardization Project&lt;/li>
&lt;li>Shor, P. W. (1994). Algorithms for quantum computation: discrete logarithms and factoring.&lt;/li>
&lt;li>Grover, L. K. (1996). A fast quantum mechanical algorithm for database search.&lt;/li>
&lt;li>Buterin, V. (2024). How to hard-fork to save most users&amp;rsquo; funds in a quantum emergency.&lt;/li>
&lt;/ul></description></item></channel></rss>