1/5
Vue depuis Les Pléaides
2/5
Dans mon jardin
3/5
Le Grammont
4/5
Couché de soleil depuis le parking en face de Montreux-Est
5/5
Le glacier du Trient

Article en une

La blockchain, un système ultra sûr mais un gâchis énergétique (Journal CQFD N°199)

Comme la plupart des services en ligne, le bitcoin utilise une base de données: c'est là que sont mémorisées les transactions. Et c'est grâce à l'historique de ces transactions, et en partant de la première de celles-ci, que l'on peut calculer la quantité de bitcoins qui se trouve dans chaque portefeuille. Mais afin d'être sûr que le montant calculé est le bon, l'intégrité de cet historique doit être garantie. Sinon, en falsifiant le montant d'une transaction passée, un pirate pourrait facilement augmenter la valeur présente de son portefeuille. Le génie de "Satoshi Nakamoto" a été d'inventer un modèle de base de données respectant parfaitement ces conditions: La blockchain ("chaîne de block").

Son unité de base est un « bloc » virtuel, registre d’une taille maximale de 1 Mo, dans lequel on peut stocker une liste de transactions. Les blocs sont créés par les mineurs, qui sont les utilisateurs et les entreprises les plus engagés dans la communauté bitcoin et qui mettent des serveurs, appelés « nœuds », à disposition du réseau bitcoin. Chaque nœud possède un exemplaire complet de la blockchain.

Quand un serveur crée un nouveau bloc pour valider les dernières transactions faites par des utilisateurs, il enregistre à l’intérieur de ce bloc l’empreinte numérique (hash) du bloc précédent, formant ainsi une chaîne virtuelle de blocs qui se suivent. C’est cette suite de références aux empreintes numériques des blocs précédents qui forme la « chaîne ». Dès lors, le nouveau bloc est envoyé à tous les autres serveurs pour qu’ils ajoutent le dernier-né à leur version de la chaîne, après vérification de sa validité. Les blocs précédents ne peuvent donc pas être modifiés (par conséquent les transactions passées) car leur empreinte ne serait plus la même, ce qui entraînerait une rupture de la chaîne facile à détecter. Ce modèle est parfaitement décentralisé : n’importe qui peut vérifier l’intégrité de la chaîne ou ajouter un bloc, mais est obligé de suivre la règle commune pour que les autres nœuds acceptent son nouveau bloc (d’où le proverbe code is law, « le code est la loi »).

Cependant, un nœud malveillant pourrait très bien, à la suite d’un bloc qu’il aurait falsifié à son avantage, recalculer les empreintes de tous les blocs suivants afin que la chaîne reste entière, et transmettre sa version alternative de la blockchain aux autres serveurs. Pour éviter cela, à chaque création de bloc, il est demandé au mineur de résoudre une énigme mathématique nécessitant beaucoup de puissance – cette énigme étant, qui plus est, spécifique aux données de transactions contenues dans le bloc concerné. C’est ce qu’on appelle la « preuve de travail » (proof of work, PoW). La solution de l’énigme, facilement vérifiable, doit être enregistrée à l’intérieur du bloc, et fait donc également partie de son empreinte numérique. Empreinte qui, rappelons-le, permet de relier les blocs entre eux. Pour garder la chaîne entière, un pirate devrait donc résoudre toutes les énigmes des blocs suivants celui qu’il a falsifié. La réalisation de l’ensemble de ces calculs étant beaucoup plus lente que la vitesse à laquelle de nouveaux blocs sont ajoutés par la communauté à la blockchain, le pirate ne pourra jamais rattraper l’extrémité de la chaîne – même s’il s’agit d’un Etat équipé de supercalculateurs. Voilà, en bref, comment sont sécurisés les bitcoins, de manière totalement décentralisée.

Lire la suite...