<?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/fr/tags/quantum-computing/</link><description>Recent content in Quantum Computing on kenji.blog</description><generator>Hugo -- gohugo.io</generator><language>fr</language><copyright>kenjinote</copyright><lastBuildDate>Fri, 11 Sep 2026 20:00:00 +0900</lastBuildDate><atom:link href="http://kenji.blog/fr/tags/quantum-computing/index.xml" rel="self" type="application/rss+xml"/><item><title>Introduction à la programmation quantique avec Qiskit</title><link>http://kenji.blog/fr/p/qiskit-quantum-programming-intro/</link><pubDate>Fri, 11 Sep 2026 20:00:00 +0900</pubDate><guid>http://kenji.blog/fr/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 Introduction à la programmation quantique avec Qiskit" />&lt;h2 id="1-introduction">1. Introduction
&lt;/h2>&lt;p>Les ordinateurs modernes (ordinateurs classiques) ont radicalement changé nos vies et soutiennent tous les aspects de la société grâce à leur puissance de calcul avancée. Cependant, il est connu que pour certains problèmes spécifiques (par exemple, la factorisation de très grands nombres, la simulation de structures moléculaires complexes, les problèmes d&amp;rsquo;optimisation, etc.), même les superordinateurs de pointe actuels nécessiteraient un temps supérieur à l&amp;rsquo;âge de l&amp;rsquo;univers.&lt;/p>
&lt;p>Les &lt;strong>ordinateurs quantiques (Quantum Computer)&lt;/strong> ont le potentiel de briser ces &amp;ldquo;limites des ordinateurs classiques&amp;rdquo;. En utilisant les propriétés étranges de la mécanique quantique (superposition et intrication quantique) comme ressources de calcul, on pense que certains problèmes peuvent être résolus de manière considérablement plus rapide.&lt;/p>
&lt;p>Dans cet article, nous ferons notre premier pas dans le monde de la programmation quantique en utilisant &lt;strong>Qiskit&lt;/strong>, un framework d&amp;rsquo;informatique quantique open source fourni par IBM. Il s&amp;rsquo;agit d&amp;rsquo;un guide d&amp;rsquo;introduction très détaillé couvrant tout le processus, allant des bases de la physique et des mathématiques jusqu&amp;rsquo;à l&amp;rsquo;écriture de code en Python et l&amp;rsquo;exécution de circuits quantiques sur un simulateur.&lt;/p>
&lt;hr>
&lt;h2 id="2-fondements-physiques-et-mathématiques-du-calcul-quantique">2. Fondements physiques et mathématiques du calcul quantique
&lt;/h2>&lt;p>Pour comprendre la programmation quantique, vous devez d&amp;rsquo;abord comprendre les concepts de base de la mécanique quantique. Nous expliquons ici trois piliers importants : les qubits, la superposition et l&amp;rsquo;intrication quantique.&lt;/p>
&lt;h3 id="21-bits-classiques-et-bits-quantiques-qubit">2.1 Bits classiques et bits quantiques (Qubit)
&lt;/h3>&lt;p>L&amp;rsquo;unité d&amp;rsquo;information d&amp;rsquo;un ordinateur classique est le &amp;ldquo;bit&amp;rdquo;. Un bit prend toujours l&amp;rsquo;un des deux états : &lt;code>0&lt;/code> ou &lt;code>1&lt;/code>.&lt;/p>
&lt;p>D&amp;rsquo;autre part, la plus petite unité d&amp;rsquo;information d&amp;rsquo;un ordinateur quantique est appelée &lt;strong>bit quantique (Qubit : Quantum bit)&lt;/strong>. Un qubit peut non seulement prendre les états &lt;code>0&lt;/code> et &lt;code>1&lt;/code>, mais il peut également &lt;strong>maintenir ces deux états en même temps&lt;/strong>.&lt;/p>
&lt;p>Mathématiquement, l&amp;rsquo;état d&amp;rsquo;un qubit $|\psi\rangle$ s&amp;rsquo;exprime comme une combinaison linéaire (superposition) des états de base $|0\rangle$ et $|1\rangle$.&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Ici, $\alpha$ et $\beta$ sont des nombres complexes, représentant respectivement l&amp;rsquo;amplitude de probabilité d&amp;rsquo;observer les états $|0\rangle$ et $|1\rangle$. D&amp;rsquo;après les principes de base de la mécanique quantique, la somme des probabilités doit être égale à 1, ce qui satisfait à la condition de normalisation suivante :&lt;/p>
$$
|\alpha|^2 + |\beta|^2 = 1
$$
&lt;p>En d&amp;rsquo;autres termes, lorsque ce qubit est &amp;ldquo;mesuré (observé)&amp;rdquo;, la probabilité d&amp;rsquo;obtenir $|0\rangle$ est $|\alpha|^2$ et la probabilité d&amp;rsquo;obtenir $|1\rangle$ est $|\beta|^2$. La différence cruciale avec un bit classique est que l&amp;rsquo;état n&amp;rsquo;est déterminé que de manière probabiliste avant la mesure.&lt;/p>
&lt;div class="mermaid">graph LR
A["Bit classique (Classical Bit)"] --> B["État défini : 0 ou 1"]
C["Qubit (Qubit)"] --> D["Superposition : à la fois 0 et 1"]
D --> E["L'état est déterminé de manière probabiliste par la mesure"]&lt;/div>
&lt;h3 id="22-superposition-superposition">2.2 Superposition (Superposition)
&lt;/h3>&lt;p>Comme mentionné précédemment, l&amp;rsquo;état dans lequel $|0\rangle$ et $|1\rangle$ sont mélangés est appelé &lt;strong>superposition (Superposition)&lt;/strong>.&lt;/p>
&lt;p>Par exemple, si un seul qubit est dans un état de superposition parfaitement égale, alors $\alpha = \frac{1}{\sqrt{2}}$ et $\beta = \frac{1}{\sqrt{2}}$.&lt;/p>
$$
|\psi\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle
$$
&lt;p>Lorsque cet état est mesuré, $|0\rangle$ et $|1\rangle$ sont observés chacun avec une probabilité de 50%.
Si vous avez deux qubits, vous pouvez créer une superposition de quatre états : $|00\rangle, |01\rangle, |10\rangle, |11\rangle$. Si vous avez $n$ qubits, vous pouvez exprimer $2^n$ états simultanément, ce qui est l&amp;rsquo;une des sources de la capacité de traitement parallèle des ordinateurs quantiques.&lt;/p>
&lt;h3 id="23-intrication-quantique-entanglement">2.3 Intrication quantique (Entanglement)
&lt;/h3>&lt;p>La propriété la plus puissante et la plus mystérieuse du calcul quantique est &lt;strong>l&amp;rsquo;intrication quantique (Entanglement)&lt;/strong>. Ce phénomène, appelé &amp;ldquo;action fantôme à distance&amp;rdquo; par Einstein, est la propriété selon laquelle deux ou plusieurs qubits sont si fortement liés que lorsque l&amp;rsquo;état de l&amp;rsquo;un d&amp;rsquo;eux est déterminé, l&amp;rsquo;état de l&amp;rsquo;autre est instantanément déterminé, quelle que soit la distance physique qui les sépare.&lt;/p>
&lt;p>L&amp;rsquo;un des états d&amp;rsquo;intrication quantique les plus célèbres, l&amp;rsquo;« état de Bell (Bell State) », l&amp;rsquo;état $\Phi^+$, est exprimé comme suit :&lt;/p>
$$
|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}
$$
&lt;p>Dans cet état, les états $|01\rangle$ ou $|10\rangle$ n&amp;rsquo;existent pas. Par conséquent, si le premier qubit est mesuré et s&amp;rsquo;avère être $|0\rangle$, il est certain que le second est $|0\rangle$ sans même avoir besoin de le mesurer. Inversement, si le premier est $|1\rangle$, le second sera inévitablement $|1\rangle$.&lt;/p>
&lt;hr>
&lt;h2 id="3-portes-logiques-quantiques-quantum-logic-gates">3. Portes logiques quantiques (Quantum Logic Gates)
&lt;/h2>&lt;p>Tout comme les ordinateurs classiques utilisent des portes logiques telles que AND, OR et NOT pour effectuer des calculs, les ordinateurs quantiques utilisent des &lt;strong>portes quantiques&lt;/strong> pour manipuler l&amp;rsquo;état des qubits. L&amp;rsquo;état quantique étant un vecteur, une porte quantique est représentée par une &amp;ldquo;matrice unitaire&amp;rdquo; agissant sur ce vecteur.&lt;/p>
&lt;h3 id="31-portes-de-pauli-pauli-x-y-z">3.1 Portes de Pauli (Pauli-X, Y, Z)
&lt;/h3>&lt;p>Les portes de Pauli sont des opérations de base sur un seul qubit.&lt;/p>
&lt;p>&lt;strong>・Porte Pauli-X (Porte NOT)&lt;/strong>
Équivalent à la porte NOT classique. Elle inverse $|0\rangle$ en $|1\rangle$, et $|1\rangle$ en $|0\rangle$. (Rotation de 180 degrés autour de l&amp;rsquo;axe X sur la sphère de Bloch)&lt;/p>
$$
X = \begin{pmatrix} 0 &amp; 1 \\ 1 &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Porte Pauli-Y&lt;/strong>
Effectue une rotation de 180 degrés autour de l&amp;rsquo;axe Y. Elle a pour effet d&amp;rsquo;inverser à la fois la phase et le bit.&lt;/p>
$$
Y = \begin{pmatrix} 0 &amp; -i \\ i &amp; 0 \end{pmatrix}
$$
&lt;p>&lt;strong>・Porte Pauli-Z (Porte d&amp;rsquo;inversion de phase)&lt;/strong>
Laisse l&amp;rsquo;état $|0\rangle$ tel quel et inverse la phase de l&amp;rsquo;état $|1\rangle$ (en le multipliant par $-1$). (Rotation de 180 degrés autour de l&amp;rsquo;axe Z)&lt;/p>
$$
Z = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; -1 \end{pmatrix}
$$
&lt;h3 id="32-porte-de-hadamard-hadamard-gate">3.2 Porte de Hadamard (Hadamard Gate)
&lt;/h3>&lt;p>La porte de Hadamard (porte H) est une porte extrêmement importante qui convertit un état défini ($|0\rangle$ ou $|1\rangle$) en un état superposé.&lt;/p>
$$
H = \frac{1}{\sqrt{2}}
\begin{pmatrix}
1 &amp; 1 \\
1 &amp; -1
\end{pmatrix}
$$
&lt;p>L&amp;rsquo;application de la porte H à $|0\rangle$ donne $|+\rangle$, qui est un état de superposition égale.&lt;/p>
$$
H|0\rangle = \frac{1}{\sqrt{2}}|0\rangle + \frac{1}{\sqrt{2}}|1\rangle = |+\rangle
$$
&lt;h3 id="33-portes-de-phase-phase-gates">3.3 Portes de phase (Phase Gates)
&lt;/h3>&lt;p>La porte de phase est une généralisation de la porte Z, qui fait tourner la phase de l&amp;rsquo;état $|1\rangle$ d&amp;rsquo;un angle spécifié $\theta$.&lt;/p>
$$
P(\theta) = \begin{pmatrix} 1 &amp; 0 \\ 0 &amp; e^{i\theta} \end{pmatrix}
$$
&lt;p>Les représentantes typiques sont la porte S ($\theta = \pi/2$) et la porte T ($\theta = \pi/4$).&lt;/p>
&lt;h3 id="34-porte-cnot-controlled-not-gate">3.4 Porte CNOT (Controlled-NOT Gate)
&lt;/h3>&lt;p>La porte CNOT (porte CX) est une porte qui opère entre deux qubits et est essentielle pour générer l&amp;rsquo;intrication quantique. Elle se compose d&amp;rsquo;un &amp;ldquo;bit de contrôle (Control)&amp;rdquo; et d&amp;rsquo;un &amp;ldquo;bit cible (Target)&amp;rdquo;.&lt;/p>
&lt;p>Elle n&amp;rsquo;applique la porte X (opération NOT) au bit cible que si le bit de contrôle est $|1\rangle$, et ne fait rien si le bit de contrôle est $|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-bases-de-qiskit-et-configuration-de-lenvironnement">4. Bases de Qiskit et configuration de l&amp;rsquo;environnement
&lt;/h2>&lt;p>À partir de là, nous allons écrire des programmes quantiques en utilisant Python et Qiskit.&lt;/p>
&lt;h3 id="41-quest-ce-que-qiskit-">4.1 Qu&amp;rsquo;est-ce que Qiskit ?
&lt;/h3>&lt;p>&lt;strong>Qiskit&lt;/strong> est un kit de développement logiciel (SDK) d&amp;rsquo;informatique quantique open source développé par IBM Quantum. En utilisant Python, vous pouvez construire intuitivement des circuits quantiques et les exécuter sur un simulateur local ou sur de véritables ordinateurs quantiques IBM via le cloud.&lt;/p>
&lt;h3 id="42-méthode-dinstallation">4.2 Méthode d&amp;rsquo;installation
&lt;/h3>&lt;p>Pour utiliser Qiskit, vous avez besoin d&amp;rsquo;un environnement Python. Installez Qiskit et les packages associés (simulateurs, bibliothèques de dessin) à l&amp;rsquo;aide de la commande suivante.&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-flux-de-base-de-la-programmation">4.3 Flux de base de la programmation
&lt;/h3>&lt;p>La programmation quantique avec Qiskit se déroule principalement selon les étapes suivantes.&lt;/p>
&lt;div class="mermaid">graph TD
A["1. Construction du circuit (Build)"] --> B["2. Compilation / Transpilation (Compile)"]
B --> C["3. Exécution (Execute)"]
C --> D["4. Analyse et visualisation des résultats (Analyze)"]&lt;/div>
&lt;ol>
&lt;li>&lt;strong>Construction du circuit&lt;/strong> : Créez un objet &lt;code>QuantumCircuit&lt;/code> et ajoutez-y des portes.&lt;/li>
&lt;li>&lt;strong>Compilation&lt;/strong> : Optimisez le circuit pour le backend d&amp;rsquo;exécution (machine réelle ou simulateur).&lt;/li>
&lt;li>&lt;strong>Exécution&lt;/strong> : Envoyez le job au backend et obtenez les résultats.&lt;/li>
&lt;li>&lt;strong>Analyse&lt;/strong> : Tracez des histogrammes des résultats de mesure, etc.&lt;/li>
&lt;/ol>
&lt;hr>
&lt;h2 id="5-pratique--construction-dun-circuit-pour-créer-un-état-de-bell-intrication-quantique">5. Pratique : Construction d&amp;rsquo;un circuit pour créer un état de Bell (intrication quantique)
&lt;/h2>&lt;p>Essayons de créer « l&amp;rsquo;intrication quantique (état de Bell) » apprise en théorie avec Qiskit. L&amp;rsquo;état cible est $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$.&lt;/p>
&lt;h3 id="51-conception-du-circuit">5.1 Conception du circuit
&lt;/h3>&lt;p>Pour créer un état de Bell, suivez ces étapes :&lt;/p>
&lt;ol>
&lt;li>Préparez deux qubits (l&amp;rsquo;état initial est $|0\rangle$ pour les deux).&lt;/li>
&lt;li>Appliquez une porte de Hadamard (H) au premier qubit pour le mettre dans un état superposé.&lt;/li>
&lt;li>Appliquez une porte CNOT avec le premier qubit comme &amp;ldquo;bit de contrôle&amp;rdquo; et le deuxième qubit comme &amp;ldquo;bit cible&amp;rdquo;.&lt;/li>
&lt;li>Effectuez une mesure (Measure) pour lire les résultats.&lt;/li>
&lt;/ol>
&lt;h3 id="52-implémentation-du-code-pythonqiskit">5.2 Implémentation du code Python/Qiskit
&lt;/h3>&lt;p>Examinons le code réel.&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. Initialisation du circuit&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Créer un circuit quantique avec 2 qubits et 2 bits classiques&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. Application de la porte H&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Appliquer la porte de Hadamard au 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. Application de la porte CNOT&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Appliquer CNOT avec q0 comme bit de contrôle et q1 comme bit cible&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. Mesure&lt;/span>
&lt;/span>&lt;/span>&lt;span class="line">&lt;span class="cl">&lt;span class="c1"># Mesurer les qubits 0 et 1 et les écrire respectivement dans les bits classiques 0 et 1&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"># Dessiner le diagramme du circuit (en utilisant 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>Lorsque vous exécutez ce code, le schéma de circuit quantique suivant s&amp;rsquo;affiche en art ASCII sur la 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> représente la porte de Hadamard, la combinaison de &lt;code>■&lt;/code> et &lt;code>X&lt;/code> représente la porte CNOT, et &lt;code>M&lt;/code> représente la mesure.&lt;/p>
&lt;h3 id="53-exécution-sur-le-simulateur-et-interprétation-des-résultats">5.3 Exécution sur le simulateur et interprétation des résultats
&lt;/h3>&lt;p>Ensuite, nous allons exécuter ce circuit sur le simulateur hautes performances d&amp;rsquo;IBM &lt;code>Aer&lt;/code> et vérifier les résultats.&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"># Obtenir le backend du simulateur 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"># Transpiler (optimiser) le circuit pour le simulateur&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"># Exécuter le circuit (ici, exécution de 1000 tirs)&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"># Obtenir le résultat&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"># Obtenir le nombre d&amp;#39;observations (counts) des états&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">Résultat de mesure :&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"># Tracer l&amp;#39;histogramme&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>Interprétation des résultats&lt;/strong>&lt;/p>
&lt;p>La sortie de la console devrait ressembler à ceci :
&lt;code>Résultat de mesure : {'00': 495, '11': 505}&lt;/code>
(* Les probabilités étant aléatoires, les valeurs fluctueront légèrement à chaque exécution)&lt;/p>
&lt;p>Dans un environnement de simulation idéal, les résultats de mesure pour &lt;code>00&lt;/code> et &lt;code>11&lt;/code> sont observés à environ 50 % chacun, tandis que &lt;code>01&lt;/code> et &lt;code>10&lt;/code> ne sont pas du tout observés.
Cela correspond parfaitement à la prédiction théorique de l&amp;rsquo;état de Bell $|\Phi^+\rangle = \frac{|00\rangle + |11\rangle}{\sqrt{2}}$ que nous avons créé. &amp;ldquo;L&amp;rsquo;intrication quantique&amp;rdquo;, où si le premier qubit est 0 le second est toujours 0, et s&amp;rsquo;il est 1 le second est toujours 1, est simulée avec précision.&lt;/p>
&lt;p>Notez que lors de l&amp;rsquo;exécution sur une véritable machine quantique (IBM Quantum Hardware), en raison de l&amp;rsquo;influence du bruit (décohérence quantique et erreurs de porte), &lt;code>01&lt;/code> ou &lt;code>10&lt;/code> peuvent être légèrement observés. Comment réduire ce bruit (correction d&amp;rsquo;erreurs quantiques) est l&amp;rsquo;un des plus grand défis du développement actuel des ordinateurs quantiques.&lt;/p>
&lt;hr>
&lt;h2 id="6-mise-à-léchelle-vers-des-algorithmes-plus-avancés">6. Mise à l&amp;rsquo;échelle vers des algorithmes plus avancés
&lt;/h2>&lt;p>La création d&amp;rsquo;un état de Bell est comparable au &amp;ldquo;Hello World&amp;rdquo; de la programmation quantique. En développant cela plus loin, il est possible de construire de puissants algorithmes surpassant les ordinateurs classiques.&lt;/p>
&lt;h3 id="61-algorithme-de-deutsch-jozsa-deutsch-jozsa-algorithm">6.1 Algorithme de Deutsch-Jozsa (Deutsch-Jozsa Algorithm)
&lt;/h3>&lt;p>Il s&amp;rsquo;agit du problème de déterminer si une fonction donnée $f(x)$ est une &amp;ldquo;fonction constante (sort toujours 0 ou toujours 1 indépendamment de l&amp;rsquo;entrée)&amp;rdquo; ou une &amp;ldquo;fonction équilibrée (sort 0 pour la moitié des entrées et 1 pour l&amp;rsquo;autre moitié)&amp;rdquo;.
Un ordinateur classique nécessite dans le pire des cas $2^{n-1} + 1$ évaluations de la fonction, mais l&amp;rsquo;algorithme de Deutsch-Jozsa peut prendre cette décision avec &lt;strong>une seule évaluation&lt;/strong> en utilisant le parallélisme quantique. Ceci illustre le modèle de base d&amp;rsquo;un algorithme quantique : entrer un état superposé, utiliser l&amp;rsquo;interférence (Interference) pour annuler les états inutiles, et amplifier la réponse souhaitée.&lt;/p>
&lt;h3 id="62-algorithme-de-grover-grovers-algorithm">6.2 Algorithme de Grover (Grover&amp;rsquo;s Algorithm)
&lt;/h3>&lt;p>Dans le problème de recherche d&amp;rsquo;une donnée spécifique parmi $N$ bases de données non triées, alors qu&amp;rsquo;un algorithme classique nécessite en moyenne $N/2$ calculs, l&amp;rsquo;algorithme de Grover permet de trouver la donnée cible en $\sqrt{N}$ fois.
Cet algorithme utilise une boîte noire appelée &amp;ldquo;Oracle (Oracle)&amp;rdquo; pour inverser la phase de la solution cible, puis effectue une &amp;ldquo;amplification d&amp;rsquo;amplitude (Amplitude Amplification)&amp;rdquo; pour augmenter considérablement la probabilité que la solution cible soit observée.&lt;/p>
&lt;div class="mermaid">graph TD
A["Initialisation (superposition de tous les états)"] --> B["Oracle (inversion de la phase de la bonne réponse)"]
B --> C["Opérateur de diffusion (amplification de l'amplitude par inversion autour de la moyenne)"]
C --> D{"Probabilité suffisante atteinte ?"}
D -- "No" --> B
D -- "Yes" --> E["Mesure"]&lt;/div>
&lt;hr>
&lt;h2 id="7-conclusion-et-apprentissage-futur">7. Conclusion et apprentissage futur
&lt;/h2>&lt;p>Dans cet article, nous avons expliqué en détail les concepts fondamentaux du calcul quantique tels que la superposition et l&amp;rsquo;intrication quantique, la manipulation de portes logiques quantiques à l&amp;rsquo;aide de Qiskit, puis la construction, la simulation et l&amp;rsquo;interprétation des résultats d&amp;rsquo;un état de Bell.&lt;/p>
&lt;p>Qiskit pouvant être écrit en Python, un langage familier, c&amp;rsquo;est un outil puissant qui permet de surmonter les barrières mathématiques et physiques pour se concentrer sur la construction d&amp;rsquo;algorithmes. Les ordinateurs quantiques sont actuellement à l&amp;rsquo;ère des dispositifs quantiques à échelle intermédiaire bruités (NISQ : Noisy Intermediate-Scale Quantum), mais la recherche appliquée progresse rapidement dans le monde entier dans de nombreux domaines tels que l&amp;rsquo;apprentissage automatique (Quantum Machine Learning), la simulation chimique (Quantum Chemistry) et la cryptanalyse.&lt;/p>
&lt;p>Profitez de cette occasion pour créer vous-même divers circuits quantiques à l&amp;rsquo;aide de Qiskit et essayez de les faire fonctionner sur de véritables processeurs IBM Quantum. Vous devriez pouvoir expérimenter par vous-même le paradigme informatique du futur.&lt;/p>
&lt;h3 id="références">Références
&lt;/h3>&lt;ul>
&lt;li>&lt;a class="link" href="https://qiskit.org/documentation/" target="_blank" rel="noopener"
>Documentation officielle de 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> - Texte officiel recommandé pour ceux qui souhaitent approfondir leurs connaissances sur le contexte mathématique et les algorithmes&lt;/li>
&lt;li>IBM Quantum Learning&lt;/li>
&lt;/ul>
&lt;p>Bienvenue dans le monde quantique !&lt;/p></description></item><item><title>Qu'est-ce que la suprématie quantique ? Les dernières tendances de Google et IBM</title><link>http://kenji.blog/fr/p/what-is-quantum-supremacy-google-ibm/</link><pubDate>Fri, 11 Sep 2026 18:00:00 +0900</pubDate><guid>http://kenji.blog/fr/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 Qu'est-ce que la suprématie quantique ? Les dernières tendances de Google et IBM" />&lt;h2 id="1-introduction--laube-de-linformatique-quantique-et-la--suprématie-quantique-">1. Introduction : L&amp;rsquo;aube de l&amp;rsquo;informatique quantique et la « Suprématie quantique »
&lt;/h2>&lt;p>L&amp;rsquo;informatique quantique recèle le potentiel de résoudre des problèmes complexes, insolubles dans un délai réaliste par des ordinateurs classiques (les PC et les superordinateurs que nous utilisons quotidiennement), en appliquant les principes fondamentaux de la physique, à savoir la mécanique quantique, au traitement de l&amp;rsquo;information. Pendant longtemps, ce domaine a été principalement limité à la recherche théorique, mais ces dernières années, les progrès rapides du matériel ont intensifié la course vers une application pratique.&lt;/p>
&lt;p>Parmi ces développements, l&amp;rsquo;un des mots-clés ayant attiré le plus d&amp;rsquo;attention est la « Suprématie quantique » (Quantum Supremacy). Cela désigne le moment où un ordinateur quantique démontre une puissance de calcul écrasante par rapport à un ordinateur classique pour une tâche de calcul spécifique. Dans cet article, nous partirons de la définition rigoureuse de la suprématie quantique, puis nous expliquerons en détail l&amp;rsquo;expérience du processeur « Sycamore » de Google, annoncée en 2019 comme ayant atteint ce jalon historique pour la première fois au monde. Nous aborderons également la réfutation et l&amp;rsquo;approche unique d&amp;rsquo;IBM, ainsi que les dernières tendances vers la « Correction d&amp;rsquo;erreurs quantiques » (Quantum Error Correction : QEC) et le « Calcul quantique tolérant aux pannes » (Fault-Tolerant Quantum Computing : FTQC), qui constituent les obstacles majeurs à une véritable mise en pratique, tout en approfondissant les aspects techniques et mathématiques.&lt;/p>
&lt;hr>
&lt;h2 id="2-contexte-théorique--fondements-du-calcul-quantique-et-classes-de-complexité">2. Contexte théorique : Fondements du calcul quantique et classes de complexité
&lt;/h2>&lt;p>Pour comprendre la suprématie quantique, il est d&amp;rsquo;abord nécessaire d&amp;rsquo;appréhender les fondements mathématiques du calcul quantique et son positionnement dans la théorie de la complexité algorithmique.&lt;/p>
&lt;h3 id="qubits-et-superposition">Qubits et Superposition
&lt;/h3>&lt;p>Alors que la plus petite unité d&amp;rsquo;information dans un ordinateur classique est le bit (0 ou 1), un ordinateur quantique utilise le qubit (Quantum bit). L&amp;rsquo;état d&amp;rsquo;un seul qubit $|\psi\rangle$ est représenté par une combinaison linéaire complexe des états de base $|0\rangle$ et $|1\rangle$.&lt;/p>
$$
|\psi\rangle = \alpha|0\rangle + \beta|1\rangle
$$
&lt;p>Ici, $\alpha, \beta \in \mathbb{C}$, et ils satisfont la condition de normalisation $|\alpha|^2 + |\beta|^2 = 1$. Cette propriété est appelée « Superposition » (Superposition).&lt;/p>
&lt;h3 id="intrication-entanglement-et-produit-tensoriel">Intrication (Entanglement) et Produit tensoriel
&lt;/h3>&lt;p>Lorsqu&amp;rsquo;il existe plusieurs qubits, l&amp;rsquo;état du système global est représenté par le produit tensoriel des espaces d&amp;rsquo;états des qubits individuels. Un système de $n$ qubits devient un vecteur sur un espace de Hilbert de dimension $2^n$, $\mathcal{H}^{\otimes n}$.&lt;/p>
$$
|\Psi\rangle = \sum_{x \in \{0, 1\}^n} c_x |x\rangle
$$
&lt;p>Ici, $\sum |c_x|^2 = 1$. L&amp;rsquo;état dans lequel les qubits ne sont pas indépendants et où l&amp;rsquo;état de l&amp;rsquo;un dépend de l&amp;rsquo;autre est appelé « Intrication quantique » (Quantum Entanglement). Grâce à cela, un ordinateur quantique possède le potentiel de traiter simultanément un espace d&amp;rsquo;états exponentiellement vaste.&lt;/p>
&lt;h3 id="définition-de-la-suprématie-quantique-dans-la-théorie-de-la-complexité-algorithmique">Définition de la suprématie quantique dans la théorie de la complexité algorithmique
&lt;/h3>&lt;p>Dans la théorie de la complexité algorithmique, la classe des problèmes pouvant être résolus efficacement (en temps polynomial) par un ordinateur classique est appelée &lt;strong>BPP&lt;/strong> (Bounded-error Probabilistic Polynomial time). D&amp;rsquo;autre part, la classe des problèmes pouvant être résolus efficacement par un ordinateur quantique est &lt;strong>BQP&lt;/strong> (Bounded-error Quantum Polynomial time).&lt;/p>
&lt;p>Démontrer la suprématie quantique signifie « exécuter une tâche spécifique qui est incluse dans BQP mais pas dans BPP (ou dont la probabilité d&amp;rsquo;y être est extrêmement faible) sur du matériel quantique réel, et surpasser en temps et en ressources une simulation par un superordinateur classique ». On peut dire que c&amp;rsquo;est une tentative historique de réfuter par une expérience physique la thèse étendue de Church-Turing (« tout modèle de calcul physiquement réalisable peut être simulé en temps polynomial par une machine de Turing probabiliste »).&lt;/p>
&lt;hr>
&lt;h2 id="3-2019--démonstration-de-la-suprématie-quantique-par-google">3. 2019 : Démonstration de la suprématie quantique par Google
&lt;/h2>&lt;p>En octobre 2019, l&amp;rsquo;équipe Google Quantum AI a annoncé dans la revue scientifique &lt;em>Nature&lt;/em> avoir atteint la suprématie quantique en utilisant le processeur supraconducteur « Sycamore » de 53 qubits.&lt;/p>
&lt;h3 id="architecture-du-processeur-sycamore">Architecture du processeur Sycamore
&lt;/h3>&lt;p>Le processeur Sycamore est composé de 54 qubits supraconducteurs de type Transmon arrangés dans une grille bidimensionnelle (un qubit étant défectueux lors de l&amp;rsquo;expérience, 53 ont été utilisés). Des coupleurs ajustables (Tunable Couplers) sont placés entre les qubits adjacents, permettant de réaliser des portes à 2 qubits (un hybride entre la porte iSWAP et la porte Z contrôlée) rapides et très précises.&lt;/p>
&lt;div class="mermaid">graph TD
A["Entrée d'algorithme quantique"] --> B["Processeur Sycamore (53 Qubits)"]
B --> C["Appliquer des portes quantiques aléatoires"]
C --> D["Mesurer les états quantiques (Chaînes de bits)"]
D --> E["Évaluation par entropie croisée (XEB)"]
E --> F["Vérifier la suprématie quantique"]&lt;/div>
&lt;h3 id="échantillonnage-de-circuits-quantiques-aléatoires-random-circuit-sampling--rcs">Échantillonnage de circuits quantiques aléatoires (Random Circuit Sampling : RCS)
&lt;/h3>&lt;p>La tâche choisie par Google est « l&amp;rsquo;échantillonnage de circuits quantiques aléatoires ». Cela consiste à appliquer de manière répétée des portes quantiques à un qubit et à deux qubits choisies au hasard sur plusieurs cycles (profondeur $m$), puis à effectuer un échantillonnage à partir de la distribution de probabilité des chaînes de bits obtenues en mesurant l&amp;rsquo;état final.&lt;/p>
&lt;p>La probabilité d&amp;rsquo;obtenir une chaîne de bits $x$ à partir d&amp;rsquo;un circuit quantique aléatoire idéal (sans bruit) ne suit pas une distribution uniforme, mais présente un motif semblable à des franges d&amp;rsquo;interférence, appelé distribution de Porter-Thomas (Porter-Thomas distribution). Pour échantillonner à partir de cette distribution avec un ordinateur classique, il est nécessaire de simuler l&amp;rsquo;ensemble du vecteur d&amp;rsquo;état, et la complexité de calcul augmente de manière exponentielle avec le nombre de qubits $n$ et la profondeur du circuit $m$.&lt;/p>
&lt;h3 id="évaluation-de-la-fidélité-fidelity--évaluation-par-entropie-croisée-linéaire-xeb">Évaluation de la fidélité (Fidelity) : Évaluation par entropie croisée linéaire (XEB)
&lt;/h3>&lt;p>Pour prouver que les résultats de l&amp;rsquo;expérience n&amp;rsquo;étaient pas simplement du bruit, mais bien les résultats d&amp;rsquo;un calcul quantique réel, Google a utilisé l&amp;rsquo;évaluation par entropie croisée linéaire (Linear Cross-Entropy Benchmarking : XEB). La probabilité idéale $P(x_i)$ du circuit pour la chaîne de bits $x_i$ obtenue lors de l&amp;rsquo;expérience est calculée par un ordinateur classique, et la fidélité $\mathcal{F}_{\text{XEB}}$ est déterminée par la formule suivante.&lt;/p>
$$
\mathcal{F}_{\text{XEB}} = 2^n \langle P(x_i) \rangle_{i} - 1
$$
&lt;p>Si $\mathcal{F}_{\text{XEB}}$ est de 0, cela signifie un bruit complet, et s&amp;rsquo;il est de 1, cela signifie un processeur quantique idéal sans bruit. Le processeur Sycamore a atteint $\mathcal{F}_{\text{XEB}} \approx 0,002$ (0,2 %) pour un circuit d&amp;rsquo;une profondeur de 20. Bien que cela paraisse faible au premier abord, il s&amp;rsquo;agissait d&amp;rsquo;une valeur statistiquement significative supérieure à zéro, et d&amp;rsquo;un exploit remarquable ayant réussi à contrôler un espace d&amp;rsquo;états de $2^{53} \approx 9 \times 10^{15}$.&lt;/p>
&lt;p>Le taux d&amp;rsquo;erreur global a été modélisé de manière approximative comme le produit des erreurs de portes individuelles, des erreurs de mesure, 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>(* $e_g$ correspond à l&amp;rsquo;erreur de porte, $e_{RO}$ à l&amp;rsquo;erreur de mesure)&lt;/p>
&lt;p>Google a affirmé qu&amp;rsquo;il faudrait environ 10 000 ans pour simuler ce circuit sur le superordinateur classique (Summit). En revanche, Sycamore a terminé l&amp;rsquo;échantillonnage en seulement 200 secondes.&lt;/p>
&lt;hr>
&lt;h2 id="4-la-réfutation-dibm--de-la--suprématie--à-l-utilité--utility">4. La réfutation d&amp;rsquo;IBM : De la « Suprématie » à l&amp;rsquo;« Utilité » (Utility)
&lt;/h2>&lt;p>L&amp;rsquo;annonce de Google a provoqué une onde de choc dans le monde entier, mais IBM, qui a développé le plus grand superordinateur du monde « Summit » et qui est également un leader dans le développement d&amp;rsquo;ordinateurs quantiques, a immédiatement publié un article pour réfuter cette affirmation.&lt;/p>
&lt;h3 id="amélioration-de-la-simulation-classique-par-contraction-de-réseaux-tensoriels">Amélioration de la simulation classique par contraction de réseaux tensoriels
&lt;/h3>&lt;p>Le cœur de la réfutation d&amp;rsquo;IBM résidait dans le fait que « l&amp;rsquo;optimisation des algorithmes et des ressources du côté des ordinateurs classiques était insuffisante ». Google avait estimé le délai de 10 000 ans en se basant sur un simulateur de vecteur d&amp;rsquo;état calculant directement l&amp;rsquo;évolution temporelle de l&amp;rsquo;équation de Schrödinger. IBM a cependant souligné que l&amp;rsquo;utilisation d&amp;rsquo;une méthode appelée « Réseaux tensoriels » (Tensor Network) permettait de réduire drastiquement le temps de simulation.&lt;/p>
&lt;p>Dans les réseaux tensoriels, les opérations de portes d&amp;rsquo;un circuit quantique sont représentées comme des calculs de tableaux multidimensionnels (tenseurs), et l&amp;rsquo;ordre de la « contraction » (Contraction) du réseau est optimisé. De plus, IBM a affirmé qu&amp;rsquo;en exploitant pleinement le stockage massif de 250 Po de Summit (hiérarchisation du disque et de la mémoire), il était possible de réaliser une simulation de plus haute précision en seulement « 2,5 jours » tout en conservant l&amp;rsquo;intégralité du vecteur d&amp;rsquo;état.&lt;/p>
&lt;h3 id="avantage-quantique-quantum-advantage-et-utilité-quantique-quantum-utility">Avantage quantique (Quantum Advantage) et Utilité quantique (Quantum Utility)
&lt;/h3>&lt;p>À la suite de ce débat, la tendance générale de l&amp;rsquo;industrie est passée de l&amp;rsquo;obsession d&amp;rsquo;« exécuter une tâche artificielle impossible classiquement (Supremacy) » à celle de « démontrer un avantage substantiel par rapport aux approches classiques sur des problèmes utiles du monde réel (Quantum Advantage) », puis à la phase où « l&amp;rsquo;ordinateur quantique agit comme un nouvel outil de découverte scientifique (Quantum Utility) ».&lt;/p>
&lt;p>IBM elle-même évite le terme « suprématie » et propose des métriques de performance globale des processeurs quantiques telles que le « Volume quantique » (Quantum Volume) ou les « CLOPS (Circuit Layer Operations Per Second) », en poursuivant un développement qui met l&amp;rsquo;accent sur l&amp;rsquo;équilibre entre l&amp;rsquo;échelle et la qualité du matériel.&lt;/p>
&lt;div class="mermaid">timeline
title "L'évolution des jalons quantiques"
2019 : "Google Sycamore (53Q)" : "Annonce de la suprématie quantique"
2019 : "Réfutation d'IBM" : "Simulation sur superordinateur Summit en 2,5 jours"
2021 : "IBM Eagle (127Q)" : "Franchissement de la barre des 100 qubits"
2022 : "IBM Osprey (433Q)" : "Avancement de l'échelle des processeurs"
2023 : "Code de surface Google" : "Mise à l'échelle de la correction d'erreurs (d=3 à d=5)"
2023 : "Utilité quantique d'IBM" : "Simulation de modèle de spin complexe sur 127Q"
2024 : "Au-delà" : "Ère des qubits logiques et de l'atténuation des erreurs"&lt;/div>
&lt;hr>
&lt;h2 id="5-la-prochaine-frontière--atténuation-des-erreurs-error-mitigation-et-correction-derreurs-quantiques-qec">5. La prochaine frontière : Atténuation des erreurs (Error Mitigation) et Correction d&amp;rsquo;erreurs quantiques (QEC)
&lt;/h2>&lt;p>Les ordinateurs quantiques actuels sont appelés « NISQ (Noisy Intermediate-Scale Quantum) ». Ils sont sensibles aux bruits (erreurs dues aux interactions avec l&amp;rsquo;environnement externe ou à des imperfections de contrôle), et lors de longs calculs, les résultats se retrouvent noyés dans le bruit. Pour surmonter ce problème, il existe deux grandes approches : l&amp;rsquo;« Atténuation des erreurs » (Error Mitigation) et la « Correction d&amp;rsquo;erreurs quantiques » (Quantum Error Correction).&lt;/p>
&lt;h3 id="atténuation-des-erreurs-error-mitigation">Atténuation des erreurs (Error Mitigation)
&lt;/h3>&lt;p>L&amp;rsquo;atténuation des erreurs est une méthode qui élimine l&amp;rsquo;impact du bruit de la valeur attendue des résultats de calcul par un post-traitement classique, sans modifier le matériel quantique. En 2023, en combinant son processeur « Eagle » de 127 qubits avec des techniques d&amp;rsquo;atténuation des erreurs telles que l&amp;rsquo;« Extrapolation du bruit à zéro » (Zero-Noise Extrapolation : ZNE), IBM a atteint une précision dépassant la méthode des réseaux tensoriels approximatifs de pointe dans la simulation de l&amp;rsquo;évolution temporelle d&amp;rsquo;un modèle d&amp;rsquo;Ising complexe, démontrant ainsi l&amp;rsquo;« Utilité quantique » (Quantum Utility).&lt;/p>
&lt;h3 id="correction-derreurs-quantiques-qec-et-qubits-logiques">Correction d&amp;rsquo;erreurs quantiques (QEC) et Qubits logiques
&lt;/h3>&lt;p>Cependant, pour pouvoir finalement exécuter n&amp;rsquo;importe quel algorithme complexe (par exemple, l&amp;rsquo;algorithme de factorisation de Shor ou des calculs de chimie quantique complexes), l&amp;rsquo;atténuation des erreurs seule est insuffisante, et la « Correction d&amp;rsquo;erreurs quantiques » (QEC), qui détecte et corrige dynamiquement les erreurs, est indispensable.&lt;/p>
&lt;p>L&amp;rsquo;approche dominante en matière de QEC est le « Code de surface » (Surface Code). Il s&amp;rsquo;agit d&amp;rsquo;une méthode consistant à arranger plusieurs qubits physiques (qubits de données) dans une grille bidimensionnelle, et à placer des qubits de mesure (qubits ancilla) entre eux pour effectuer de manière continue des vérifications de parité appelées « Stabilisateurs » (Stabilizer).&lt;/p>
&lt;div class="mermaid">graph LR
Q1["Qubit de données (Données)"] --- M1["Mesurer le stabilisateur X (Ancilla)"]
Q2["Qubit de données (Données)"] --- M1
Q3["Qubit de données (Données)"] --- M2["Mesurer le stabilisateur Z (Ancilla)"]
Q4["Qubit de données (Données)"] --- M2
M1 --> EC["Décodage du syndrome d'erreur (Classique)"]
M2 --> EC
EC --> LQ["Mise à jour de l'état du qubit logique"]&lt;/div>
&lt;h4 id="théorème-du-seuil-threshold-theorem-et-distance-d">Théorème du seuil (Threshold Theorem) et Distance $d$
&lt;/h4>&lt;p>La correction d&amp;rsquo;erreurs quantiques s&amp;rsquo;appuie sur le « Théorème du seuil ». Si le taux d&amp;rsquo;erreur des qubits physiques $p$ est inférieur à un certain seuil $p_{th}$ (environ 1 % pour le code de surface), il est possible de réduire de manière exponentielle le taux d&amp;rsquo;erreur logique $p_L$ en augmentant la distance de code (Distance) $d$ (c&amp;rsquo;est-à-dire en allouant plus de qubits physiques à un seul qubit logique).&lt;/p>
&lt;p>La formule approximative du taux d&amp;rsquo;erreur logique s&amp;rsquo;exprime comme suit :&lt;/p>
$$
p_L \approx \Lambda \left( \frac{p}{p_{th}} \right)^{\frac{d+1}{2}}
$$
&lt;p>Ici, $\Lambda$ est une constante. Si $p &lt; p_{th}$, plus $d$ est grand, plus $p_L$ diminue. Cependant, si $p > p_{th}$, l&amp;rsquo;ajout de qubits physiques entraîne une accumulation de bruit, détériorant le taux d&amp;rsquo;erreur logique.&lt;/p>
&lt;h4 id="jalon-de-google-en-2023--démonstration-de-la-réduction-des-erreurs-par-lextension-de-la-distance">Jalon de Google en 2023 : Démonstration de la réduction des erreurs par l&amp;rsquo;extension de la distance
&lt;/h4>&lt;p>En février 2023, Google a publié un article monumental dans &lt;em>Nature&lt;/em>. En utilisant son processeur Sycamore de 3ème génération, ils ont démontré pour la première fois au monde qu&amp;rsquo;en étendant la distance du code de surface de $d=3$ (utilisation de 17 qubits physiques) à $d=5$ (utilisation de 49 qubits physiques), le taux d&amp;rsquo;erreur logique diminuait légèrement, passant de 3,028 % à 2,914 %.&lt;/p>
&lt;p>Cela signifie qu&amp;rsquo;ils ont pénétré dans la zone où $p &lt; p_{th}$, et cela indique que la validation de principe (Proof of Concept) la plus importante vers le FTQC, à savoir que plus on augmente le nombre de qubits physiques, plus les performances s&amp;rsquo;améliorent, a été réalisée.&lt;/p>
&lt;hr>
&lt;h2 id="6-feuille-de-route-et-perspectives-vers-le-ftqc-calcul-quantique-tolérant-aux-pannes">6. Feuille de route et perspectives vers le FTQC (Calcul quantique tolérant aux pannes)
&lt;/h2>&lt;p>Google et IBM, bien qu&amp;rsquo;adoptant des architectures et des approches différentes, se livrent à une course au développement acharnée vers leur objectif final, le FTQC (Fault-Tolerant Quantum Computing).&lt;/p>
&lt;h3 id="lapproche-dibm--modularisation-et-grille-heavy-hex">L&amp;rsquo;approche d&amp;rsquo;IBM : Modularisation et grille Heavy-Hex
&lt;/h3>&lt;p>IBM se concentre sur la mise à l&amp;rsquo;échelle de ses processeurs tout en cherchant à réduire drastiquement le taux d&amp;rsquo;erreur. Tout en repoussant les limites des puces uniques avec « Eagle (127Q) », « Osprey (433Q) » et « Condor (1121Q) », ils ont annoncé une architecture modulaire appelée « Quantum System Two ». De plus, ils adoptent une « Grille Heavy-Hex » (Heavy-Hex lattice) pour la topologie de couplage de leurs qubits, ce qui réduit la diaphonie (crosstalk) indésirable et augmente la stabilité. La stratégie d&amp;rsquo;IBM est une approche hybride : poursuivre l&amp;rsquo;utilité à court terme grâce à une atténuation avancée des erreurs, tout en introduisant progressivement la QEC.&lt;/p>
&lt;h3 id="lapproche-de-google--amélioration-de-la-qualité-des-qubits-logiques">L&amp;rsquo;approche de Google : Amélioration de la qualité des qubits logiques
&lt;/h3>&lt;p>La stratégie de Google met davantage l&amp;rsquo;accent sur la réduction extrême du taux d&amp;rsquo;erreur d&amp;rsquo;un seul qubit logique (par exemple, jusqu&amp;rsquo;à $10^{-6}$) plutôt que sur l&amp;rsquo;augmentation rapide du nombre de qubits physiques. Sur cette base, ils visent à établir une technologie de transfert des états quantiques entre les modules (Quantum Interconnects) et à créer un système à grande échelle faisant fonctionner plusieurs milliers à plusieurs dizaines de milliers de qubits physiques en parallèle.&lt;/p>
&lt;p>La mise en œuvre de protocoles permettant d&amp;rsquo;exécuter des portes non-Clifford avec une tolérance aux pannes, comme la distillation d&amp;rsquo;états magiques (Magic State Distillation), constituera également un obstacle technique majeur à l&amp;rsquo;avenir. Pour exécuter un algorithme de Shor pratique capable de casser un chiffrement RSA de 2048 bits, il faudrait des milliers de qubits logiques avec un taux d&amp;rsquo;erreur inférieur à $10^{-8}$, ce qui équivaut à plusieurs millions ou dizaines de millions de qubits physiques, ce qui indique que le chemin est encore long.&lt;/p>
&lt;hr>
&lt;h2 id="7-conclusion">7. Conclusion
&lt;/h2>&lt;p>La « Suprématie quantique » a constitué une étape importante dans l&amp;rsquo;histoire des ordinateurs quantiques, prouvant physiquement le potentiel théorique de ces machines. La démonstration de Google en 2019 et la réfutation constructive d&amp;rsquo;IBM ont poussé l&amp;rsquo;ensemble de l&amp;rsquo;industrie au-delà d&amp;rsquo;une simple preuve théorique vers la poursuite d&amp;rsquo;une utilité réelle (Utility), puis vers l&amp;rsquo;ère de l&amp;rsquo;ingénierie à part entière menant au calcul quantique tolérant aux pannes (FTQC).&lt;/p>
&lt;p>Aujourd&amp;rsquo;hui, nous assistons à une période de transition entre les dispositifs NISQ remplis de bruit et les dispositifs à qubits logiques dotés d&amp;rsquo;une correction d&amp;rsquo;erreurs. Au cours des cinq à dix prochaines années, de nouvelles découvertes en science des matériaux, des révolutions dans le processus de découverte de médicaments, et des avancées majeures dans les problèmes d&amp;rsquo;optimisation deviendront réalité en tandem avec l&amp;rsquo;évolution de ce matériel quantique.&lt;/p>
&lt;p>Il faudra continuer de suivre de près les développements de Google, d&amp;rsquo;IBM, et des chercheurs du monde entier qui façonnent l&amp;rsquo;informatique de demain.&lt;/p></description></item><item><title>Comment la blockchain et les cryptomonnaies évolueront-elles à l'ère post-quantique ?</title><link>http://kenji.blog/fr/p/post-quantum-blockchain-and-crypto/</link><pubDate>Fri, 11 Sep 2026 17:00:00 +0900</pubDate><guid>http://kenji.blog/fr/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 Comment la blockchain et les cryptomonnaies évolueront-elles à l'ère post-quantique ?" />&lt;h2 id="1-introduction--lapproche-de-lère-post-quantique-et-la-crise-de-la-blockchain">1. Introduction : L&amp;rsquo;approche de l&amp;rsquo;ère post-quantique et la crise de la blockchain
&lt;/h2>&lt;p>Depuis la création du Bitcoin par Satoshi Nakamoto en 2009, la technologie de la blockchain s&amp;rsquo;est développée pour devenir l&amp;rsquo;infrastructure des systèmes financiers et des applications à travers le monde, en tant que « registre décentralisé et infalsifiable ». Cette sécurité robuste repose sur des technologies cryptographiques modernes : la &lt;strong>cryptographie à clé publique (Public Key Cryptography)&lt;/strong> et les &lt;strong>fonctions de hachage cryptographique (Cryptographic Hash Functions)&lt;/strong>.&lt;/p>
&lt;p>Ces technologies cryptographiques garantissent la sécurité en s&amp;rsquo;appuyant sur la « difficulté de calcul » mathématique, c&amp;rsquo;est-à-dire qu&amp;rsquo;un ordinateur classique (les PC ou supercalculateurs que nous utilisons aujourd&amp;rsquo;hui) mettrait un temps comparable à l&amp;rsquo;âge de l&amp;rsquo;univers pour les déchiffrer.&lt;/p>
&lt;p>Cependant, cette prémisse est sur le point d&amp;rsquo;être fondamentalement bouleversée par le développement rapide et la mise en pratique des &lt;strong>ordinateurs quantiques (Quantum Computers)&lt;/strong>, qui représentent la frontière de la physique et des sciences de l&amp;rsquo;information. Les ordinateurs quantiques, qui utilisent les propriétés de la mécanique quantique telles que la « superposition (Superposition) » et l&amp;rsquo;« intrication (Entanglement) », font preuve d&amp;rsquo;une puissance de calcul surpassant de loin les ordinateurs classiques pour certains problèmes mathématiques, ce que l&amp;rsquo;on appelle la « suprématie quantique (Quantum Supremacy) ».&lt;/p>
&lt;p>Dans cet article, nous explorerons en profondeur, d&amp;rsquo;un point de vue technique et mathématique, les menaces spécifiques auxquelles la technologie de la blockchain est confrontée à cause des ordinateurs quantiques, ainsi que les dernières tendances de la &lt;strong>cryptographie post-quantique (PQC : Post-Quantum Cryptography)&lt;/strong> qui s&amp;rsquo;annonce comme la solution, et les scénarios de transition pour les réseaux de crypto-actifs.&lt;/p>
&lt;hr>
&lt;h2 id="2-les-bases-de-linformatique-quantique-et-ses-2-grandes-menaces-pour-la-blockchain">2. Les bases de l&amp;rsquo;informatique quantique et ses 2 grandes menaces pour la blockchain
&lt;/h2>&lt;p>Les systèmes de blockchain actuels sont principalement constitués des deux éléments cryptographiques suivants, chacun étant exposé à des menaces différentes de la part des algorithmes quantiques.&lt;/p>
&lt;div class="mermaid">graph TD
A["Puissance de calcul phénoménale des ordinateurs quantiques"] --> B["Algorithme de Shor (Shor's Algorithm)"]
A --> C["Algorithme de Grover (Grover's Algorithm)"]
B --> D["Effondrement de la cryptographie à clé publique (ECDSA/RSA/DSA)"]
C --> E["Impact sur les fonctions de hachage cryptographique (SHA-256)"]
D --> F["Identification de la clé privée d'autrui et falsification de transactions"]
E --> G["Avantage dans le minage PoW et attaques sur certaines adresses"]
F --> H["Menace fatale et directe pour la blockchain"]
G --> I["Menace gérable par ajustement de l'algorithme (ex. augmentation de la taille de la clé)"]
style H fill:#ff9999,stroke:#cc0000,stroke-width:2px;
style I fill:#ffff99,stroke:#cccc00,stroke-width:2px;&lt;/div>
&lt;h3 id="21-les-fondements-de-la-cryptographie-sur-les-courbes-elliptiques-ecdsa-et-la-difficulté-de-calcul">2.1. Les fondements de la cryptographie sur les courbes elliptiques (ECDSA) et la difficulté de calcul
&lt;/h3>&lt;p>De nombreuses blockchains, dont le Bitcoin et l&amp;rsquo;Ethereum, utilisent l&amp;rsquo;&lt;strong>algorithme de signature numérique sur courbe elliptique (ECDSA : Elliptic Curve Digital Signature Algorithm)&lt;/strong> comme algorithme de signature numérique. Plus précisément, le Bitcoin utilise une courbe elliptique avec le paramètre &lt;code>secp256k1&lt;/code>.&lt;/p>
&lt;p>La sécurité de la cryptographie sur les courbes elliptiques dépend de la difficulté de calcul du &lt;strong>problème du logarithme discret sur courbe elliptique (ECDLP : Elliptic Curve Discrete Logarithm Problem)&lt;/strong>.
La courbe elliptique est définie par l&amp;rsquo;équation sous forme de Weierstrass suivante :&lt;/p>
$$
y^2 \equiv x^3 + ax + b \pmod{p}
$$
&lt;p>Pour le &lt;code>secp256k1&lt;/code> du Bitcoin, $a = 0, b = 7$, et $p$ est un très grand nombre premier.
Soit $G$ un point de base sur cette courbe, et $k$ la clé privée, qui est un très grand nombre entier de 256 bits choisi au hasard. Alors, la clé publique $K$ est obtenue par l&amp;rsquo;addition de $G$ à lui-même $k$ fois (multiplication scalaire).&lt;/p>
$$
K = k \times G = \underbrace{G + G + \dots + G}_{k \text{ fois}}
$$
&lt;p>En utilisant un ordinateur classique, calculer la clé privée $k$ à partir de la clé publique $K$ (calculer le logarithme discret) nécessite un temps de calcul exponentiel $\mathcal{O}(\sqrt{p})$ même avec les meilleurs algorithmes classiques tels que l&amp;rsquo;algorithme rho de Pollard. Pour une clé de 256 bits, environ $2^{128}$ opérations sont nécessaires, ce qui est impossible à résoudre même en faisant fonctionner les supercalculateurs actuels pendant des milliards d&amp;rsquo;années.&lt;/p>
&lt;h3 id="22-leffondrement-causé-par-lalgorithme-de-shor-shors-algorithm">2.2. L&amp;rsquo;effondrement causé par l&amp;rsquo;algorithme de Shor (Shor&amp;rsquo;s Algorithm)
&lt;/h3>&lt;p>Cependant, l&amp;rsquo;&lt;strong>algorithme de Shor&lt;/strong>, publié par Peter Shor en 1994, a complètement détruit cette hypothèse. L&amp;rsquo;algorithme de Shor a été initialement proposé pour résoudre le problème de la factorisation en nombres premiers (la base du chiffrement RSA) en temps polynomial, mais il s&amp;rsquo;applique également au problème du logarithme discret et au problème du logarithme discret sur courbe elliptique.&lt;/p>
&lt;p>Le cœur de l&amp;rsquo;algorithme de Shor réside dans l&amp;rsquo;utilisation de la &lt;strong>transformée de Fourier quantique (QFT : Quantum Fourier Transform)&lt;/strong> pour trouver rapidement la « période (Period) » d&amp;rsquo;une fonction.&lt;/p>
$$
\text{Complexité classique} = \mathcal{O}(2^{n/2}) \quad (n\text{ est la longueur en bits})
$$
$$
\text{Complexité de l'algorithme quantique} = \mathcal{O}(n^3)
$$
&lt;p>Ainsi, l&amp;rsquo;algorithme de Shor réduit considérablement un temps exponentiel à un &lt;strong>temps polynomial (Polynomial Time)&lt;/strong>. Si un ordinateur quantique doté d&amp;rsquo;un nombre suffisant de qubits logiques est achevé, il sera possible d&amp;rsquo;identifier la clé privée $k$ à partir de la clé publique $K$ publiée sur le réseau en quelques minutes ou quelques secondes. Par conséquent, un attaquant pourra facilement obtenir la clé privée du portefeuille de quelqu&amp;rsquo;un d&amp;rsquo;autre et prendre le contrôle total des fonds.&lt;/p>
&lt;h4 id="221-étapes-par-étapes-de-la-résolution-de-lecdlp-par-lalgorithme-de-shor">2.2.1 Étapes par étapes de la résolution de l&amp;rsquo;ECDLP par l&amp;rsquo;algorithme de Shor
&lt;/h4>&lt;p>Voyons étape par étape le processus interne par lequel un ordinateur quantique résout le problème du logarithme discret sur courbe elliptique (ECDLP).&lt;/p>
&lt;p>Définition du problème : Dans $K = k \times G$, $G$ et $K$ sont connus, et nous voulons trouver l&amp;rsquo;entier inconnu $k$ (la clé privée). Soit $N$ l&amp;rsquo;ordre de la courbe elliptique.&lt;/p>
&lt;p>&lt;strong>Étape 1 : Création de l&amp;rsquo;état de superposition&lt;/strong>
Tout d&amp;rsquo;abord, nous préparons deux registres quantiques et appliquons une porte de Hadamard (Hadamard Gate) à chacun d&amp;rsquo;eux pour créer un état de superposition de toutes les combinaisons possibles d&amp;rsquo;entiers.
&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>Étape 2 : Application de l&amp;rsquo;oracle quantique (évaluation de la fonction)&lt;/strong>
Ensuite, à l&amp;rsquo;aide d&amp;rsquo;un circuit quantique (oracle) qui effectue l&amp;rsquo;addition de points sur la courbe elliptique, nous calculons la fonction $f(x, y) = x \times G + y \times K$ dans le troisième registre.
&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>
Ce qui est important ici, c&amp;rsquo;est que puisque $K = k \times G$, cela peut être réécrit comme $f(x, y) = (x + y \cdot k) \times G$.&lt;/p>
&lt;p>&lt;strong>Étape 3 : Mesure du troisième registre&lt;/strong>
Lorsque le troisième registre est mesuré, il s&amp;rsquo;effondre sur un certain point $R$ sur la courbe elliptique. Par conséquent, les premier et deuxième registres s&amp;rsquo;effondrent dans un état de superposition des paires $(x, y)$ satisfaisant $x + y \cdot k \equiv c \pmod{N}$ (où $c$ est une 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>Étape 4 : Application de la transformée de Fourier quantique (QFT)&lt;/strong>
Cet état a une périodicité liée à la période $k$. En appliquant ici la transformée de Fourier quantique inverse (Inverse QFT), on provoque des interférences de phase et on convertit l&amp;rsquo;information de période en amplitude.&lt;/p>
&lt;p>&lt;strong>Étape 5 : Mesure et post-traitement classique&lt;/strong>
Lorsque les premier et deuxième registres sont mesurés, une valeur contenant des informations sur $k$ est obtenue avec une forte probabilité. En appliquant des algorithmes de théorie des nombres classiques tels que le développement en fractions continues (Continued Fractions) à la valeur mesurée, la clé privée inconnue $k$ peut être complètement identifiée.&lt;/p>
&lt;p>Le nombre de portes quantiques requis pour l&amp;rsquo;ensemble de ce processus est $\mathcal{O}(\log^3 N)$, ce qui permet de révéler la clé privée à une vitesse ultra-rapide, incomparable avec la recherche $\mathcal{O}(\sqrt{N})$ par un ordinateur classique.&lt;/p>
&lt;h3 id="23-lalgorithme-de-grover-grovers-algorithm-et-son-impact-sur-les-fonctions-de-hachage">2.3. L&amp;rsquo;algorithme de Grover (Grover&amp;rsquo;s Algorithm) et son impact sur les fonctions de hachage
&lt;/h3>&lt;p>L&amp;rsquo;autre menace est l&amp;rsquo;&lt;strong>algorithme de Grover&lt;/strong>, proposé par Lov Grover en 1996. Celui-ci a un impact majeur sur les fonctions de hachage (ex. : SHA-256).&lt;/p>
&lt;p>Dans la blockchain, les fonctions de hachage sont utilisées pour garantir l&amp;rsquo;intégrité des données, générer des adresses et servent de base au &lt;strong>minage PoW (Proof of Work)&lt;/strong> du Bitcoin. L&amp;rsquo;inversion d&amp;rsquo;une fonction de hachage (calcul de la préimage) peut être considérée comme un « problème de recherche dans une base de données non structurée », consistant à trouver une valeur d&amp;rsquo;entrée $x$ telle que $H(x) = y$ pour une valeur de sortie $y$ donnée.&lt;/p>
&lt;p>Dans un ordinateur classique, pour trouver la bonne réponse parmi $N$ possibilités, il faut en moyenne $\frac{N}{2}$ essais, et $N$ essais dans le pire des cas. En d&amp;rsquo;autres termes, la complexité est $\mathcal{O}(N)$.
Cependant, l&amp;rsquo;algorithme de Grover utilise une technique quantique appelée « amplification d&amp;rsquo;amplitude (Amplitude Amplification) ». En amplifiant itérativement l&amp;rsquo;amplitude de probabilité de l&amp;rsquo;état correspondant à la bonne réponse parmi toutes les possibilités dans un état de superposition, le temps de recherche est réduit à sa racine carrée.&lt;/p>
$$
\text{Complexité de l'algorithme de Grover} = \mathcal{O}(\sqrt{N})
$$
&lt;p>Dans le cas de SHA-256, puisque $N = 2^{256}$, une recherche exhaustive classique nécessiterait environ $2^{256}$ essais. Cependant, en utilisant l&amp;rsquo;algorithme de Grover, il suffit de $\sqrt{2^{256}} = 2^{128}$ essais. Cela signifie qu&amp;rsquo;une fonction de hachage de 256 bits voit son niveau de sécurité &lt;strong>effectivement divisé par deux, à 128 bits&lt;/strong>, face à un ordinateur quantique.&lt;/p>
&lt;h4 id="231-sha-256-survivra-t-il--quantum-supremacy-in-hashing">2.3.1. SHA-256 survivra-t-il ? (Quantum Supremacy in Hashing)
&lt;/h4>&lt;p>Bien que la sécurité soit réduite de moitié, « une sécurité de 128 bits » reste extrêmement solide. $2^{128}$ opérations représentent un chiffre astronomique même selon les standards technologiques actuels, nécessitant une échelle de temps comparable à la durée de vie de l&amp;rsquo;univers.
Par conséquent, il est largement considéré que &lt;strong>« SHA-256 maintiendra un niveau de sécurité pratique même face aux ordinateurs quantiques »&lt;/strong>. S&amp;rsquo;il s&amp;rsquo;avère nécessaire d&amp;rsquo;augmenter la marge de sécurité à l&amp;rsquo;avenir, il suffira simplement de doubler la longueur de sortie du hachage (par exemple, passer de SHA-256 à SHA-512) pour maintenir le niveau de sécurité classique de 256 bits dans le monde quantique.&lt;/p>
&lt;p>En conclusion, on peut dire que la menace quantique pesant sur les fonctions de hachage est « mineure et gérable », tandis que la menace sur la cryptographie à clé publique (ECDSA) est « fatale ».&lt;/p>
&lt;hr>
&lt;h2 id="3-analyse-des-impacts-concrets-sur-les-crypto-actifs-actuels-bitcoin-ethereum">3. Analyse des impacts concrets sur les crypto-actifs actuels (Bitcoin, Ethereum)
&lt;/h2>&lt;p>Dans un monde où le déchiffrement de l&amp;rsquo;ECDSA par un ordinateur quantique deviendrait possible, à quelles vulnérabilités spécifiques les réseaux de crypto-actifs seront-ils confrontés ? Nous ferons ici une analyse détaillée en prenant l&amp;rsquo;exemple du fonctionnement du Bitcoin, du point de vue du &lt;strong>« timing d&amp;rsquo;exposition de la clé publique »&lt;/strong>.&lt;/p>
&lt;h3 id="31-génération-dadresses-et--confidentialité--de-la-clé-publique">3.1. Génération d&amp;rsquo;adresses et « confidentialité » de la clé publique
&lt;/h3>&lt;p>Les adresses Bitcoin (P2PKH : Pay-to-Public-Key-Hash ou P2WPKH : Pay-to-Witness-Public-Key-Hash) n&amp;rsquo;utilisent pas la clé publique elle-même, mais un hachage multiple de la clé publique.&lt;/p>
$$
\text{Bitcoin Address} = \text{Base58Check}(\text{RIPEMD160}(\text{SHA256}(\text{Public Key})))
$$
&lt;p>Comme mentionné précédemment, les fonctions de hachage résistent aux attaques quantiques (l&amp;rsquo;algorithme de Grover), il est donc impossible, même pour un ordinateur quantique, de retrouver la « clé publique » d&amp;rsquo;origine à partir de « l&amp;rsquo;adresse » (la valeur de hachage).
En d&amp;rsquo;autres termes, pour &lt;strong>« une adresse inutilisée (qui n&amp;rsquo;a jamais envoyé de fonds) »&lt;/strong>, la clé publique n&amp;rsquo;est exposée nulle part sur la blockchain, et seule la valeur de hachage est enregistrée. Par conséquent, tant que la clé publique est inconnue, il n&amp;rsquo;y a pas de cible pour exécuter l&amp;rsquo;algorithme de Shor, et la clé privée ne peut pas être identifiée. On peut dire que les portefeuilles dans cet état sont sûrs sur le plan quantique (Quantum-safe).&lt;/p>
&lt;h3 id="32-la-vulnérabilité-fatale-lors-de-lenvoi-de-transactions-attaque-de-front-running">3.2. La vulnérabilité fatale lors de l&amp;rsquo;envoi de transactions (Attaque de front-running)
&lt;/h3>&lt;p>Le problème survient au moment où un utilisateur envoie des fonds.
Lorsqu&amp;rsquo;il diffuse (broadcast) une transaction sur le réseau, l&amp;rsquo;utilisateur doit inclure sa signature numérique ainsi que &lt;strong>sa propre clé publique dans les données de la transaction pour la vérification, et la rendre publique sur tout le réseau&lt;/strong>.&lt;/p>
&lt;div class="mermaid">sequenceDiagram
participant User as "Utilisateur (Alice)"
participant Mempool as "Mempool (Pool de transactions non confirmées)"
participant QuantumAttacker as "Attaquant quantique"
participant Miner as "Mineur (Génération de blocs)"
User->>Mempool: Envoi de la transaction (incluant la clé publique + signature)
Mempool-->>QuantumAttacker: Interception de la clé publique sur le réseau
note right of QuantumAttacker: Exécution de l'algorithme de Shor en quelques minutes&lt;br/>(Calcul de la clé privée à partir de la clé publique)
QuantumAttacker->>QuantumAttacker: Génération d'une nouvelle signature avec la clé privée d'Alice
QuantumAttacker->>Mempool: Diffusion d'une transaction frauduleuse avec des frais de minage plus élevés
Miner->>Miner: Inclusion prioritaire de la transaction frauduleuse avec des frais (Gas) élevés dans un bloc
Miner-->>User: Enregistrement sur la blockchain (Perte des fonds d'Alice)&lt;/div>
&lt;p>Une fois que la clé publique est envoyée au Mempool (la zone d&amp;rsquo;attente des transactions non confirmées), ces données sont partagées avec les nœuds du monde entier. Si un attaquant possède un ordinateur quantique ultra-rapide, il peut voler les fonds grâce au processus suivant :&lt;/p>
&lt;ol>
&lt;li>Intercepter la transaction légitime de l&amp;rsquo;utilisateur (Alice) depuis le Mempool et en &lt;strong>extraire la clé publique&lt;/strong>.&lt;/li>
&lt;li>Exécuter l&amp;rsquo;algorithme de Shor et &lt;strong>calculer la clé privée à partir de la clé publique en quelques minutes (avant que le bloc ne soit confirmé)&lt;/strong>.&lt;/li>
&lt;li>Utiliser la clé privée obtenue pour &lt;strong>créer une fausse transaction&lt;/strong> envoyant les fonds d&amp;rsquo;Alice vers l&amp;rsquo;adresse de l&amp;rsquo;attaquant.&lt;/li>
&lt;li>Définir pour cette fausse transaction des &lt;strong>frais de minage (Fee) beaucoup plus élevés&lt;/strong> que ceux de la transaction originale d&amp;rsquo;Alice et l&amp;rsquo;envoyer sur le réseau.&lt;/li>
&lt;/ol>
&lt;p>Les mineurs, obéissant aux incitations économiques, incluront en priorité la transaction avec les frais les plus élevés dans un bloc. Par conséquent, la transaction frauduleuse de l&amp;rsquo;attaquant sera confirmée en premier, et la transaction légitime d&amp;rsquo;Alice sera rejetée pour « fonds insuffisants (Double Spend) ».
Cette séquence d&amp;rsquo;événements est appelée &lt;strong>attaque de front-running (Front-running Attack)&lt;/strong>. Dans un monde où les ordinateurs quantiques sont devenus réalité, cela entraînera une situation effrayante où les fonds seront volés par des pirates informatiques à la seconde où quelqu&amp;rsquo;un appuiera sur le bouton d&amp;rsquo;envoi.&lt;/p>
&lt;h3 id="33-le-danger-des-adresses-réutilisées-et-des-anciennes-adresses-p2pk">3.3. Le danger des adresses réutilisées et des anciennes adresses (P2PK)
&lt;/h3>&lt;p>Un problème encore plus grave est que les adresses à partir desquelles des fonds ont été envoyés au moins une fois par le passé (comme lorsqu&amp;rsquo;elles sont réutilisées comme adresses de monnaie de retour) ont déjà leur clé publique enregistrée de manière permanente sur la blockchain. Celles-ci risquent de voir leur clé privée calculée et leur solde volé à tout moment, sans même attendre l&amp;rsquo;envoi d&amp;rsquo;une transaction.&lt;/p>
&lt;p>De plus, dans le format &lt;strong>P2PK (Pay-to-Public-Key)&lt;/strong>, qui était dominant autour de 2009-2010 et qui inclut les récompenses de minage initiales de Satoshi Nakamoto (plus d&amp;rsquo;un million de BTC), la clé publique elle-même, et non un hachage, était directement enregistrée sur la blockchain comme adresse. Ces énormes quantités de bitcoins dormants deviendront les cibles les plus faciles pour les ordinateurs quantiques, et pourraient déclencher un krach majeur des prix en étant volées en masse et déversées sur le marché.&lt;/p>
&lt;hr>
&lt;h2 id="4-scénarios-de-transition-vers-la-cryptographie-post-quantique-pqc--post-quantum-cryptography">4. Scénarios de transition vers la cryptographie post-quantique (PQC : Post-Quantum Cryptography)
&lt;/h2>&lt;p>Afin d&amp;rsquo;éviter la catastrophe du « Q-Day (le jour où les ordinateurs quantiques briseront la cryptographie) », la communauté cryptographique et celle de la blockchain prévoient de migrer vers une &lt;strong>cryptographie post-quantique (PQC)&lt;/strong> difficile à déchiffrer même avec des algorithmes quantiques.
Le National Institute of Standards and Technology (NIST) des États-Unis mène depuis de nombreuses années un processus de standardisation PQC, et après plusieurs phases d&amp;rsquo;évaluations rigoureuses, quelques systèmes de chiffrement prometteurs ont été sélectionnés comme normes finales.&lt;/p>
&lt;p>Nous expliquerons en détail les principaux algorithmes PQC qui attirent l&amp;rsquo;attention en tant qu&amp;rsquo;alternatives aux signatures numériques de la blockchain, ainsi que leurs mécanismes mathématiques.&lt;/p>
&lt;h3 id="41-signatures-basées-sur-le-hachage-hash-based-signatures">4.1. Signatures basées sur le hachage (Hash-Based Signatures)
&lt;/h3>&lt;p>Les signatures basées sur le hachage sont un schéma cryptographique dont la sécurité repose uniquement sur une base très simple et robuste : la « résistance aux collisions des fonctions de hachage ». Étant donné que la sécurité des fonctions de hachage contre les ordinateurs quantiques a déjà été prouvée (comme mentionné précédemment, une marge de sécurité de 128 bits est suffisante), il s&amp;rsquo;agit d&amp;rsquo;une approche extrêmement fiable.
Parmi les exemples représentatifs, citons la &lt;strong>signature de Lamport (Lamport Signatures)&lt;/strong>, son extension WOTS (Winternitz One-Time Signature), et le candidat à la standardisation du NIST, &lt;strong>SPHINCS+&lt;/strong> (désormais appelé SLH-DSA sous FIPS 205).&lt;/p>
&lt;h4 id="411-détails-mathématiques-de-la-signature-de-lamport-one-time-signature">4.1.1. Détails mathématiques de la signature de Lamport (One-Time Signature)
&lt;/h4>&lt;p>Examinons plus en détail le fonctionnement mathématique de la signature de Lamport.
Soit une fonction de hachage $H: \{0, 1\}^* \to \{0, 1\}^{256}$.&lt;/p>
&lt;p>&lt;strong>[Génération des clés]&lt;/strong>
Alice (l&amp;rsquo;expéditrice) utilise un véritable générateur de nombres aléatoires (TRNG) pour générer 256 paires de clés privées.
&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>
Ainsi, la clé privée $\text{sk}$ se compose d&amp;rsquo;un total de 512 chaînes de 256 bits (taille : $512 \times 32 = 16 384$ octets).&lt;/p>
&lt;p>Ensuite, elle calcule la clé publique $\text{pk}$. Chaque composant de la clé privée est haché.
&lt;/p>
$$
\text{pk}_{i,0} = H(\text{sk}_{i,0}), \quad \text{pk}_{i,1} = H(\text{sk}_{i,1})
$$
&lt;p>
La clé publique fait également $16 384$ octets. Celle-ci est publiée sur le réseau de la blockchain.&lt;/p>
&lt;p>&lt;strong>[Génération de la signature]&lt;/strong>
Pour signer les données de transaction $M$, Alice calcule d&amp;rsquo;abord sa valeur de hachage.
&lt;/p>
$$
h = H(M) \in \{0, 1\}^{256}
$$
&lt;p>
Soit $h_i \in \{0, 1\}$ le $i$-ème bit de la valeur de hachage $h$.
La signature d&amp;rsquo;Alice, $\sigma$, sera l&amp;rsquo;ensemble des composants de la clé privée correspondant à chaque bit $h_i$.
&lt;/p>
$$
\sigma = (\text{sk}_{1, h_1}, \text{sk}_{2, h_2}, \dots, \text{sk}_{256, h_{256}})
$$
&lt;p>
En d&amp;rsquo;autres termes, si le bit du hachage du message est &lt;code>0&lt;/code>, elle révèle $\text{sk}_{i,0}$, et s&amp;rsquo;il est &lt;code>1&lt;/code>, elle révèle $\text{sk}_{i,1}$. La taille de la signature sera de $256 \times 32 = 8 192$ octets.&lt;/p>
&lt;p>&lt;strong>[Vérification de la signature]&lt;/strong>
Le mineur (vérificateur) vérifie en utilisant la transaction $M$ reçue, la signature $\sigma = (s_1, s_2, \dots, s_{256})$ et la clé publique $\text{pk}$.
Il recalcule le hachage de la transaction $h = H(M)$ et vérifie si le hachage de chaque $s_i$ correspond à l&amp;rsquo;élément correspondant de la clé publique, $\text{pk}_{i, h_i}$.
&lt;/p>
$$
H(s_i) \overset{?}{=} \text{pk}_{i, h_i} \quad (\text{pour tout } 1 \le i \le 256)
$$
&lt;p>Ce processus est mathématiquement très simple, et à moins qu&amp;rsquo;un ordinateur quantique ne puisse inverser $H$, il est impossible de falsifier une signature. Cependant, une fois signée, la moitié de la clé privée est exposée au réseau. Si la même paire de clés est utilisée pour signer un autre message, les clés privées exposées se combinent, donnant à un attaquant la possibilité de forger des signatures. Cela crée une forte contrainte : la clé ne peut être utilisée qu&amp;rsquo;&lt;strong>« une seule fois (One-Time) »&lt;/strong>.
Pour rendre cela pratique, des technologies comme &lt;strong>XMSS&lt;/strong>, qui utilise un arbre de Merkle pour regrouper de nombreuses clés à usage unique en une seule clé publique racine, ou &lt;strong>SPHINCS+&lt;/strong>, qui est sans état, ont été développées, mais elles présentent l&amp;rsquo;inconvénient de tailles de signature atteignant des dizaines de kilo-octets.&lt;/p>
&lt;h3 id="42-cryptographie-fondée-sur-les-réseaux-euclidiens-lattice-based-cryptography">4.2. Cryptographie fondée sur les réseaux euclidiens (Lattice-Based Cryptography)
&lt;/h3>&lt;p>Actuellement, la cryptographie qui suscite le plus d&amp;rsquo;attentes en tant que courant principal du PQC, et qui a été adoptée comme norme principale du NIST (FIPS 204 : ML-DSA / anciennement CRYSTALS-Dilithium, ou Falcon), est la &lt;strong>cryptographie fondée sur les réseaux euclidiens&lt;/strong>.&lt;/p>
&lt;p>La sécurité de la cryptographie sur les réseaux euclidiens repose sur des problèmes dont la difficulté a été mathématiquement prouvée, tels que le « problème du vecteur le plus court dans un réseau multidimensionnel (SVP : Shortest Vector Problem) » ou le « problème d&amp;rsquo;apprentissage avec erreurs (LWE : Learning With Errors) ». Il n&amp;rsquo;existe aucun algorithme connu capable de résoudre efficacement les problèmes de réseau, même avec un ordinateur quantique.&lt;/p>
&lt;p>&lt;strong>Modèle mathématique du LWE (Learning With Errors) :&lt;/strong>
L&amp;rsquo;idée fondamentale du problème LWE est d&amp;rsquo;ajouter intentionnellement un « petit bruit (erreur) » à un système d&amp;rsquo;équations linéaires, ce qui rend le problème considérablement plus difficile.
Soit un vecteur secret $\mathbf{s} \in \mathbb{Z}_q^n$.
Il y a une grande matrice publique choisie aléatoirement $\mathbf{A} \in \mathbb{Z}_q^{m \times n}$ et un vecteur de petit bruit intentionnellement ajouté $\mathbf{e} \in \mathbb{Z}_q^m$.
La clé publique $\mathbf{b}$ est calculée comme suit :&lt;/p>
$$
\mathbf{b} = \mathbf{A}\mathbf{s} + \mathbf{e} \pmod{q}
$$
&lt;p>Même si la matrice $\mathbf{A}$ et le vecteur $\mathbf{b}$ (clé publique) sont publiés, il devient très difficile de calculer la clé privée $\mathbf{s}$ à l&amp;rsquo;envers en raison de la présence du bruit $\mathbf{e}$. S&amp;rsquo;il n&amp;rsquo;y avait pas de bruit, cela pourrait être résolu par une simple élimination de Gauss, mais le bruit provoque une explosion de l&amp;rsquo;espace de recherche dans toutes les dimensions, offrant une sécurité robuste contre les ordinateurs classiques et quantiques.
Dans les algorithmes réels utilisés dans les blockchains et ailleurs (comme Dilithium), cela est déployé sur des anneaux polynomiaux, ce que l&amp;rsquo;on appelle &lt;strong>Ring-LWE (ou Module-LWE)&lt;/strong>, afin de réduire la taille des clés et d&amp;rsquo;accélérer les calculs.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Avantages&lt;/strong> : Comparé aux signatures basées sur le hachage, la taille des clés publiques et des signatures est relativement petite (de l&amp;rsquo;ordre de quelques kilo-octets), et la vitesse de calcul pour la génération et la vérification des signatures est très élevée (équivalente ou supérieure à l&amp;rsquo;ECDSA).&lt;/li>
&lt;li>&lt;strong>Inconvénients&lt;/strong> : La structure mathématique est complexe et la période d&amp;rsquo;examen historique est courte, de sorte que le risque de découverte de nouveaux algorithmes de déchiffrement à l&amp;rsquo;avenir n&amp;rsquo;est pas nul.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="5-les-défis-techniques-de-la-migration-pqc-pour-la-blockchain">5. Les défis techniques de la migration PQC pour la blockchain
&lt;/h2>&lt;p>Ce n&amp;rsquo;est pas parce que des algorithmes PQC (comme Dilithium ou SPHINCS+) existent qu&amp;rsquo;ils peuvent être introduits demain dans Bitcoin ou Ethereum. Plusieurs défis majeurs spécifiques aux systèmes décentralisés se posent.&lt;/p>
&lt;h3 id="51-laugmentation-de-la-taille-des-signatures-et-leffondrement-de-la-scalabilité">5.1. L&amp;rsquo;augmentation de la taille des signatures et l&amp;rsquo;effondrement de la scalabilité
&lt;/h3>&lt;p>Le plus grand obstacle à l&amp;rsquo;introduction de la PQC est l&amp;rsquo;augmentation significative de la taille des données.
Alors que la taille actuelle d&amp;rsquo;une signature ECDSA est d&amp;rsquo;environ 70 octets, dans le cas du Dilithium (ML-DSA) basé sur les réseaux, la taille de la signature est d&amp;rsquo;environ 2 420 octets à 4 595 octets (selon le niveau de sécurité), et la taille de la clé publique dépasse 1 300 octets. Quant au SPHINCS+ basé sur le hachage, la signature seule atteint des dizaines de milliers d&amp;rsquo;octets.&lt;/p>
&lt;p>Si le Bitcoin introduisait la PQC en conservant la limite de taille de bloc actuelle (un poids d&amp;rsquo;environ 4 Mo en incluant SegWit), le nombre de transactions pouvant être stockées dans un seul bloc chuterait considérablement. Le débit du réseau (TPS : Transactions Per Second) s&amp;rsquo;effondrerait, et les congestions de transferts deviendraient la norme.
Pour résoudre ce problème, il faudrait augmenter considérablement la taille des blocs, mais cela accroîtrait les besoins en stockage et en bande passante des nœuds complets, rendant difficile l&amp;rsquo;exploitation de nœuds par des particuliers et entraînant en conséquence &lt;strong>une centralisation du réseau&lt;/strong>, créant ainsi un dilemme.&lt;/p>
&lt;div class="mermaid">pie title "Comparaison de la taille des données de signature dans la blockchain (Schéma conceptuel)"
"ECDSA (env. 70 Octets)" : 2
"Dilithium ML-DSA (env. 2 500 Octets)" : 58
"SPHINCS+ (env. 17 000 Octets)" : 40&lt;/div>
&lt;p>&lt;em>(※ L&amp;rsquo;augmentation de la taille des données de transaction due à l&amp;rsquo;introduction du PQC constitue un goulot d&amp;rsquo;étranglement fatal pour la scalabilité)&lt;/em>&lt;/p>
&lt;h3 id="52-impact-sur-lethereum-virtual-machine-evm-et-les-contrats-précompilés">5.2. Impact sur l&amp;rsquo;Ethereum Virtual Machine (EVM) et les contrats précompilés
&lt;/h3>&lt;p>Dans une plateforme de contrats intelligents Turing-complète comme Ethereum, l&amp;rsquo;introduction de la PQC nécessitera une mise à niveau fondamentale de l&amp;rsquo;EVM (Ethereum Virtual Machine).
L&amp;rsquo;EVM actuel dispose d&amp;rsquo;un contrat précompilé (Precompiled Contract) appelé &lt;code>ecrecover&lt;/code> (adresse : &lt;code>0x01&lt;/code>) pour vérifier les signatures ECDSA, qui est optimisé pour effectuer la vérification de signature avec des frais de gaz très faibles (3000 Gas).&lt;/p>
&lt;p>Cependant, le processus de vérification des nouveaux algorithmes de cryptographie sur réseau tels que Dilithium ou Falcon implique des calculs polynomiaux et matriciels complexes. Si l&amp;rsquo;on tente de l&amp;rsquo;implémenter uniquement avec les codes d&amp;rsquo;opération (Opcodes) de l&amp;rsquo;EVM existant, une seule vérification de signature pourrait consommer des millions, voire des dizaines de millions de gaz. Cela suffirait à épuiser la limite de gaz de bloc actuelle (environ 30 millions de Gas) avec une seule transaction.&lt;/p>
&lt;p>Pour éviter cela, il est nécessaire, via un hard fork du réseau, d&amp;rsquo;intégrer dans l&amp;rsquo;EVM lui-même un nouveau contrat précompilé pour la vérification PQC (par exemple, assigner DilithiumVerify à &lt;code>0x10&lt;/code>). Cela nécessitera un long processus dans lequel les développeurs principaux de chaque client Ethereum (Geth, Nethermind, Erigon, etc.) devront collaborer pour implémenter de manière optimisée la logique de vérification de la cryptographie sur réseau au niveau des langages C++, Go, Rust, etc., et réaliser des audits de sécurité.&lt;/p>
&lt;h3 id="53-la-difficulté-datteindre-un-consensus-par-hard-fork">5.3. La difficulté d&amp;rsquo;atteindre un consensus par hard fork
&lt;/h3>&lt;p>Pour modifier l&amp;rsquo;algorithme de signature sous-jacent, un &lt;strong>hard fork (Hard Fork)&lt;/strong> mettant à jour le protocole de l&amp;rsquo;ensemble du réseau est indispensable. Cependant, dans les communautés qui accordent une grande importance à « ne pas changer les règles et rester décentralisé » comme le Bitcoin, le processus de recherche de consensus est politiquement très difficile. Il faudra probablement des années de discussions et de tests entre la proposition d&amp;rsquo;un BIP (Bitcoin Improvement Proposal) pour la transition PQC et sa mise en œuvre.&lt;/p>
&lt;hr>
&lt;h2 id="6-quand-le--q-day--arrivera-t-il--la-feuille-de-route-vers-la-transition">6. Quand le « Q-Day » arrivera-t-il ? La feuille de route vers la transition
&lt;/h2>&lt;p>Quand viendra le « Q-Day » (le jour où un ordinateur quantique déchiffrera complètement la cryptographie sur les courbes elliptiques de 256 bits) ?
Les avis des chercheurs divergent, mais de nombreux experts prédisent l&amp;rsquo;apparition d&amp;rsquo;ordinateurs quantiques à grande échelle dotés d&amp;rsquo;au moins quelques milliers à plusieurs dizaines de milliers de qubits logiques stables (qubits corrigés des erreurs avec une tolérance au bruit) &lt;strong>« entre le milieu des années 2030 et les années 2040 »&lt;/strong>. Toutefois, selon les percées dans l&amp;rsquo;architecture matérielle ou la découverte d&amp;rsquo;algorithmes quantiques plus efficaces, il n&amp;rsquo;est pas impossible que cela arrive plus tôt (vers 2030).&lt;/p>
&lt;p>La feuille de route que l&amp;rsquo;écosystème des crypto-actifs devrait suivre avant qu&amp;rsquo;il ne soit trop tard est la suivante :&lt;/p>
&lt;h3 id="phase-1--signatures-hybrides-et-abstraction-de-compte-maintenant---vers-2028">Phase 1 : Signatures hybrides et abstraction de compte (Maintenant - vers 2028)
&lt;/h3>&lt;p>L&amp;rsquo;industrie actuelle de la blockchain, et en particulier les développeurs d&amp;rsquo;Ethereum (comme Vitalik Buterin), envisage des &lt;strong>« signatures hybrides »&lt;/strong> combinant l&amp;rsquo;ECDSA et le PQC (signatures basées sur le hachage ou cryptographie sur réseau). C&amp;rsquo;est une approche où les transactions reçoivent à la fois la signature ECDSA sécurisée existante et une signature PQC, garantissant la sécurité même si l&amp;rsquo;une des deux est compromise.
De plus, en utilisant l&amp;rsquo;abstraction de compte (Account Abstraction, ERC-4337), des initiatives sont en cours pour implémenter et prendre en charge les signatures PQC sur des portefeuilles de contrats intelligents via opt-in (pour les utilisateurs qui le souhaitent) sans attendre un hard fork au niveau du protocole.&lt;/p>
&lt;h3 id="phase-2--utilisation-des-preuves-à-divulgation-nulle-de-connaissance-zk-rollups-2025---">Phase 2 : Utilisation des preuves à divulgation nulle de connaissance (ZK-Rollups) (2025 - )
&lt;/h3>&lt;p>L&amp;rsquo;atout majeur attendu pour résoudre le plus grand point faible de la PQC, à savoir « l&amp;rsquo;augmentation de la taille des données de signature », est l&amp;rsquo;utilisation des &lt;strong>ZK-Rollups (preuves à divulgation nulle de connaissance)&lt;/strong>, une technologie de couche 2 (Layer 2).
Plutôt que d&amp;rsquo;écrire d&amp;rsquo;énormes données de signature PQC directement sur la couche 1 (Layer 1, la chaîne principale), de nombreuses transactions PQC sont vérifiées et agrégées sur la couche 2. Ensuite, à l&amp;rsquo;aide de ZK-SNARKs ou ZK-STARKs, elles sont compressées en une très petite « donnée de preuve (Proof) » unique qui est enregistrée sur la couche 1.
Il convient de noter que certaines configurations de SNARKs (comme Groth16) sont intrinsèquement vulnérables au niveau quantique, de sorte que l&amp;rsquo;adoption des &lt;strong>ZK-STARKs&lt;/strong>, qui ne dépendent que des fonctions de hachage résistantes au quantique, sera essentielle.&lt;/p>
&lt;h3 id="phase-3--hard-fork-au-niveau-du-protocole-vers-2030">Phase 3 : Hard fork au niveau du protocole (vers 2030)
&lt;/h3>&lt;p>Une fois la standardisation de la PQC par le NIST pleinement établie, et que les bibliothèques standards de l&amp;rsquo;industrie seront disponibles et suffisamment testées, un hard fork devrait être effectué sur les principales chaînes telles que Bitcoin et Ethereum pour migrer complètement l&amp;rsquo;algorithme de signature par défaut vers la PQC. Durant cette période de transition, des annonces à grande échelle exhorteront les utilisateurs à « transférer leurs fonds de leurs anciens portefeuilles vers de nouveaux portefeuilles compatibles PQC ».&lt;/p>
&lt;h3 id="exemples-de-projets-pionniers">Exemples de projets pionniers
&lt;/h3>&lt;p>Certains projets de blockchain ont anticipé cette menace quantique et sont développés avec une résistance quantique revendiquée dès les premières étapes.&lt;/p>
&lt;ul>
&lt;li>&lt;strong>QRL (Quantum Resistant Ledger)&lt;/strong> : Une blockchain précoce qui a implémenté nativement au niveau de son protocole la PQC basée sur le hachage appelée XMSS (eXtended Merkle Signature Scheme).&lt;/li>
&lt;li>&lt;strong>Algorand / Cellframe&lt;/strong> : Projets qui possèdent une architecture modulaire de couche cryptographique flexible en vue des futures mises à jour PQC, et qui explorent activement l&amp;rsquo;intégration de la cryptographie sur les réseaux euclidiens.&lt;/li>
&lt;/ul>
&lt;hr>
&lt;h2 id="7-conclusion--lavenir-des-crypto-actifs-et-la-protection-de-nos-actifs">7. Conclusion : L&amp;rsquo;avenir des crypto-actifs et la protection de nos actifs
&lt;/h2>&lt;p>L&amp;rsquo;arrivée de « l&amp;rsquo;ère post-quantique » a dépassé le simple stade de la science-fiction et se présente déjà devant nous comme un défi technique concret pour les systèmes cryptographiques réels.&lt;/p>
&lt;p>Les deux épées des ordinateurs quantiques, l&amp;rsquo;algorithme de Shor et l&amp;rsquo;algorithme de Grover, menacent respectivement la cryptographie à clé publique et les fonctions de hachage qui constituent les fondations des blockchains actuelles. La vulnérabilité de l&amp;rsquo;ECDSA, en particulier, est fatale, et la transition vers la cryptographie post-quantique (PQC) est absolument incontournable pour éviter le risque de vol de fonds via les attaques de front-running.&lt;/p>
&lt;p>Cependant, le monde de la technologie et la communauté de la blockchain ne se contentent pas de croiser les bras en attendant la fin du monde. La sélection et la standardisation des algorithmes PQC, comme la cryptographie sur les réseaux euclidiens et les signatures basées sur le hachage, progressent de manière constante. De plus, grâce à l&amp;rsquo;utilisation des preuves à divulgation nulle de connaissance (ZK-STARKs) et des technologies de scalabilité de couche 2, la voie pour surmonter le principal obstacle à l&amp;rsquo;introduction du PQC, à savoir « l&amp;rsquo;augmentation de la taille des données », commence à se dessiner.&lt;/p>
&lt;p>En tant qu&amp;rsquo;utilisateurs ordinaires de crypto-actifs et investisseurs, nous n&amp;rsquo;avons pas besoin de paniquer immédiatement ni de vendre tous nos fonds. Toutefois, il est important d&amp;rsquo;avoir les connaissances de base suivantes et d&amp;rsquo;être conscient de l&amp;rsquo;importance de l&amp;rsquo;autoprotection :&lt;/p>
&lt;ul>
&lt;li>&lt;strong>Éviter la réutilisation des adresses&lt;/strong> : Pour des raisons non seulement de confidentialité mais aussi de sécurité, assurez-vous de ne pas conserver vos fonds à long terme sur des « adresses utilisées (des adresses ayant envoyé des fonds au moins une fois, dont la clé publique a été exposée sur la blockchain) ».&lt;/li>
&lt;li>&lt;strong>Prêter attention aux tendances technologiques&lt;/strong> : Restez à l&amp;rsquo;affût des actualités concernant les discussions sur la transition PQC et les hard forks des principaux réseaux, comme les BIP de Bitcoin et les EIP d&amp;rsquo;Ethereum, afin de pouvoir procéder à la migration de votre portefeuille de manière appropriée lorsque cela sera nécessaire.&lt;/li>
&lt;/ul>
&lt;p>L&amp;rsquo;histoire de la blockchain est aussi l&amp;rsquo;histoire d&amp;rsquo;améliorations constantes et de résilience (capacité de récupération) face aux nouvelles menaces technologiques. Tout comme l&amp;rsquo;écosystème a surmonté les problèmes de scalabilité et les problèmes environnementaux (par la transition du PoW au PoS, par exemple), il cherchera sans aucun doute des solutions et s&amp;rsquo;adaptera globalement à cette menace quantique sans précédent.
Plutôt que d&amp;rsquo;être détruites par leur confrontation, on peut s&amp;rsquo;attendre à ce que la nouvelle sagesse de l&amp;rsquo;humanité qu&amp;rsquo;est l&amp;rsquo;ordinateur quantique et la technologie de confiance qu&amp;rsquo;est le registre décentralisé soient sublimées en un système robuste fusionné à un niveau supérieur.&lt;/p>
&lt;hr>
&lt;p>&lt;em>Références et liens utiles :&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>