Analyse

[JdR] Blockchain, l’utopie de l’inviolable

Le 27 janvier 2022 par Eric Gallay

Sujet très en vogue avec la création du Bitcoin, bien qu’encore méconnu du grand public, la blockchain est assurément le sujet incontournable des années à venir. Considérée par certains comme l’une des plus grandes révolutions depuis la création d’internet, la blockchain serait à la transaction ce qu’internet a été à l’information. Un véritable mythe s’est développé autour de cette technologie réputée inviolable. Une réalité à nuancer, la blockchain présentant – comme toutes les technologies – des failles de sécurité que certains ont déjà su exploiter.

La Blockchain, de quoi parle-t-on ? 

La création du Bitcoin a donné lieu en 2008 à l’apparition de la première blockchain (« chaîne de blocs » en français). Cette dernière constitue l’architecture sous-jacente de la cryptomonnaie. Hormis la cryptomonnaie, la blockchain commence à se diversifier dans d’autres domaines comme les applications pour le transfert d’actifs (votes, actions, titres de propriété immobilière, etc.), les applications de registre (assurer une traçabilité des produits et des actifs) et les « smart contracts » (des programmes autonomes qui exécutent automatiquement les contrats, utilisés principalement dans le secteur de l’assurance).

Techniquement, elle peut être définie comme une technologie de stockage et de transmission d’informations ne nécessitant pas de contrôle. Autrement dit, la blockchain est une base de données décentralisée qui va permettre de passer outre l’intermédiaire (banque, institution, État) lors d’une transaction entre deux entités.

Concrètement, lorsque vous achetez un bien sur internet, vous passez par un tiers de confiance, en général une plateforme centralisée comme PayPal ou une banque. Lors de l’achat, ce tiers de confiance vérifie que vous êtes bien l’auteur de l’achat, que vous disposez du montant d’achat sur votre compte et crée par la suite une trace de la transaction dans un livre de comptes, tout en prenant une commission. L’ensemble de la transaction est privé et la trace est stockée dans votre livre de comptes à la banque.

Dans ce contexte, la blockchain permet la réalisation de transactions entre plusieurs utilisateurs (informationnels, financiers, etc.) sans tiers de confiance. Ce sont les ordinateurs du réseau (en « peer to peer ») qui tiennent ce rôle en vérifiant si les deux personnes sont fiables afin de valider la transaction, et en stockant chacun une trace de celle-ci. La transaction au sein de la blockchain est publique car le livre des comptes est visible de tous.

 

Comprendre le fonctionnement et la sécurité de la blockchain

Des nœuds, des mineurs et des blocs : la blockchain c’est aussi un vocabulaire.

Les nœuds ont dans la blockchain un rôle primordial, car ils forment la colonne vertébrale du système. Un nœud est une machine qui fait partie du réseau de la blockchain. Il possède une copie du registre des transactions (la blockchain) qui se met à jour grâce aux interactions avec les autres nœuds. Parmi les principaux types de nœuds, se trouvent les nœuds complets (qui conservent l’intégralité des transactions ayant eu lieu depuis le début de la blockchain), et les nœuds réduits (qui conservent seulement la partie récente de la blockchain). Certains nœuds peuvent gagner de la cryptomonnaie (exemple de la structure Bitcoin) en mettant leurs ressources informatiques à contribution (puissance de calcul) pour stocker et valider les transactions. Ils sont appelés « mineurs ». 

En ce qui concerne les blocs, on peut dire que, comme un livre de comptes est constitué de pages de transactions, la blockchain est une chaîne formée de blocs de transactions. Ces blocs, liés les uns aux autres, renferment une liste de transactions visibles de tous.

Pour résumer et simplifier le fonctionnement de la blockchain, un utilisateur requiert une transaction, entraînant la création d’un bloc pour cette transaction. Le bloc est envoyé à la blockchain de chaque utilisateur, qui valide ou non le bloc. Quand le bloc est validé, les nœuds qui ont aidé à la création du bloc et à sa validation sont récompensés en cryptomonnaie et le bloc est ajouté à la blockchain. Après cela, la transaction est effectuée.

Outre la blockchain publique majoritaire, il existe un autre type de chaîne qui s'accroît d’année en année, la blockchain privée. Utilisée par les entreprises, cette blockchain nécessite quant à elle un acteur fort qui exerce une autorité sur les autres membres. 

 

La sécurité de la blockchain 

La sécurité de la blockchain se trouve partiellement dans le nombre de nœuds qui la compose, mais surtout dans la création et l’identification des blocs. Plus le nombre de nœuds dans la blockchain est grand, plus elle sera robuste. Le nombre permet au système d’être insensible aux tentatives de piratage et aux dysfonctionnements de certaines machines comme la coupure de réseau ou d’électricité.

Comme énoncé précédemment, la réputation d’inviolabilité de la blockchain se base sur la création et sur l’identification de ses blocs. Chaque bloc de la chaîne contient en effet plusieurs éléments. Une liste de transactions, une empreinte appelée « hash » qui est spécifique à chaque bloc et le hash du bloc précédent qui permet de garantir l’ordre du bloc dans la chaîne. La cryptographie est donc la clé de voûte de la blockchain. L’algorithme de hachage (une fonction mathématique) va transformer un ensemble de données de départ en une suite de caractères (mélange de lettres et nombres). Le hash offre donc la garantie que les données de départ n’ont été modifiées d’aucune façon. Concrètement, si un utilisateur triche en modifiant un bloc de sa propre chaîne (en augmentant le nombre de ses bitcoins par exemple), le hash de ce bloc va changer et ne plus correspondre au hash du même bloc des blockchains des autres utilisateurs. 

Un autre processus de sécurité s’ajoute enfin : la signature numérique. Chaque demande de transaction dans la chaîne de blocs doit être signée par l’émetteur pour être validée. Concrètement, si Luc dit que Hann doit lui verser une somme, les autres utilisateurs vont attendre la preuve que c’est bien Hann qui a envoyé le message. C’est la signature numérique de Hann qui servira de preuve. Afin de signer un message, l’utilisateur doit produire deux clés de chiffrement liées mathématiquement : une clé privée et une clé publique qui, à l’inverse de la privée, est stockée sur chaque ordinateur du réseau. Si Hann lance un ordre de virement à Luc, le message est chiffré avec sa clé privée. Luc doit ensuite utiliser la clé publique de Hann pour déchiffrer le message. Seule la clé publique de Hann permet de déchiffrer le message qui a été chiffré à partir de sa clé privée. Si tous les utilisateurs arrivent à lire le message de Hann, cela veut dire qu’il est bien l’émetteur du message.   

 

Les failles de sécurité dans la chaîne de blocs

Bien qu’à première lecture, la blockchain paraisse inviolable par design, certaines failles ont déjà été remarquées et exploitées, les 5 exemples suivants en sont les principales failles. 

1.   L’attaque de sécurité à la clé privée

Comme énoncé dans le paragraphe précédent, la cryptographie de la clé publique est l’une des sécurités de la blockchain. En conséquence, si l’utilisateur réalise une mauvaise cryptographie de sa clé privée ou s’il utilise la même plusieurs fois pour différentes transactions au sein du réseau, un hacker peut à partir de la clé publique de l’utilisateur obtenir sa clé privée. En conséquence, le hacker possède toutes vos données et dans le cas de bitcoin, votre argent… L’attaque à la clé privée la plus connue à ce jour est celle d’« Evernote ». En 2020, un utilisateur avait laissé sur le logiciel Evernote (logiciel de stockage de notes, photos, etc.) sa clé privée. L’intrusion dans son ordinateur a ainsi permis le vol de 300 000 $.

2.   Les contrats vulnérables 

Ce cas de figure arrive lors de prêts. Au sein du réseau les utilisateurs peuvent, comme dans une banque, contracter des prêts sous forme de cryptomonnaie. Les « smart contracts » ou contrats intelligents sont les accords du contrat de prêt écrits en code. Il arrive, là aussi souvent à cause d’une erreur humaine, que le contrat soit mal codé. En 2016, le fond DAO a été volé, de plus de 50 millions de cryptomonnaies. 

3.   L’attaque à 51 %

Les mineurs jouent un rôle clef dans la validation des transactions au sein de la chaîne. Comme vu dans l’attaque de « double dépense » il se peut que plusieurs blocs soient minés en même temps. Si l’un d’eux entre en confrontation avec les autres, c’est le bloc qui obtient la majorité des approbations du réseau qui est conservé. C’est à ce moment précis qu’une vulnérabilité apparaît, car si un groupe de hackers parvient à prendre le contrôle d’au moins 51 % de la puissance minière, ils peuvent ensuite annuler des transactions, effectuer des opérations frauduleuses et possiblement réécrire certains blocs… Une autre attaque du même type, l’attaque « Sybiles » consiste à créer plusieurs faux nœuds pour arriver au seuil des 51 %.

4.   L’attaque de double dépense

Si l’on ne peut payer deux fois avec un même billet dans la vie réelle, cela est cependant possible avec la cryptomonnaie. Cette attaque consiste à envoyer une même pièce à deux utilisateurs de la chaîne (A et B). Si les deux transactions se trouvent dans deux différents blocs, minés en même temps, le bloc ayant le plus de confirmations de la part des nœuds du réseau sera conservé. A recevra donc sa pièce, tandis que B ne la recevra pas. L’attaque de double dépense peut donc être une suite logique à l’attaque à 51 %.

5.   L’attaque de routage

La chaîne de blocs nécessite un réseau robuste, réseau permis notamment grâce aux fournisseurs d’accès qui se connectent les uns aux autres et partagent des informations via des routes. Certains protocoles utilisés par les fournisseurs d’accès sont anciens et présentent des failles. Un hacker contrôlant un fournisseur d’accès à internet peut créer une fausse route et refuser les transactions de certains nœuds, empêchant ainsi les blocs minés de se propager sur le réseau. Puis utiliser ensuite l’information pour revendiquer le travail effectué et ainsi récupérer les frais de minage. 

 

Un enjeu non négligeable pour les entreprises françaises

2020 a marqué un tournant pour la blockchain. D’une part, avec la mise en place d’un cadre réglementaire européen, et d’autre part par l’augmentation du nombre de projets initiés dans les entreprises « traditionnelles » par rapport aux « pure players » de la blockchain. Selon une étude réalisée par l’entreprise PwC fin 2020, les grandes entreprises françaises ont alloué un budget moyen d’1 million d’euros à la blockchain et 87 % de ces entreprises anticipent un déploiement soutenu de la blockchain en France d’ici 3 ans. Parmi ces entreprises, Carrefour, Auchan ou encore LVMH travaillent au développement de leur blockchain privée mais aussi à l’élaboration de cas d’usage utilisant cette blockchain. À l’international, l’investissement est proportionnellement plus soutenu avec un investissement en 2021 d’environ 2,6 milliards de dollars pour les États-Unis, et 777 millions de dollars pour la Chine.

Les attaques « réussies » sur les blockchains sont de plus en plus fréquentes. En décembre 2021, le piratage des plateformes de finance décentralisée comme MonoX, Badger ou encore BXH s’est élevé à 150 millions de dollars… en une semaine. La fraude liée aux cryptoactifs représente aujourd’hui plus de 10 milliards de dollars

La blockchain est donc bien une révolution technologique, mais en aucun cas un système sans failles…

 

 

Eric Gallay pour le Club Risques de l'AEGE