• Loïc Morel

Informatique Quantique, quels risques pour Bitcoin ?

Bitcoin est un réseau basé sur des technologies cryptographiques, notamment des signatures cryptographiques et des fonctions de hachage. La cryptographie est utilisée dans le réseau afin d’en assurer la sécurité.


Avec l’évolution constante de l’informatique, et notamment l'arrivée de l'informatique quantique, nous pouvons nous demander si à terme, certaines machines seront en capacité de casser certains chiffrements actuels de Bitcoin et de réduire la sécurité du réseau.


bulle



L' informatique quantique.


L'informatique actuelle que nous connaissons fonctionne avec des informations stockées de façon binaire : les bits. Ces bits agissent comme des interrupteurs, ils peuvent prendre une seule parmi 2 valeurs : 0 ou 1.


L'informatique quantique se base sur des calculs à l'échelle atomique. Un ordinateur quantique fonctionne alors avec des Qubits composés de superpositions d'états entre 0 et 1.


Concrètement, un ordinateur classique cherchera un chemin donné en testant un par un tous les chemins possibles, un calculateur quantique sera capable de tester tous les chemins à la fois. L’informatique quantique permettrait donc de faire un nombre de calculs gigantesque en très peu de temps, ce qui pourrait peut-être permettre de casser les mécanismes de chiffrement de Bitcoin.




L' informatique quantique peut-elle tuer Bitcoin ?


Nous pouvons donc nous demander si l'arrivée de l'informatique quantique pourrait venir annoncer la mort de Bitcoin ?


Le chiffrement intervient dans Bitcoin au niveau des signatures cryptographiques et des fonctions de hachage. Nous allons donc étudier la vulnérabilité de ces technologies.




Les fonctions de hachage.


Les fonctions de hachages sont utilisées dans Bitcoin pour obtenir un hash (ou un condensat) de taille fixe à partir d'un message en entrée de taille arbitraire. Une des caractéristiques de ces fonctions utilisées dans Bitcoin est l'irréversibilité. Elles agissent comme des trappes à sens unique : si l'on arrive d'un côté, la trappe est ouverte. Si l'on arrive de l'autre côté, la trappe est fermée.


Schéma génération d'une adresse


Les deux principales fonctions de hachages utilisées dans Bitcoin sont :

  • SHA256. Cette fonction inventée par la NSA est utilisée dans Bitcoin pour dériver des adresses Bitcoin à partir d'une clé publique enfant. Ce même algorithme est utilisé pour le calcul du hash d'une entête de bloc dans le mécanisme de Proof-of-work (minage ou mining).

  • HMAC-SHA512. Cette fonction est utilisée dans le processus de dérivation d'un portefeuille HD (déterministe hiérarchique).


Schéma génération clé privée et clé publique étendues


Selon toutes les dernières études, les fonctions de hachage SHA256 et HMAC-SHA512 ne semblent pas pouvoir être cassées par un ordinateur quantique ni à court, ni à moyen terme.


Donc concrètement, selon les études actuelles, un calculateur de type quantique ne sera pas capable de déterminer une clé publique Bitcoin en connaissant son adresse, et ne sera pas capable de mettre à mal directement le mécanisme de Proof-of-Work.


Pour en apprendre plus sur les fonctions de hachage dans Bitcoin, nous vous proposons de découvrir notre article : Le hachage cryptographique et Bitcoin.




Les signatures cryptographiques.


Les signatures cryptographiques sont utilisées par les utilisateurs au moment de réaliser une transaction. Pour qu'une transaction Bitcoin soit validée par le réseau, il faut qu'elle contienne une signature cryptographique qui correspond à la clé publique sur laquelle sont stockés les bitcoins que l'utilisateur souhaite dépenser. Si la signature et la clé publique sont alignées, les nœuds du réseau qui vérifient ladite transaction pourront être certain que l'utilisateur est bien en possession de la clé privée correspondante, sans avoir directement accès à cette clé privée. Les nœuds sont donc sûrs que les bitcoins que revendiquent l'utilisateur lui appartiennent bien.


Schéma transaction Bitcoin


Deux algorithmes de signatures électroniques sont utilisés dans Bitcoin :

  • Les signatures ECDSA (Elliptic curve digital signature algorithm).

  • Les signatures de Schnorr depuis la mise à jour Taproot de Novembre 2021.


Ces deux standards de signatures cryptographiques font partie de l'ECC (cryptographie sur les courbes elliptiques) et se basent sur la difficulté du problème du logarithme discret. Le problème du logarithme discret peut théoriquement être cassé avec un algorithme quantique de type Shor modifié. Il est donc théoriquement possible de casser une signature ECDSA ou une signature de Schnorr.


Concrètement, cela signifie qu'il serait possible de rétro-calculer une clé privée en ayant connaissance de sa clé publique grâce à un calculateur quantique, ce qui est mathématiquement impossible avec un ordinateur classique actuel.


Schéma génération clé publique


Le risque pour l'utilisateur est donc de se voir subtiliser ses bitcoins en cas de divulgation d'une de ses clés publiques.


Mais ce risque n'est vraiment pas d'actualité. En effet, pour casser une clé ECDSA de 256 bits (celle utilisée dans le réseau Bitcoin) il faudrait un processeur quantique de 2330 Qubits avec 126 milliards de portes de Toffoli. Pour exemple, les calculateurs quantiques les plus puissants actuellement sont :

  • Le Sycamore élaboré par Google qui développe 54 Qubits avec 20 portes de Toffoli.

  • Le Zuchongzhi 2 élaboré par l'Institut de physique technique de Shanghai de l'Académie chinoise des sciences qui développe 66 Qubits.

Certains spécialistes pensent qu'une clé ECDSA de 256 bits ne pourra être forcée avant des millions d'années, d'autres expliquent qu'un ordinateur quantique sera capable de brute forcer ce type de signatures à moyen terme.




Le minage.


Le minage ou mining de bitcoins désigne le fait de s'adonner au mécanisme de Proof-of-Work qui permet de sécuriser et de faire fonctionner le réseau distribué Bitcoin. Ce processus donne lieu à la création de nouveaux bitcoins qui viennent récompenser le mineur pour le travail fourni. Pour comprendre plus en profondeur le fonctionnement de ce mécanisme, nous vous suggérons de lire notre article dédié à ce sujet.


Ce mécanisme ne sera pas impacté par l'évolution de la puissance des calculateurs quantiques. En effet, le calcul du hash de l'entête de bloc se fait grâce à la fonction de hachage SHA256 qui n'est pas vulnérable au quantique.


D'autre part, même si le calculateur quantique souhaite s'adonner à la Proof-of-Work de manière honnête, il ne disposera d'aucun avantage face à un ordinateur classique. Il sera même sûrement beaucoup moins performant que celui-ci.


En effet, le calculateur quantique doit pouvoir travailler à partir d'un registre fini défini arbitrairement à l'avance. Pour calculer un hash d'entête valide, le registre de calcul est par définition variable puisqu'il dépend de la modification et de la combinaison des différents nonces présents dans l'entête et dans les Arbres de Merkel du bloc. Il existe donc un très grand nombre de possibilités et un très grand nombre de nonces permettant de valider le bloc.


Le calculateur quantique souhaitant trouver un bloc valide est donc devant un dilemme : soit il travaille à partir d'un registre de nonces restreint, et il prend le risque de ne jamais trouver un nonce qui valide le hash. Soit il prend un registre de nonces très grand et il prend le risque qu'un autre ordinateur (quantique ou classique) trouve le hash valide avant lui.


La façon la plus efficace de trouver un nonce qui permette de valider le bloc est de travailler par tâtonnement, en essayant une par une toutes les combinaisons de nonces possibles, jusqu'à tomber sur une combinaison qui fasse un hash inférieur numériquement au facteur de difficulté du réseau. Et à ce jeu, les calculateurs quantiques ne seront pas performants.




Quelles solutions dans l'immédiat ?


On a donc pu comprendre que tous les chiffrements de Bitcoins ne sont pas vulnérables au quantique. Les fonctions de hachages ne peuvent pas être rétro-calculées, en revanche, les signatures ECDSA et Schnorr peuvent théoriquement être cassées.


En attendant que des cryptographes et mathématiciens trouvent une solution au problème des signatures cryptographiques, que pouvons nous faire pour protéger nos précieux bitcoins ?


C'est très simple, le fait de garder secrètes nos clés publiques enfants et notre clé publique étendue (xpub) nous offre déjà une protection extrêmement plus élevée face aux ordinateurs quantiques. En effet, comme nous avons vu précédemment, ECDSA qui est menacé permet de dériver une clé publique à partir d'une clé privée, si la clé publique reste confidentielle, le calculateur quantique n'aura pas de point de départ pour son rétro-calcul.


Les adresses Bitcoin, elles, sont dérivées de la clé publique grâce aux fonctions de hachage SHA256 et RIPEMD160. Ces fonctions de hachage ne pouvant être rétro-calculées grâce à un algorithme quantique, il est mathématiquement impossible de trouver une clé publique en ayant seulement connaissance de son hash (de son adresse Bitcoin).


L'objectif pour l'utilisateur de Bitcoin va donc être de ne jamais divulguer ses clés publiques avant de dépenser des bitcoins. Ainsi, il se protège au maximum du théorique risque quantique.


Concrètement, en tant qu'utilisateur averti vous devez :

  • Utiliser une adresse Bitcoin vierge pour toute nouvelle transaction entrante, et donc bannir les "reuses" d'adresses.

  • Si vous avez une adresse qui héberge plusieurs UTXOs, tachez de consommer les 2 UTXOs en même temps lors d'une dépense avec cette adresse.

  • N'utilisez pas le format de script de verrouillage P2PK (Pay to public key). Ne donnez jamais une de vos clés publiques pour recevoir des bitcoins.

  • Utilisez de préférence un portefeuille HD (déterministe hiérarchique) qui vous donnera une nouvelle adresse vierge pour une nouvelle transaction entrante.


Ces recommandations, au-delà de la menace de l'informatique quantique, vous permettrons notamment d'optimiser votre confidentialité sur le réseau Bitcoin.


Schéma génération clés privées et clés publiques enfants

Aussi, nous vous conseillons de limiter la diffusion de votre xpub (clé publique étendue) qui peut être utilisée notamment pour créer un portefeuille watch-only.


Les bitcoins stockés sur des scripts P2PK (pay to public key), de part leur nature, seront sûrement les premiers à se faire brute forcer. La plupart des scripts P2PK sont utilisés par des personnes qui sont arrivées très tôt sur Bitcoin. Aujourd'hui parmi les utilisateurs de P2PK on retrouve principalement :

  • Des mineurs qui ont un avantage à utiliser ce type de scripts mais qui pourront facilement migrer vers un autre type de script en cas de problème.

  • Satoshi Nakamoto, le créateur de Bitcoin. Les bitcoins qui sont supposés lui appartenir sont sur des scripts P2PK.

  • Des utilisateurs qui ont perdu l'accès à leur clé privée permettant de débloquer leurs bitcoins.



Pour résumer, l’informatique quantique est encore au stade embryonnaire. Les algorithmes développés pour le moment ne peuvent pas compromettre la sécurité des utilisateurs du réseau Bitcoin et ne semblent pas pouvoir le faire dans un futur proche car la capacité de calcul des calculateurs quantiques est limitée et extrêmement spécifique.


Nous ne pouvons néanmoins pas exclure la possibilité qu’une organisation trouve le moyen d’augmenter suffisamment la puissance de calcul d’un ordinateur quantique afin de pouvoir casser les signatures ECDSA et de Schnorr utilisées sur Bitcoin. Nous conseillons donc aux utilisateurs de privilégier l'utilisation des adresses Bitcoin pour recevoir des fonds.


Ces recommandations vous permettent de vous protéger du théorique risque quantique lors de votre stockage de bitcoins. Cependant, même si vous utilisez des adresses, votre clé publique est exposée lorsque vous diffusez une nouvelle transaction au réseau. Il existerait donc une fenêtre de tir pour l'ordinateur quantique entre la diffusion de la transaction et son inclusion dans un blog validé. A ce jour, il n'existe aucune solution absolue pour répondre à ce risque théorique. Néanmoins, le fait de paramétrer des frais supérieurs à la moyenne lors de la diffusion de votre transaction permettrait de réduire fortement ce risque.




L’évolution de l'informatique quantique.


Si nous nous projetons dans le futur, nous pouvons nous demander : Que se passerait-il pour le réseau Bitcoin si un calculateur quantique parvient réellement à forcer les signatures cryptographiques sur les courbes elliptiques ?



Déjà, il y a très peu de chance que ce type d’ordinateur soit développé par une personne malveillante. En effet, au vu des moyens humains, matériels et financiers nécessaires au développement et à l'amélioration de cette technologie, il y a beaucoup plus de chance que ce soit une entreprise de la tech (comme Google ou IBM), un Etat ou une université qui soit le premier à développer cela.


Néanmoins, si l’on imagine le pire scénario, dans lequel le calculateur quantique capable de casser des clés de chiffrements asymétriques est découvert par une personne malveillante, est-ce que la première chose qu’elle ferait serait de pirater le réseau Bitcoin ? Nous n’en sommes pas certains. En effet, l’ensemble de la sécurité informatique mondiale est principalement basé sur des protocoles de chiffrement pour la plupart moins solides que ceux de Bitcoin. Toutes les transactions bancaires, les données classées “secret défense” ou encore les installations militaires seront alors menacées par un calculateur quantique puissant. Une personne malveillante aurait donc tout intérêt à faire bien d’autres choses illégales que de pirater Bitcoin.


Spéculons encore plus et imaginons que cette personne malveillante en possession d’un calculateur quantique fonctionnel ait jeté son dévolu sur Bitcoin. A quoi est-ce que cela lui servirait ?


Rappelons que Bitcoin est un réseau transparent et ouvert, de nombreux acteurs surveillent 24h/24 et 7j/7 les transactions sur le réseau. Ainsi, à l’instant même ou une action frauduleuse apparaîtra sur le réseau, l’ensemble des nœuds seront au courant. Tweeter va rapidement s’enflammer et de nombreux investisseurs vont vendre leurs bitcoins, ce qui fera chuter rapidement son prix. L’attaquant va donc se retrouver avec un réseau sur lequel il aura des accès privilégiés, mais qui ne vaudra plus rien. Il aura dépensé énormément d’énergie et d’argent pour ne rien récupérer à la fin. Et pire encore, le monde entier sera rapidement informé qu’une personne malveillante possède un calculateur quantique assez puissant pour casser des signatures cryptographiques, et les autorités compétentes vont sûrement partir à sa recherche.



Avant d'arriver à ce scénario, de nombreux mathématiciens et cryptographes auront sûrement trouvé des signatures cryptographiques post-quantiques, c'est à dire résistantes à une attaque d'un algorithme quantique.


Ces recherches sont déjà en cours. En 2017, le NIST (National Institute of Standards and Technology) a annoncé une compétition visant à mettre en place une standardisation des algorithmes cryptographiques post-quantiques. Ainsi, les candidats les plus sérieux pour remplacer la difficulté du problème du logarithme discret, sont notamment :

  • Les problèmes de vecteurs courts dans les réseaux euclidiens,

  • Le décodage de codes linéaires aléatoires,

  • L'inversion de polynômes multivariés,

  • La navigation dans les isogénies des courbes elliptiques supersingulières,

  • L'inversion de fonctions de hachage.


Lorsqu'un standard solide et fonctionnel sera trouvé, nous pourrons l'adapter à Bitcoin afin de garantir la pérennité du réseau.


Parmi ces options, la navigation dans les isogénies des courbes elliptiques supersingulières pourrait être un problème mathématique intéressant. Un algorithme utilisant ce problème est déjà fonctionnel, il s'appelle SIDH (Supersingular Isogeny Diffie-Hellman). Ses variants SIKE (Supersingular Isogeny Key Encapsulation) sont très intéressants et pourraient théoriquement être implémentés sur Bitcoin. Cependant, la taille de ces clés est selon nous trop grande pour le moment (2640 bits VS 256 bits pour ECDSA), mais il y aura sûrement des avancées sur ce domaine dans les années à venir.


La cryptographie a toujours évolué avec un temps d’avance sur l’informatique, nous pouvons imaginer que ce sera le cas également pour l’informatique quantique.




Conclusion.


Nous vous avons exposé les risques pour Bitcoin suite à l’évolution de l’informatique. Ils paraissent encore très faibles pour le moment, mais il convient de les prendre en compte et d’en suivre leur développement afin d’adapter au mieux votre stratégie de sécurisation. De notre analyse ressort le fait qu’il y a infiniment plus de chance que l’informatique quantique soit maîtrisée par une multinationale bien avant qu’elle soit maîtrisée par un pirate malhonnête isolé.


La potentielle menace apportée par l'informatique quantique pour Bitcoin réside dans les attaques de signatures cryptographiques ECDSA et Schnorr. En revanche, les fonctions de hachages SHA256 et HMAC-SHA512 ne semblent pas devoir être remises en questions pour le moment. Il convient donc d'utiliser des adresses Bitcoin et de respecter la règle de 1 UTXO maximum par adresse pour éviter de prendre des risques inutiles.




Pour aller plus loin :