Satoshi est à la pointe de la cybersécurité

Petit point technique pour commencer mais essentiel pour bien comprendre. Une transaction sur la blockchain Bitcoin n’existe réellement que si elle est inscrite dans un bloc et que celui-ci est rattaché au bloc précédent. Jusqu’ici rien de nouveau. Le système de minage de preuve de travail (Proof-of-Work) ne sert pas uniquement à déchiffrer les clés publiques et privées des émetteurs afin de vérifier s’ils disposent bien des fonds, mais aussi à créer une résilience sans faille face aux attaques des potentiels hackers. La chaîne étant décentralisée et donc partagée entre tous les membres du réseau, il faudrait créer des blocs plus rapidement que les authentiques mineurs pour réussir à frauder (autrement dit, il faudrait posséder une puissance de calcul gigantesque). Plus la chaîne s’allonge dans le temps (à mesure que le nombre de transactions s'accumule), plus les tentatives de fraude deviennent difficiles car il faudrait recréer l’entièreté de la chaîne dans ce cas, ce qui est, avec les technologies connues à ce jour, impossible.

L’enregistrement d’un bloc doit obligatoirement induire un certain coût car sinon un hacker pourrait recréer la totalité des blocs sans aucune dépense. Pour bien comprendre le Bitcoin il est indispensable d’intégrer le fait que le coût énergétique de la validation d’une transaction en bitcoins est totalement artificiel et créé par le code algorithmique sous-jacent du réseau. Mais ce coût énergétique imposé par le code ne sert pas à rien même si il est artificiel. Ce coût sert de socle à la sécurité du protocole. Ce coût est intimement lié avec le taux de hachage du réseau. 

Taux de hachage, le nerf de la guerre

Une transaction publiée sur le réseau Bitcoin doit être validée et sécurisée dans un bloc par les mineurs, ce sont donc ces ordinateurs, appelés des "nœuds du réseau” qui vont s’en charger. Ils sont aujourd’hui presque 15 000 à opérer autour du globe.

Nombre de nœuds sur Bitcoin
Source : Bitnodes

Une transaction va être regroupée avec plusieurs transactions afin de constituer un bloc d’un poids de 1 mégaoctet. Afin d’ajouter ce bloc à la blockchain Bitcoin, les mineurs vont devoir réaliser un calcul mathématique très complexe et le premier qui trouvera la solution enregistrera le bloc et sera ainsi récompensé en bitcoins (6,25 BTC par bloc). Le taux de hachage mesure en quelque sorte la difficulté de calcul à réaliser par les mineurs pour trouver la solution à ce casse-tête cryptographique. On pourrait faire l’analogie suivante pour illustrer le taux de hachage  : 

  • Taux de hachage faible : lancer en l’air une pièce de monnaie autant de fois que possible jusqu’à la faire tomber 3 fois d'affilée sur le côté pile.

  • Taux de hachage moyen : lancer en l’air une pièce de monnaie autant de fois que nécessaire jusqu’à la faire tomber 6 fois d'affilée sur le côté pile.

  • Taux de hachage élevé : lancer en l’air une pièce de monnaie autant de fois que nécessaire jusqu’à la faire tomber 9 fois d'affilée sur le côté pile.

Vous l’aurez compris le taux de hachage ne reste pas fixe de manière à conserver une moyenne de 10 minutes pour miner un bloc. Dix minutes ont été spécifiquement choisies par Satoshi comme compromis idéal entre le temps de l’ouverture du bloc et la quantité de travail nécessaire pour inscrire le bloc sur la chaîne. Pour conserver cette durée de minage, tous les 2016 blocs environ (soit tous les 14 jours), la difficulté de minage d’un bloc est réajustée en fonction du nombre de mineurs à opérer. Ainsi, même si un afflux massif de mineurs se présente, l’augmentation de la difficulté de minage (exprimée avec le taux de hachage) permet de conserver la durée de 10 minutes d’enregistrement d’un bloc. 

Pour faire simple, plus il y a de mineurs qui tentent leur chance pour valider un bloc, plus le taux de hachage augmente, plus il est difficile de valider un bloc. D’où la course effrénée des mineurs pour avoir un matériel de plus en plus puissant afin d’optimiser ses chances d’enregistrer un bloc et donc d’être récompensé en bitcoins.

Taux de hachage sur Bitcoin
Blockchain.com

Cette augmentation du taux de hachage laisse transparaître la consommation énergétique croissante des ordinateurs pour trouver la solution du bloc. Reprenons notre analogie avec les pièces :

Scénario 1 : 3 individus constituent l'intégralité des mineurs du réseau. Le premier à faire tomber la pièce 3 fois d’affilée sur pile enregistrera le bloc et sera récompensé en BTC.   

Scénario 2 : 30 individus constituent l'intégralité des mineurs du réseau. Le premier à faire tomber la pièce 30 fois d’affilée sur pile enregistrera le bloc et sera récompensé en BTC.   

On comprend facilement que la débauche d’énergie sera plus importante dans le scénario 2.  Nous comprenons avec cette analogie du système de minage de Bitcoin que la consommation d’énergie croissante est nécessaire pour assurer une durée d’enregistrement de 10 minutes par bloc au fur et à mesure que des mineurs se connectent au réseau. 

Le taux de hachage est finalement le niveau de complexité du minage et une mesure garantissant la sécurité de la blockchain. Une augmentation de ce taux de hachage est synonyme d’une augmentation du nombre de mineurs et donc d’une augmentation de son invulnérabilité car la difficulté de minage devient de plus en plus importante et de plus en plus de mineurs vérifient les blocs de transactions. Il devient donc de plus en plus difficile de frauder et de tenter de prendre le contrôle du réseau Bitcoin. 

Une sécurité au prix d’une faible vitesse et d’un coût par transaction élevé

Ne pas mêler vitesse et précipitation

Une transaction sur Bitcoin occupe entre 0,2 kilo-octet (ko) et 1 kilo-octet dans un bloc. Si nous prenons une moyenne de 0,5 kilo-octet comme taille moyenne par transaction et que nous savons qu’un bloc peut contenir 1 mégaoctet, nous pouvons facilement savoir combien de transactions un bloc peut contenir : 

  • 1000 ko / 0,5 ko = 2000 transactions par bloc (soit toutes les 10 minutes)

Ou en transactions par seconde : 

  • 10 x 60 = 600 secondes  
  • 2000 transactions / 600 secondes = 3,33 transactions/seconde

Ce qui est bien évidemment une moyenne. Mais si nous retraçons l’historique des transactions/seconde du réseau Bitcoin, nous nous retrouvons pas loin de cette moyenne :

Transactions par seconde sur Bitcoin
Blockchain.com

Je n’achèterai pas mon pain en bitcoin

Utiliser le réseau Bitcoin pour réaliser des transactions implique également de régler des frais par transaction. 

Frais de transaction sur Bitcoin
Blockchain.com

Les frais de transaction varient en fonction de la congestion du réseau. Plus il y a un volume de demande important, plus ces frais sont susceptibles d’augmenter et réciproquement à la baisse lorsque les volumes diminuent. Dans ce contexte, nous comprenons, d’une côté, qu’il est difficile de faire ses achats quotidiens en réglant des frais par transaction relativement élevés, et de l’autre, que la capacité d'exécution de 3,33 transactions/seconde n’est pas viable dans un monde où le nombre de transactions explose. Acheter un croissant avec un coût de transaction variant entre 1,5 et 5 dollars ainsi qu’avec une durée de validation de la transaction d’au moins 10 minutes n’est pas compétitif.

La sécurité prime sur les autres paramètres

La problématique qui entoure le compromis vitesse et sécurité est au cœur du processus de validation et de sécurisation des transactions du mécanisme de preuve de travail de Bitcoin. En contraignant les acteurs à respecter une durée de validation des blocs de 10 minutes, Satoshi Nakamoto a voulu maximiser la sécurité du réseau avant tout en adaptant la difficulté de minage via le taux de hachage qui représente la variable d’ajustement de cette difficulté. Comme nous l’avons vu, il est peu probable, pour ne pas dire impossible, que le Bitcoin, en l’état actuel du réseau, puisse devenir un réseau de paiement quotidien. Il est trop lent et trop cher. En revanche, la sécurité absolue du réseau ne peut pas être remise en cause et pourrait dans une certaine mesure être utilisé pour des transactions critiques comme l’achat d’une voiture ou d’un bien immobilier. 

Mais Bitcoin ne reste pas figé sur ses acquis

Le réseau Lightning Network joue le rôle de seconde couche technologique pour le Bitcoin. Autrement dit, ce sont des transactions qui sont opérées en dehors de la blockchain via des canaux de paiement entre plusieurs acteurs. Cette seconde couche permet une scalabilité accrue par l’enregistrement des transactions en fonction de leur degré de criticité une fois que l’ensemble des échanges ont été réalisés entre les acteurs. Par analogie, le Lightning Network peut être comparé au mécanisme de compensation des systèmes bancaires. Si une banque A doit 15 euros à la banque B, et si la banque B doit 20 euros à la banque A, alors la banque B réglera 5 euros à la banque A afin d’éviter un double versement. Cela permet d’enregistrer uniquement sur Bitcoin  la transaction finale entre les différents acteurs. Autrement dit, il s’agit de profiter de la sécurité absolue du réseau Bitcoin tout en profitant de la scalabilité de la seconde couche Lightning Network pour réaliser des transactions. Ne vous inquiétez pas, je vous concocte un article dédié au Lightning Network qui explorera cette seconde couche sous toutes ses coutures. A retrouver très vite dans les colonnes de Zonebourse.