<?xml version="1.0" encoding="utf-8" standalone="yes"?><rss version="2.0" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Quantum Computing on kenji.blog</title><link>http://kenji.blog/pt/tags/quantum-computing/</link><description>Recent content in Quantum Computing on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>pt</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 20:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/pt/tags/quantum-computing/index.xml" rel="self" type="application/rss+xml"/><item><title>Uma Super Introdução à Programação Quântica usando Qiskit</title><link>http://kenji.blog/pt/p/qiskit-quantum-programming-intro/</link><pubDate>Fri, 11 Sep 2026 20:00:00 +0900</pubDate><guid>http://kenji.blog/pt/p/qiskit-quantum-programming-intro/</guid><description>&lt;img src="http://kenji.blog/p/qiskit-quantum-programming-intro/img/eyecatch.jpg" alt="Featured image of post Uma Super Introdução à Programação Quântica usando Qiskit" />&lt;h2 id="1-introdução">1. Introdução
&lt;/h2>&lt;p>Os computadores modernos (computadores clássicos) mudaram drasticamente as nossas vidas, apoiando todos os aspectos da sociedade através de seu alto poder computacional. No entanto, sabe-se que para certos problemas específicos (como a fatoração de números primos gigantescos, a simulação de estruturas moleculares complexas, problemas de otimização, etc.), mesmo os supercomputadores mais avançados da atualidade precisariam de um tempo superior à idade do universo para resolvê-los.&lt;/p>
&lt;p>O que possui o potencial para quebrar esses &amp;ldquo;limites dos computadores clássicos&amp;rdquo; é o &lt;strong>computador quântico (Quantum Computer)&lt;/strong>. Acredita-se que, utilizando propriedades fascinantes da mecânica quântica (sobreposição e emaranhamento quântico) como recursos computacionais, é possível acelerar drasticamente a resolução de determinados problemas.&lt;/p>
&lt;p>Neste artigo, daremos o primeiro passo no mundo da programação quântica utilizando o &lt;strong>Qiskit&lt;/strong>, um framework de computação quântica de código aberto fornecido pela IBM. Este é um guia de introdução extremamente detalhado, cobrindo tudo de forma minuciosa, desde os fundamentos da física e da matemática, até escrever código na prática em Python e executar circuitos quânticos em um simulador.&lt;/p>
&lt;hr>
&lt;h2 id="2-fundamentos-de-física-e-matemática-que-sustentam-a-computação-quântica">2. Fundamentos de Física e Matemática que Sustentam a Computação Quântica
&lt;/h2>&lt;p>Para compreender a programação quântica, é necessário primeiro entender os conceitos fundamentais da mecânica quântica. Aqui, explicaremos três pilares importantes: qubits, sobreposição e emaranhamento quântico.&lt;/p>
&lt;h3 id="21-bits-clássicos-e-qubits-quantum-bits">2.1 Bits Clássicos e Qubits (Quantum bits)
&lt;/h3>&lt;p>A unidade de informação de um computador clássico é o &amp;ldquo;bit (Bit)&amp;rdquo;. Um bit sempre assume um de dois estados: &lt;code>0&lt;/code> ou &lt;code>1&lt;/code>.&lt;/p>
&lt;p>Por outro lado, a menor unidade de informação de um computador quântico é chamada de &lt;strong>qubit (Qubit: Quantum bit)&lt;/strong>. Um qubit não só pode assumir o estado &lt;code>0&lt;/code> ou &lt;code>1&lt;/code>, mas também é capaz de &lt;strong>manter ambos os estados simultaneamente&lt;/strong>.&lt;/p>
&lt;p>Matematicamente, o estado de um qubit $|\psi\rangle$ é expresso como uma combinação linear (sobreposição) dos estados base $|0\rangle$ e $|1\rangle$.&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Aqui, $\alpha$ e $\beta$ são números complexos e representam as amplitudes de probabilidade de observar os estados $|0\rangle$ e $|1\rangle$, respectivamente. Com base nos princípios fundamentais da mecânica quântica, a soma das probabilidades deve ser 1, de modo que satisfaçam a seguinte condição de normalização:&lt;/p>
$$
|\alpha|^2 + |\beta|^2 = 1
$$
&lt;p>Isso significa que, quando este qubit é &amp;ldquo;medido (observado)&amp;rdquo;, a probabilidade de se obter $|0\rangle$ é $|\alpha|^2$ e a probabilidade de se obter $|1\rangle$ é $|\beta|^2$. O fato de que o estado é determinado apenas de forma probabilística antes da medição é a diferença crucial em relação aos bits clássicos.&lt;/p>
&lt;div class="mermaid">graph LR
A["Bit Clássico (Classical Bit)"] --> B["Estado determinado: 0 ou 1"]
C["Qubit (Quantum bit)"] --> D["Sobreposição: ambos 0 e 1"]
D --> E["O estado é determinado probabilisticamente pela medição"]&lt;/div>
&lt;h3 id="22-sobreposição-superposition">2.2 Sobreposição (Superposition)
&lt;/h3>&lt;p>Como mencionado anteriormente, o estado onde $|0\rangle$ e $|1\rangle$ estão misturados é chamado de &lt;strong>sobreposição (Superposition)&lt;/strong>.&lt;/p>
&lt;p>Por exemplo, quando um qubit está em um estado de sobreposição perfeitamente uniforme, temos $\alpha = \frac{1}{\sqrt{2}}$ e $\beta = \frac{1}{\sqrt{2}}$.&lt;/p>
$$
|\psi\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle
$$
&lt;p>Quando medimos este estado, $|0\rangle$ e $|1\rangle$ são observados com 50% de probabilidade cada.
Se tivermos 2 qubits, podemos criar uma sobreposição de 4 estados: $|00\rangle, |01\rangle, |10\rangle, |11\rangle$. Com $n$ qubits, $2^n$ estados podem ser representados simultaneamente, e essa é uma das fontes do poder de processamento paralelo dos computadores quânticos.&lt;/p>
&lt;h3 id="23-emaranhamento-quântico-entanglement">2.3 Emaranhamento Quântico (Entanglement)
&lt;/h3>&lt;p>A propriedade mais poderosa e misteriosa da computação quântica é o &lt;strong>emaranhamento quântico (Entanglement)&lt;/strong>. Este fenômeno, que Einstein chamou de &amp;ldquo;ação fantasmagórica à distância&amp;rdquo;, é a propriedade em que dois ou mais qubits se tornam fortemente interligados, de modo que quando o estado de um qubit é determinado, o estado do outro qubit é determinado instantaneamente, independentemente da distância física que os separe.&lt;/p>
&lt;p>Um dos mais famosos estados de emaranhamento quântico, o &amp;ldquo;Estado de Bell (Bell State)&amp;rdquo; $\Phi^+$, é expresso da seguinte forma:&lt;/p>
$$
|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}
$$
&lt;p>Neste estado, os estados $|01\rangle$ e $|10\rangle$ não existem. Portanto, se o primeiro qubit for medido e resultar em $|0\rangle$, é certo que o segundo qubit também será $|0\rangle$, sem nem mesmo precisar medi-lo. Inversamente, se o primeiro for $|1\rangle$, o segundo também será necessariamente $|1\rangle$.&lt;/p>
&lt;hr>
&lt;h2 id="3-portas-lógicas-quânticas-quantum-logic-gates">3. Portas Lógicas Quânticas (Quantum Logic Gates)
&lt;/h2>&lt;p>Assim como computadores clássicos usam portas lógicas como AND, OR e NOT para realizar cálculos, os computadores quânticos usam &lt;strong>portas quânticas&lt;/strong> para manipular o estado dos qubits. Como um estado quântico é um vetor, uma porta quântica é representada como uma &amp;ldquo;matriz unitária&amp;rdquo; que atua nesse vetor.&lt;/p>
&lt;h3 id="31-portas-de-pauli-pauli-x-y-z">3.1 Portas de Pauli (Pauli-X, Y, Z)
&lt;/h3>&lt;p>As portas de Pauli são operações básicas em um único qubit.&lt;/p>
&lt;p>&lt;strong>・Porta Pauli-X (Porta NOT)&lt;/strong>
Equivale à porta NOT clássica. Inverte o estado $|0\rangle$ para $|1\rangle$, e $|1\rangle$ para $|0\rangle$. (Rotação de 180 graus em torno do eixo X na Esfera de Bloch).&lt;/p>
$$
X = \begin{pmatrix} 0 &amp; 1 \\ 1 &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Porta Pauli-Y&lt;/strong>
Realiza uma rotação de 180 graus em torno do eixo Y. Tem o efeito de inverter tanto a fase quanto o bit.&lt;/p>
$$
Y = \begin{pmatrix} 0 &amp; -i \\ i &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Porta Pauli-Z (Porta de inversão de fase)&lt;/strong>
Mantém o estado $|0\rangle$ como está, e inverte a fase (multiplica por $-1$) do estado $|1\rangle$. (Rotação de 180 graus em torno do eixo Z).&lt;/p>
$$
Z = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; -1 \end{pmatrix}
$$
&lt;h3 id="32-porta-hadamard-hadamard-gate">3.2 Porta Hadamard (Hadamard Gate)
&lt;/h3>&lt;p>A porta Hadamard (Porta H) é uma porta extremamente importante que converte estados definidos ($|0\rangle$ ou $|1\rangle$) em estados de sobreposição.&lt;/p>
$$
H = \frac{1}{\sqrt{2}}
\begin{pmatrix}
1 &amp; 1 \\
1 &amp; -1
\end{pmatrix}
$$
&lt;p>Aplicando a porta H a $|0\rangle$, obtemos $|+\rangle$, que é um estado de sobreposição uniforme.&lt;/p>
$$
H|0\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle = |+\rangle
$$
&lt;h3 id="33-portas-de-fase-phase-gates">3.3 Portas de Fase (Phase Gates)
&lt;/h3>&lt;p>A porta de fase é uma generalização da porta Z, que gira a fase do estado $|1\rangle$ por um ângulo especificado $\theta$.&lt;/p>
$$
P(\theta) = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; e^{i\theta} \end{pmatrix}
$$
&lt;p>Exemplos típicos são a porta S ($\theta = \pi/2$) e a porta T ($\theta = \pi/4$).&lt;/p>
&lt;h3 id="34-porta-cnot-controlled-not-gate">3.4 Porta CNOT (Controlled-NOT Gate)
&lt;/h3>&lt;p>A porta CNOT (Porta CX) opera entre dois qubits e é essencial para criar emaranhamento quântico. Consiste em um &amp;ldquo;bit de controle (Control)&amp;rdquo; e um &amp;ldquo;bit alvo (Target)&amp;rdquo;.&lt;/p>
&lt;p>Aplica-se uma porta X (operação NOT) no bit alvo apenas se o bit de controle for $|1\rangle$, e não faz nada se o bit de controle for $|0\rangle$.&lt;/p>
$$
CNOT = \begin{pmatrix}
1 &amp; 0 &amp; 0 &amp; 0 \\
0 &amp; 1 &amp; 0 &amp; 0 \\
0 &amp; 0 &amp; 0 &amp; 1 \\
0 &amp; 0 &amp; 1 &amp; 0
\end{pmatrix}
$$
&lt;hr>
&lt;h2 id="4-noções-básicas-e-configuração-do-ambiente-qiskit">4. Noções Básicas e Configuração do Ambiente Qiskit
&lt;/h2>&lt;p>A partir daqui, vamos de fato usar Python e Qiskit para escrever um programa quântico.&lt;/p>
&lt;h3 id="41-o-que-é-o-qiskit">4.1 O que é o Qiskit?
&lt;/h3>&lt;p>&lt;strong>Qiskit&lt;/strong> é um kit de desenvolvimento de software (SDK) de código aberto para computação quântica desenvolvido pela IBM Quantum. Ele permite construir circuitos quânticos intuitivamente usando Python e executá-los em um simulador local ou em um computador quântico real da IBM através da nuvem.&lt;/p>
&lt;h3 id="42-como-instalar">4.2 Como Instalar
&lt;/h3>&lt;p>Para usar o Qiskit, é necessário um ambiente Python. Você pode instalar o Qiskit e pacotes relacionados (como simuladores e bibliotecas de visualização) com o seguinte comando:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-bash" data-lang="bash">&lt;span class="line">&lt;span class="cl">pip install qiskit qiskit-aer qiskit-ibm-runtime matplotlib pylatexenc
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;h3 id="43-fluxo-básico-de-programação">4.3 Fluxo Básico de Programação
&lt;/h3>&lt;p>A programação quântica usando o Qiskit prossegue principalmente nas seguintes etapas:&lt;/p>
&lt;div class="mermaid">graph TD
A["1. Construção do Circuito (Build)"] --> B["2. Compilação/Transpilação (Compile)"]
B --> C["3. Execução (Execute)"]
C --> D["4. Análise e Visualização dos Resultados (Analyze)"]&lt;/div>
&lt;ol>
&lt;li>&lt;strong>Construção do Circuito&lt;/strong>: Criar um objeto &lt;code>QuantumCircuit&lt;/code> e adicionar portas a ele.&lt;/li>
&lt;li>&lt;strong>Compilação&lt;/strong>: Otimizar o circuito de acordo com o backend (hardware real ou simulador) onde será executado.&lt;/li>
&lt;li>&lt;strong>Execução&lt;/strong>: Enviar o trabalho (job) para o backend e obter os resultados.&lt;/li>
&lt;li>&lt;strong>Análise&lt;/strong>: Plotar um histograma dos resultados da medição, etc.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="5-prática-construindo-um-circuito-para-criar-um-estado-de-bell-emaranhamento-quântico">5. Prática: Construindo um Circuito para Criar um Estado de Bell (Emaranhamento Quântico)
&lt;/h2>&lt;p>Vamos agora usar o Qiskit para criar na prática o &amp;ldquo;emaranhamento quântico (Estado de Bell)&amp;rdquo; que aprendemos na teoria. O estado alvo é $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$.&lt;/p>
&lt;h3 id="51-projeto-do-circuito">5.1 Projeto do Circuito
&lt;/h3>&lt;p>Para criar o estado de Bell, seguiremos os seguintes passos:&lt;/p>
&lt;ol>
&lt;li>Preparar 2 qubits (ambos inicialmente no estado $|0\rangle$).&lt;/li>
&lt;li>Aplicar a porta Hadamard (H) ao primeiro qubit para colocá-lo em um estado de sobreposição.&lt;/li>
&lt;li>Aplicar a porta CNOT, usando o primeiro qubit como &amp;ldquo;bit de controle&amp;rdquo; e o segundo qubit como &amp;ldquo;bit alvo&amp;rdquo;.&lt;/li>
&lt;li>Realizar a medição (Measure) para ler os resultados.&lt;/li>
&lt;/ol>
&lt;h3 id="52-implementação-do-código-em-pythonqiskit">5.2 Implementação do Código em Python/Qiskit
&lt;/h3>&lt;p>Vejamos agora o código real.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;span class="lnt">20
&lt;/span>&lt;span class="lnt">21
&lt;/span>&lt;span class="lnt">22
&lt;/span>&lt;span class="lnt">23
&lt;/span>&lt;span class="lnt">24
&lt;/span>&lt;span class="lnt">25
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">numpy&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">np&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">transpile&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit_aer&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">Aer&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">from&lt;/span> &lt;span class="nn">qiskit.visualization&lt;/span> &lt;span class="kn">import&lt;/span> &lt;span class="n">plot_histogram&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="kn">import&lt;/span> &lt;span class="nn">matplotlib.pyplot&lt;/span> &lt;span class="k">as&lt;/span> &lt;span class="nn">plt&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 1. Inicialização do Circuito&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Criar um circuito quântico com 2 qubits e 2 bits clássicos&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">QuantumCircuit&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">2&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">2&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 2. Aplicação da porta H&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Aplicar a porta Hadamard ao qubit 0 (q0)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">h&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 3. Aplicação da porta CNOT&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Aplicar CNOT usando q0 como bit de controle e q1 como bit alvo&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">cx&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># 4. Medição&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Medir os qubits 0 e 1, e escrever os resultados nos bits clássicos 0 e 1, respectivamente&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">measure&lt;/span>&lt;span class="p">([&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">],&lt;/span> &lt;span class="p">[&lt;/span>&lt;span class="mi">0&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="mi">1&lt;/span>&lt;span class="p">])&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Desenhar o diagrama do circuito (usando matplotlib)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># qc.draw(&amp;#39;mpl&amp;#39;)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">draw&lt;/span>&lt;span class="p">())&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>Ao executar este código, o seguinte diagrama de circuito quântico será exibido em arte ASCII no console:&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt">1
&lt;/span>&lt;span class="lnt">2
&lt;/span>&lt;span class="lnt">3
&lt;/span>&lt;span class="lnt">4
&lt;/span>&lt;span class="lnt">5
&lt;/span>&lt;span class="lnt">6
&lt;/span>&lt;span class="lnt">7
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-text" data-lang="text">&lt;span class="line">&lt;span class="cl"> ┌───┐ ┌─┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">q_0: ┤ H ├──■──┤M├───
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───┘┌─┴─┐└╥┘┌─┐
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">q_1: ─────┤ X ├─╫─┤M├
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> └───┘ ║ └╥┘
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">c: 2/═══════════╩══╩═
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl"> 0 1
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;code>H&lt;/code> representa a porta Hadamard, a combinação de &lt;code>■&lt;/code> e &lt;code>X&lt;/code> representa a porta CNOT, e &lt;code>M&lt;/code> representa a medição.&lt;/p>
&lt;h3 id="53-execução-no-simulador-e-interpretação-dos-resultados">5.3 Execução no Simulador e Interpretação dos Resultados
&lt;/h3>&lt;p>Em seguida, executaremos este circuito no simulador de alto desempenho da IBM, &lt;code>Aer&lt;/code>, e verificaremos os resultados.&lt;/p>
&lt;div class="highlight">&lt;div class="chroma">
&lt;table class="lntable">&lt;tr>&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code>&lt;span class="lnt"> 1
&lt;/span>&lt;span class="lnt"> 2
&lt;/span>&lt;span class="lnt"> 3
&lt;/span>&lt;span class="lnt"> 4
&lt;/span>&lt;span class="lnt"> 5
&lt;/span>&lt;span class="lnt"> 6
&lt;/span>&lt;span class="lnt"> 7
&lt;/span>&lt;span class="lnt"> 8
&lt;/span>&lt;span class="lnt"> 9
&lt;/span>&lt;span class="lnt">10
&lt;/span>&lt;span class="lnt">11
&lt;/span>&lt;span class="lnt">12
&lt;/span>&lt;span class="lnt">13
&lt;/span>&lt;span class="lnt">14
&lt;/span>&lt;span class="lnt">15
&lt;/span>&lt;span class="lnt">16
&lt;/span>&lt;span class="lnt">17
&lt;/span>&lt;span class="lnt">18
&lt;/span>&lt;span class="lnt">19
&lt;/span>&lt;/code>&lt;/pre>&lt;/td>
&lt;td class="lntd">
&lt;pre tabindex="0" class="chroma">&lt;code class="language-python" data-lang="python">&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Obter o backend do simulador Aer&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">simulator&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">Aer&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_backend&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s1">&amp;#39;qasm_simulator&amp;#39;&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Transpilar (otimizar) o circuito para o simulador&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">compiled_circuit&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">transpile&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">qc&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">simulator&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Executar o circuito (aqui, realizamos 1000 execuções ou &amp;#34;shots&amp;#34;)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">job&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">simulator&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">run&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">shots&lt;/span>&lt;span class="o">=&lt;/span>&lt;span class="mi">1000&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Obter o resultado&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">result&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">job&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">result&lt;/span>&lt;span class="p">()&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Obter a contagem de vezes que cada estado foi observado&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="n">counts&lt;/span> &lt;span class="o">=&lt;/span> &lt;span class="n">result&lt;/span>&lt;span class="o">.&lt;/span>&lt;span class="n">get_counts&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="n">compiled_circuit&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="nb">print&lt;/span>&lt;span class="p">(&lt;/span>&lt;span class="s2">&amp;#34;&lt;/span>&lt;span class="se">\n&lt;/span>&lt;span class="s2">Resultados da medição:&amp;#34;&lt;/span>&lt;span class="p">,&lt;/span> &lt;span class="n">counts&lt;/span>&lt;span class="p">)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Plotar o histograma&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># plot_histogram(counts)&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># plt.show()&lt;/span>
&lt;/span>&lt;/span>&lt;/code>&lt;/pre>&lt;/td>&lt;/tr>&lt;/table>
&lt;/div>
&lt;/div>&lt;p>&lt;strong>Interpretação dos Resultados&lt;/strong>&lt;/p>
&lt;p>A saída do console deve ser algo semelhante a isto:
&lt;code>Resultados da medição: {'00': 495, '11': 505}&lt;/code>
(&lt;em>Nota: como as probabilidades são aleatórias, os números variam ligeiramente a cada execução&lt;/em>)&lt;/p>
&lt;p>Em um ambiente de simulação ideal, os resultados da medição mostrarão &lt;code>00&lt;/code> e &lt;code>11&lt;/code> sendo observados com cerca de 50% de probabilidade cada um, e &lt;code>01&lt;/code> e &lt;code>10&lt;/code> não serão observados em absoluto.
Isto corresponde perfeitamente à previsão teórica para o estado de Bell $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$ que criamos. O &amp;ldquo;emaranhamento quântico&amp;rdquo; foi simulado com precisão, confirmando que se o primeiro qubit for 0, o segundo também será necessariamente 0, e se o primeiro for 1, o segundo também será necessariamente 1.&lt;/p>
&lt;p>No entanto, se for executado em um hardware quântico real (IBM Quantum Hardware), os estados &lt;code>01&lt;/code> ou &lt;code>10&lt;/code> podem ser levemente observados devido à influência de ruídos (decoerência quântica e erros de portas). Como reduzir esse ruído (correção de erros quânticos) é atualmente um dos maiores desafios no desenvolvimento de computadores quânticos.&lt;/p>
&lt;hr>
&lt;h2 id="6-escalando-para-algoritmos-mais-avançados">6. Escalando para Algoritmos Mais Avançados
&lt;/h2>&lt;p>A criação do estado de Bell pode ser considerada o &amp;ldquo;Hello World&amp;rdquo; da programação quântica. Ao nos desenvolvermos a partir daqui, podemos construir algoritmos poderosos que superam os computadores clássicos.&lt;/p>
&lt;h3 id="61-algoritmo-de-deutsch-jozsa-deutsch-jozsa-algorithm">6.1 Algoritmo de Deutsch-Jozsa (Deutsch-Jozsa Algorithm)
&lt;/h3>&lt;p>Este é um problema para determinar se uma dada função $f(x)$ é &amp;ldquo;constante&amp;rdquo; (sempre gera 0 ou sempre 1 independentemente da entrada) ou &amp;ldquo;balanceada&amp;rdquo; (gera 0 para metade das entradas e 1 para a outra metade).
Em um computador clássico, no pior dos casos, seriam necessárias $2^{n-1} + 1$ avaliações da função, mas usando o algoritmo de Deutsch-Jozsa, podemos usar o paralelismo quântico para determinar a resposta com &lt;strong>apenas 1 avaliação&lt;/strong>. Isto demonstra o padrão básico de algoritmos quânticos: inserir um estado de sobreposição e usar a interferência (Interference) para cancelar estados indesejados e amplificar a resposta desejada.&lt;/p>
&lt;h3 id="62-algoritmo-de-grover-grovers-algorithm">6.2 Algoritmo de Grover (Grover&amp;rsquo;s Algorithm)
&lt;/h3>&lt;p>Em um problema de busca onde procuramos por dados específicos em um banco de dados não ordenado de $N$ itens, um algoritmo clássico requer em média $N/2$ cálculos, enquanto o algoritmo de Grover pode encontrar os dados desejados em cerca de $\sqrt{N}$ vezes.
Este algoritmo usa uma caixa preta chamada &amp;ldquo;Oráculo (Oracle)&amp;rdquo; para inverter a fase da solução desejada e, em seguida, realiza uma &amp;ldquo;Amplificação de Amplitude (Amplitude Amplification)&amp;rdquo;, o que aumenta drasticamente a probabilidade de a solução desejada ser observada.&lt;/p>
&lt;div class="mermaid">graph TD
A["Inicialização (Sobreposição de todos os estados)"] --> B["Oráculo (Inversão da fase da resposta correta)"]
B --> C["Operador de difusão (Amplificação da amplitude por inversão em torno da média)"]
C --> D{"Alcançou uma probabilidade suficiente?"}
D -- "Não" --> B
D -- "Sim" --> E["Medição"]&lt;/div>
&lt;hr>
&lt;h2 id="7-conclusão-e-próximos-passos-no-aprendizado">7. Conclusão e Próximos Passos no Aprendizado
&lt;/h2>&lt;p>Neste artigo, explicamos detalhadamente, desde os conceitos fundamentais da computação quântica como sobreposição e emaranhamento quântico, passando pela manipulação de portas lógicas quânticas usando o Qiskit, até a construção, simulação prática de um estado de Bell e interpretação de seus resultados.&lt;/p>
&lt;p>O Qiskit é uma ferramenta poderosa que, por poder ser escrita em uma linguagem familiar como o Python, permite superar barreiras matemáticas e físicas para que você possa se concentrar na construção de algoritmos. Os computadores quânticos estão atualmente na era dos Dispositivos Quânticos Ruidosos de Escala Intermediária (NISQ: Noisy Intermediate-Scale Quantum), mas a pesquisa aplicada está avançando rapidamente ao redor do mundo em muitos campos, como Aprendizado de Máquina Quântico (Quantum Machine Learning), Simulação Química (Quantum Chemistry) e Criptografia.&lt;/p>
&lt;p>Por favor, aproveite esta oportunidade para criar por conta própria vários circuitos quânticos usando o Qiskit e tente executá-los em processadores reais do IBM Quantum. Você certamente poderá experimentar com as próprias mãos o paradigma da computação do futuro.&lt;/p>
&lt;h3 id="materiais-de-referência">Materiais de Referência
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://qiskit.org/documentation/" target="_blank" rel="noopener"
>Documentação Oficial do Qiskit&lt;/a>&lt;/li>
&lt;li>&lt;a class="link" href="https://qiskit.org/textbook/ja/preface.html" target="_blank" rel="noopener"
>Qiskit Textbook&lt;/a> - Um livro didático oficial recomendado para quem deseja aprender mais profundamente os fundamentos matemáticos e os algoritmos (disponível em vários idiomas).&lt;/li>
&lt;li>IBM Quantum Learning&lt;/li>
&lt;/ul>
&lt;p>Bem-vindo ao mundo quântico!&lt;/p></description></item><item><title>O que é Supremacia Quântica? As últimas tendências do Google e da IBM</title><link>http://kenji.blog/pt/p/what-is-quantum-supremacy-google-ibm/</link><pubDate>Fri, 11 Sep 2026 18:00:00 +0900</pubDate><guid>http://kenji.blog/pt/p/what-is-quantum-supremacy-google-ibm/</guid><description>&lt;img src="http://kenji.blog/p/what-is-quantum-supremacy-google-ibm/img/eyecatch.jpg" alt="Featured image of post O que é Supremacia Quântica? As últimas tendências do Google e da IBM" />&lt;h2 id="1-introdução-o-amanhecer-da-computação-quântica-e-a-supremacia-quântica">1. Introdução: O Amanhecer da Computação Quântica e a &amp;ldquo;Supremacia Quântica&amp;rdquo;
&lt;/h2>&lt;p>A computação quântica tem o potencial de resolver problemas complexos, que não podem ser resolvidos em um tempo realista por computadores clássicos (os PCs e supercomputadores que usamos diariamente hoje), aplicando a mecânica quântica, o princípio fundamental da física, ao processamento de informações. Este campo tem sido predominantemente de pesquisa teórica por muito tempo, mas nos últimos anos, o rápido avanço do hardware tem intensificado a competição pela sua aplicação prática.&lt;/p>
&lt;p>Nesse contexto, uma das palavras-chave que mais chamou a atenção foi &amp;ldquo;Supremacia Quântica&amp;rdquo; (Quantum Supremacy). Isso se refere ao momento em que um computador quântico demonstra uma capacidade de computação que supera a de um computador clássico em uma tarefa de cálculo específica. Neste artigo, partindo da definição rigorosa de supremacia quântica, explicaremos em detalhes o experimento do processador &amp;ldquo;Sycamore&amp;rdquo; do Google, que anunciou ter alcançado este marco pela primeira vez no mundo em 2019, as contra-argumentações e abordagens únicas da IBM em relação a isso, e o mais recente roteiro para a &amp;ldquo;Correção Quântica de Erros&amp;rdquo; (Quantum Error Correction: QEC) e a &amp;ldquo;Computação Quântica Tolerante a Falhas&amp;rdquo; (Fault-Tolerant Quantum Computing: FTQC), que são as maiores barreiras para a verdadeira aplicação prática, aprofundando-se nos aspectos técnicos e matemáticos.&lt;/p>
&lt;hr>
&lt;h2 id="2-antecedentes-teóricos-fundamentos-da-computação-quântica-e-classes-de-complexidade">2. Antecedentes Teóricos: Fundamentos da Computação Quântica e Classes de Complexidade
&lt;/h2>&lt;p>Para entender a supremacia quântica, é primeiro necessário entender os fundamentos matemáticos da computação quântica e seu posicionamento na teoria da complexidade computacional.&lt;/p>
&lt;h3 id="qubits-e-sobreposição">Qubits e Sobreposição
&lt;/h3>&lt;p>A menor unidade de informação em um computador clássico é o bit (0 ou 1), mas em um computador quântico, utiliza-se o qubit (Qubit). O estado de um único qubit $|\psi\rangle$ é representado por uma combinação linear complexa dos estados de base $|0\rangle$ e $|1\rangle$.&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Onde $\alpha, \beta \in \mathbb{C}$, e satisfaz a condição de normalização $|\alpha|^2 + |\beta|^2 = 1$. Esta propriedade é chamada de &amp;ldquo;Sobreposição&amp;rdquo; (Superposition).&lt;/p>
&lt;h3 id="emaranhamento-entanglement-e-produto-tensorial">Emaranhamento (Entanglement) e Produto Tensorial
&lt;/h3>&lt;p>Quando existem múltiplos qubits, o estado de todo o sistema é representado pelo produto tensorial dos espaços de estados dos qubits individuais. Um sistema de $n$ qubits é um vetor em um espaço de Hilbert $\mathcal{H}^{\otimes n}$ de $2^n$ dimensões.&lt;/p>
$$
|\Psi\rangle = \sum_{x \in \{0, 1\}^n} c_x |x\rangle
$$
&lt;p>Onde $\sum |c_x|^2 = 1$. O estado em que os qubits não são independentes entre si e o estado de um depende do outro é chamado de &amp;ldquo;Emaranhamento Quântico&amp;rdquo; (Quantum Entanglement). Isso dá aos computadores quânticos o potencial de processar simultaneamente um espaço de estados exponencialmente vasto.&lt;/p>
&lt;h3 id="definição-na-teoria-da-complexidade-computacional-da-supremacia-quântica">Definição na Teoria da Complexidade Computacional da Supremacia Quântica
&lt;/h3>&lt;p>Na teoria da complexidade computacional, a classe de problemas que um computador clássico pode resolver eficientemente (em tempo polinomial) é chamada de &lt;strong>BPP&lt;/strong> (Bounded-error Probabilistic Polynomial time). Por outro lado, a classe de problemas que um computador quântico pode resolver eficientemente é a &lt;strong>BQP&lt;/strong> (Bounded-error Quantum Polynomial time).&lt;/p>
&lt;p>A demonstração da supremacia quântica significa &amp;ldquo;executar uma tarefa específica incluída em BQP, mas não incluída em BPP (ou com uma probabilidade extremamente alta de não ser), em hardware quântico real e superar a simulação por supercomputadores clássicos em termos de tempo e recursos&amp;rdquo;. Pode-se dizer que é uma tentativa histórica de refutar a tese de Church-Turing estendida (&amp;ldquo;todos os modelos de computação fisicamente realizáveis podem ser simulados eficientemente por uma máquina de Turing probabilística em tempo polinomial&amp;rdquo;) por meio de um experimento físico.&lt;/p>
&lt;hr>
&lt;h2 id="3-2019-demonstração-da-supremacia-quântica-pelo-google">3. 2019: Demonstração da Supremacia Quântica pelo Google
&lt;/h2>&lt;p>Em outubro de 2019, a equipe do Google Quantum AI anunciou na revista científica &amp;ldquo;Nature&amp;rdquo; que havia alcançado a supremacia quântica usando o processador supercondutor de 53 qubits &amp;ldquo;Sycamore&amp;rdquo;.&lt;/p>
&lt;h3 id="arquitetura-do-processador-sycamore">Arquitetura do Processador Sycamore
&lt;/h3>&lt;p>O processador Sycamore consiste em 54 qubits supercondutores do tipo Transmon dispostos em uma grade bidimensional (no experimento, 53 foram usados devido ao mau funcionamento de um). Acopladores variáveis (Tunable Couplers) foram colocados entre qubits adjacentes, realizando portas de 2 qubits (um híbrido de portas iSWAP e portas Z controladas) de alta velocidade e alta precisão.&lt;/p>
&lt;div class="mermaid">graph TD
A["Entrada de Algoritmo Quântico"] --> B["Processador Sycamore (53 Qubits)"]
B --> C["Aplicar Portas Quânticas Aleatórias"]
C --> D["Medir Estados Quânticos (Cadeias de Bits)"]
D --> E["Benchmarking de Entropia Cruzada (XEB)"]
E --> F["Verificar Supremacia Quântica"]&lt;/div>
&lt;h3 id="amostragem-de-circuito-quântico-aleatório-random-circuit-sampling-rcs">Amostragem de Circuito Quântico Aleatório (Random Circuit Sampling: RCS)
&lt;/h3>&lt;p>A tarefa escolhida pelo Google foi a &amp;ldquo;amostragem de circuito quântico aleatório&amp;rdquo;. Isso envolve a aplicação de portas de um único qubit e portas de dois qubits escolhidas aleatoriamente ao longo de vários ciclos (profundidade $m$) e, em seguida, a realização de amostragem a partir da distribuição de probabilidade das cadeias de bits obtidas medindo o estado final.&lt;/p>
&lt;p>A probabilidade de uma cadeia de bits $x$ ser produzida por um circuito quântico aleatório ideal (sem ruído) não é uma distribuição uniforme, mas mostra um padrão semelhante a franjas de interferência chamado distribuição de Porter-Thomas. Para amostrar dessa distribuição em um computador clássico, é necessária a simulação de todo o vetor de estado, e a complexidade computacional aumenta exponencialmente com o número de qubits $n$ e a profundidade do circuito $m$.&lt;/p>
&lt;h3 id="avaliação-de-fidelidade-fidelity-benchmarking-de-entropia-cruzada-linear-xeb">Avaliação de Fidelidade (Fidelity): Benchmarking de Entropia Cruzada Linear (XEB)
&lt;/h3>&lt;p>Para provar que os resultados do experimento não eram mero ruído, mas os resultados de cálculos quânticos reais, o Google usou o benchmarking de entropia cruzada linear (Linear Cross-Entropy Benchmarking: XEB). Eles calcularam a probabilidade ideal $P(x_i)$ do circuito para a cadeia de bits $x_i$ obtida no experimento usando um computador clássico e calcularam a fidelidade $\mathcal{F}_{\text{XEB}}$ com a seguinte fórmula:&lt;/p>
$$
\mathcal{F}_{\text{XEB}} = 2^n \langle P(x_i) \rangle_{i} - 1
$$
&lt;p>Se $\mathcal{F}_{\text{XEB}}$ for 0, significa ruído puro, e se for 1, significa um processador quântico ideal sem ruído. O processador Sycamore alcançou $\mathcal{F}_{\text{XEB}} \approx 0.002$ (0,2%) em um circuito de profundidade 20. Embora pareça baixo à primeira vista, é um valor estatisticamente significativo maior que zero, sendo uma conquista impressionante de controle de um espaço de estados de $2^{53} \approx 9 \times 10^{15}$.&lt;/p>
&lt;p>A taxa de erro geral foi modelada de forma aproximada como o produto de erros de portas individuais, erros de medição, etc.&lt;/p>
$$
\mathcal{F} \approx (1 - e_1)^{N_1}(1 - e_2)^{N_2} \cdots \approx \prod_{g \in 1Q} (1 - e_g) \prod_{g \in 2Q} (1 - e_g) \prod_{q} (1 - e_{RO})
$$
&lt;p>（※ Onde $e_g$ é o erro da porta e $e_{RO}$ é o erro de medição）&lt;/p>
&lt;p>O Google argumentou que levaria cerca de 10.000 anos para simular esse circuito em um supercomputador clássico (Summit). Em contraste, o Sycamore completou a amostragem em apenas 200 segundos.&lt;/p>
&lt;hr>
&lt;h2 id="4-a-contra-argumentação-da-ibm-da-supremacia-para-a-utilidade-utility">4. A Contra-argumentação da IBM: Da &amp;ldquo;Supremacia&amp;rdquo; para a &amp;ldquo;Utilidade&amp;rdquo; (Utility)
&lt;/h2>&lt;p>O anúncio do Google chocou o mundo, mas a IBM, que desenvolveu o maior supercomputador do mundo, o &amp;ldquo;Summit&amp;rdquo;, e que também lidera o desenvolvimento de computadores quânticos, publicou rapidamente um artigo refutando essa afirmação.&lt;/p>
&lt;h3 id="melhoria-da-simulação-clássica-pela-contração-de-redes-tensoriais">Melhoria da Simulação Clássica pela Contração de Redes Tensoriais
&lt;/h3>&lt;p>O núcleo da contra-argumentação da IBM era que &amp;ldquo;a otimização de algoritmos e recursos no lado do computador clássico foi insuficiente&amp;rdquo;. O Google fez uma estimativa de 10.000 anos presumindo um simulador de vetor de estado que calcula diretamente a evolução temporal da equação de Schrödinger, mas a IBM apontou que o tempo de simulação poderia ser drasticamente reduzido pelo uso de um método chamado &amp;ldquo;Redes Tensoriais&amp;rdquo; (Tensor Network).&lt;/p>
&lt;p>Nas redes tensoriais, as operações das portas do circuito quântico são representadas como operações de matrizes multidimensionais (tensores), e a ordem de &amp;ldquo;contração&amp;rdquo; (Contraction) da rede é otimizada. Além disso, eles argumentaram que, se a enorme capacidade de armazenamento de 250 PB do Summit (uma hierarquia de discos e memória) fosse totalmente utilizada, uma simulação de maior precisão seria possível em apenas &amp;ldquo;dois dias e meio&amp;rdquo;, mantendo todo o vetor de estado.&lt;/p>
&lt;h3 id="vantagem-quântica-quantum-advantage-e-utilidade-quântica-quantum-utility">Vantagem Quântica (Quantum Advantage) e Utilidade Quântica (Quantum Utility)
&lt;/h3>&lt;p>Impulsionada por esse debate, a tendência de toda a indústria mudou da fixação em &amp;ldquo;executar uma tarefa artificial impossível em meios clássicos (Supremacia)&amp;rdquo; para &amp;ldquo;demonstrar uma vantagem substancial sobre a abordagem clássica em problemas úteis do mundo real (Vantagem Quântica)&amp;rdquo;, e ainda mais para a fase em que &amp;ldquo;os computadores quânticos funcionam como uma nova ferramenta para a descoberta científica (Utilidade Quântica)&amp;rdquo;.&lt;/p>
&lt;p>A própria IBM evita o termo &amp;ldquo;supremacia&amp;rdquo; e propôs o &amp;ldquo;Volume Quântico&amp;rdquo; (Quantum Volume) e &amp;ldquo;CLOPS (Circuit Layer Operations Per Second)&amp;rdquo; como indicadores de desempenho abrangentes para processadores quânticos, promovendo o desenvolvimento com ênfase no equilíbrio entre a escala e a qualidade do hardware.&lt;/p>
&lt;div class="mermaid">timeline
title "A Evolução dos Marcos Quânticos"
2019 : "Google Sycamore (53Q)" : "Anúncio de Supremacia Quântica"
2019 : "Refutação da IBM" : "Simulação no supercomputador Summit em 2,5 dias"
2021 : "IBM Eagle (127Q)" : "Quebrando a barreira dos 100 qubits"
2022 : "IBM Osprey (433Q)" : "Avanço na escala do processador"
2023 : "Google Surface Code" : "Escalando a correção de erros (d=3 para d=5)"
2023 : "Utilidade Quântica da IBM" : "Simulação de modelo de spin complexo em 127Q"
2024 : "Além" : "Era dos Qubits Lógicos e Mitigação de Erros"&lt;/div>
&lt;hr>
&lt;h2 id="5-a-próxima-fronteira-mitigação-de-erros-error-mitigation-e-correção-quântica-de-erros-qec">5. A Próxima Fronteira: Mitigação de Erros (Error Mitigation) e Correção Quântica de Erros (QEC)
&lt;/h2>&lt;p>Os computadores quânticos atuais são chamados de &amp;ldquo;NISQ (Noisy Intermediate-Scale Quantum)&amp;rdquo; e são suscetíveis a ruídos (erros devido à interação com o ambiente externo e controle imperfeito), de modo que, se cálculos longos forem executados, os resultados serão encobertos por ruídos. As abordagens para superar esse problema são amplamente divididas em &amp;ldquo;Mitigação de Erros&amp;rdquo; (Error Mitigation) e &amp;ldquo;Correção Quântica de Erros&amp;rdquo; (Quantum Error Correction).&lt;/p>
&lt;h3 id="mitigação-de-erros-error-mitigation">Mitigação de Erros (Error Mitigation)
&lt;/h3>&lt;p>A mitigação de erros é um método para remover o efeito do ruído do valor esperado do resultado do cálculo por meio de pós-processamento clássico, sem alterar o hardware quântico. Em 2023, a IBM demonstrou a &amp;ldquo;Utilidade Quântica&amp;rdquo; combinando o processador &amp;ldquo;Eagle&amp;rdquo; de 127 qubits com técnicas de mitigação de erros, como a &amp;ldquo;Extrapolação de Ruído Zero&amp;rdquo; (Zero-Noise Extrapolation: ZNE), para alcançar uma precisão superior ao método avançado de aproximação de rede tensorial na simulação da evolução temporal de modelos complexos de Ising.&lt;/p>
&lt;h3 id="correção-quântica-de-erros-qec-e-qubits-lógicos">Correção Quântica de Erros (QEC) e Qubits Lógicos
&lt;/h3>&lt;p>No entanto, para executar algoritmos arbitrariamente complexos (por exemplo, o algoritmo de fatoração de Shor ou cálculos de química quântica complexos) em última análise, a mitigação de erros por si só não é suficiente, e a &amp;ldquo;Correção Quântica de Erros&amp;rdquo; (QEC), que detecta e corrige erros dinamicamente, é indispensável.&lt;/p>
&lt;p>A principal abordagem em QEC é o &amp;ldquo;Código de Superfície&amp;rdquo; (Surface Code). Este é um método em que vários qubits físicos (qubits de dados) são dispostos em uma grade bidimensional, e qubits de medição (qubits de ancila) são colocados entre eles para realizar verificações de paridade contínuas chamadas &amp;ldquo;Estabilizadores&amp;rdquo; (Stabilizers).&lt;/p>
&lt;div class="mermaid">graph LR
Q1["Qubit de Dados (Dados)"] --- M1["Medir Estabilizador X (Ancila)"]
Q2["Qubit de Dados (Dados)"] --- M1
Q3["Qubit de Dados (Dados)"] --- M2["Medir Estabilizador Z (Ancila)"]
Q4["Qubit de Dados (Dados)"] --- M2
M1 --> EC["Decodificação de Síndrome de Erro (Clássico)"]
M2 --> EC
EC --> LQ["Atualização de Estado do Qubit Lógico"]&lt;/div>
&lt;h4 id="teorema-do-limiar-threshold-theorem-e-distância-d">Teorema do Limiar (Threshold Theorem) e Distância $d$
&lt;/h4>&lt;p>Existe um &amp;ldquo;Teorema do Limiar&amp;rdquo; para a correção quântica de erros. Quando a taxa de erro $p$ dos qubits físicos está abaixo de um determinado limiar $p_{th}$ (em torno de 1% para o código de superfície), a taxa de erro lógico $p_L$ pode ser reduzida exponencialmente aumentando a distância (Distance) do código $d$ (alocando mais qubits físicos a um qubit lógico).&lt;/p>
&lt;p>A fórmula de aproximação para a taxa de erro lógico é expressa da seguinte forma:&lt;/p>
$$
p_L \approx \Lambda \left( \frac{p}{p_{th}} \right)^{\frac{d+1}{2}}
$$
&lt;p>Onde $\Lambda$ é uma constante. Se $p &lt; p_{th}$, quanto maior o valor de $d$, menor será $p_L$. No entanto, se $p > p_{th}$, o aumento do número de qubits físicos acumula mais ruído, piorando a taxa de erro lógico.&lt;/p>
&lt;h4 id="marco-do-google-em-2023-demonstração-de-redução-de-erros-ampliando-a-distância">Marco do Google em 2023: Demonstração de Redução de Erros Ampliando a Distância
&lt;/h4>&lt;p>Em fevereiro de 2023, o Google publicou um artigo monumental na &amp;ldquo;Nature&amp;rdquo;. Eles usaram seu processador Sycamore de 3ª geração para demonstrar, pela primeira vez no mundo, que ao estender a distância do código de superfície de $d=3$ (usando 17 qubits físicos) para $d=5$ (usando 49 qubits físicos), a taxa de erro lógico diminuiu ligeiramente de 3,028% para 2,914%.&lt;/p>
&lt;p>Isso significa que eles entraram no regime $p &lt; p_{th}$, indicando a conclusão da mais importante Prova de Conceito (Proof of Concept) em direção à FTQC, onde o desempenho melhora à medida que o número de qubits físicos aumenta.&lt;/p>
&lt;hr>
&lt;h2 id="6-roteiro-e-perspectivas-para-ftqc-computação-quântica-tolerante-a-falhas">6. Roteiro e Perspectivas para FTQC (Computação Quântica Tolerante a Falhas)
&lt;/h2>&lt;p>Embora o Google e a IBM adotem arquiteturas e abordagens diferentes, eles estão envolvidos em uma competição acirrada de desenvolvimento em direção ao seu objetivo final: a FTQC (Fault-Tolerant Quantum Computing).&lt;/p>
&lt;h3 id="a-abordagem-da-ibm-modularidade-e-grade-heavy-hex">A Abordagem da IBM: Modularidade e Grade Heavy-Hex
&lt;/h3>&lt;p>A IBM está se concentrando em aumentar a escala de seus processadores em paralelo com a redução rigorosa da taxa de erro. Enquanto desafiam os limites de chips individuais com &amp;ldquo;Eagle (127Q)&amp;rdquo;, &amp;ldquo;Osprey (433Q)&amp;rdquo; e &amp;ldquo;Condor (1121Q)&amp;rdquo;, eles anunciaram uma arquitetura modular chamada &amp;ldquo;Quantum System Two&amp;rdquo;. Além disso, para a topologia de acoplamento dos qubits, eles adotaram uma &amp;ldquo;Grade Heavy-Hex&amp;rdquo;, que reduz o crosstalk (interferência) indesejado e melhora a estabilidade. A estratégia da IBM é uma abordagem híbrida: buscar a utilidade a curto prazo por meio da mitigação avançada de erros, ao mesmo tempo em que introduz a QEC em etapas.&lt;/p>
&lt;h3 id="a-abordagem-do-google-melhoria-da-qualidade-dos-qubits-lógicos">A Abordagem do Google: Melhoria da Qualidade dos Qubits Lógicos
&lt;/h3>&lt;p>A estratégia do Google dá maior ênfase em reduzir drasticamente a taxa de erro de um único qubit lógico (por exemplo, reduzindo para $10^{-6}$), em vez de aumentar rapidamente o número de qubits físicos. Com base nisso, eles visam estabelecer tecnologia de transferência de estados quânticos entre módulos (Interconexões Quânticas) em direção a um sistema em grande escala que opera milhares a dezenas de milhares de qubits físicos em paralelo.&lt;/p>
&lt;p>A implementação de protocolos para executar portas não Clifford, como a destilação de estados mágicos (Magic State Distillation), de maneira tolerante a falhas será um grande obstáculo tecnológico no futuro. Diz-se que a execução do algoritmo de Shor na prática para decifrar a criptografia RSA de 2048 bits exigirá milhares de qubits lógicos com uma taxa de erro de $10^{-8}$ ou inferior, o que se traduz em milhões a dezenas de milhões de qubits físicos, o que indica que o caminho ainda é longo.&lt;/p>
&lt;hr>
&lt;h2 id="7-conclusão">7. Conclusão
&lt;/h2>&lt;p>A &amp;ldquo;Supremacia Quântica&amp;rdquo; foi um marco importante na história dos computadores quânticos, provando fisicamente o potencial teórico das máquinas de computação. A demonstração do Google em 2019 e a refutação construtiva da IBM impulsionaram a indústria inteira de uma prova puramente teórica para a busca pela utilidade real (Utility) e, finalmente, para a era de engenharia de larga escala voltada à Computação Quântica Tolerante a Falhas (FTQC).&lt;/p>
&lt;p>Estamos atualmente testemunhando o período de transição de dispositivos NISQ ruidosos para dispositivos de qubits lógicos equipados com correção de erros. Nos próximos anos a décadas, a descoberta de novos materiais científicos, a revolução nos processos de descoberta de medicamentos e os avanços nos problemas de otimização se tornarão realidade junto com esta evolução do hardware quântico.&lt;/p>
&lt;p>Devemos continuar de olho nas tendências do Google e da IBM, bem como dos pesquisadores em todo o mundo, à medida que moldam a ciência da computação do futuro.&lt;/p></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>