Temps de lecture : 6 minutes
« Blockchain » : le terme est sur toutes les lèvres du monde financier. Souvent assimilée au sulfureux bitcoin, cette technologie offre des promesses inégalées en terme de sécurité et d’autonomie. Mais comment fonctionne le blockchain, et quelles sont ses applications ?
Au-delà du monde de la finance, le blockchain pourrait bien révolutionner l’économie en remplaçant les tiers de confiance centralisés par un système informatique décentralisé. Explications.
Le blockchain est un réseau constitué de milliers d’ordinateurs répartis partout dans le monde, qui travaillent en permanence à la sécurité du système. Chaque ordinateur stocke une copie des échanges effectués, et chaque bloc de transaction validé est ajouté au registre, ce qui forme la chaîne de blocs.
Bitcoin et blockchain
Prenons l’exemple du bitcoin qui s’appuie sur une blockchain créée en 2012. Le principe de base est de rendre inviolable l’historique des transactions stockées dans la chaîne. Pour ce faire, on va s’appuyer sur le réseau d’internet et sur le hachage.
Qu’est-ce que le hachage ? Une
fonction de hachage prend n’importe quelle donnée et la mouline pour en sortir un résultat incompréhensible. La particularité est que, contrairement au chiffrement dans lequel on peut retrouver les données initiales grâce à la bonne clef tenue secrète, avec le hachage il est absolument impossible de retrouver les données initiales. On ne peut aller que dans un sens. Tout ce qu’on sait, c’est que hacher une même donnée donnera toujours le même résultat, alors que le moindre petit changement le fait varier entièrement. Quel est l’intérêt alors ? Cela sert à vérifier qu’une donnée, qui peut être très volumineuse et complexe, est identique à un modèle en comparant plus simplement les hachages. Par exemple, le hachage est utilisé pour vérifier qu’un téléchargement s’est bien déroulé. Il suffit de calculer le hachage du fichier, de façon presque instantanée, et de le comparer à celui fourni sur le site, ce qui est infiniment plus rapide à récupérer que le fichier même.
Comment le hachage est-il exploité dans le cas de la blockchain ? Les données sont verrouillées dans un bloc en les complétant de manière suffisamment originale pour que ce soit difficile à réaliser. Concrètement, on impose au résultat du hachage de commencer par un grand nombre de zéros. Comme ces résultats sont plus rares avec le nombre de zéros, il est très long d’en trouver. En effet, vu que le hachage ne fonctionne que dans un sens, il n’y a pas de solution plus rapide que de générer des caractères aléatoires à ajouter au bloc de données, puis de calculer le hachage pour vérifier si cela respecte la condition. Sinon il faut trouver d’autres caractères et recommencer. Afin de chaîner les blocs de données, et de créer la blockchain proprement dite, on ajoute dans chaque bloc le résultat du hachage précédent. Ainsi, si on modifie un élément de la chaîne, le résultat du hachage redevient commun (pas de zéros) et il faut donc retrouver une bonne combinaison de caractères aléatoires pour le bloc modifié, mais également pour tous les suivants par réaction en chaîne sur les variations de valeur des hachages.
Dans le cas du bitcoin, la difficulté (le nombre de zéros) est réglée pour que cette opération prenne 10 minutes en moyenne. Ainsi, tout le réseau participant, les «
mineurs de bitcoin« , cherche en permanence, qu’il y ait des transactions ou non, à ajouter un bloc à la chaîne. Le premier qui y arrive est récompensé par des bitcoins et sa chaîne est acceptée par le reste du réseau (car elle est plus longue…) afin de travailler sur le bloc suivant. L’idée est qu’un attaquant, pour réussir à modifier une transaction, ne peut pas passer discrètement par une porte dérobée pour hacker un compte sans que personne ne s’aperçoive du changement. Il est obligé de s’engager frontalement dans une course contre le réseau pour le dépasser en nombre de blocs. Une course qui lui est hautement défavorable dès l’instant qu’il possède moins de 50% de la puissance de calcul du réseau.
La fiabilité du système Bitcoin ?
Est-ce que c’est si fiable que cela ? Assez oui. Pour s’en convaincre, on utilise le scénario de l’attaquant qui génère une transaction sur le réseau, mais travaille en secret sur une chaîne alternative avec sa transaction modifiée. Le modèle correspondant est celui de la marche aléatoire binomiale, dans lequel l’événement succès est que le réseau ajoute un bloc, augmentant la distance entre la tête honnête et frauduleuse de 1, et l’échec quand l’attaquant trouve un bloc, réduisant cet écart de 1. Les chances que l’attaquant parvienne un jour à dépasser la chaîne honnête correspondent dans ce cas à la probabilité de ruine dans le problème du parieur. En laissant de côté les mathématiques, cela veut dire que plus la transaction est recouverte par un grand nombre de blocs, plus il est certain qu’elle ne sera plus jamais modifiée. Si l’attaquant n’a pas un gros coup de chance dès le début, c’est fini pour lui. Par exemple, pour être certain à 99,9% de sa transaction, dans un réseau où 10% de la puissance est maîtrisée par un assaillant, il suffit d’attendre 5 blocs, soit 50 minutes environ. Et même dans le cas extrême où 40% du réseau est corrompu par un super vilain, attendre 89 blocs, soit moins de 15h, permet toujours d’assurer le coup. À mettre en relation avec le nombre de jours ouvrés pour valider un virement, en particulier pour les grosses sommes.
Les possibilités du Blockchain
Ainsi, avec la simple hypothèse très souple que le réseau est plutôt honnête dans son ensemble, on met en place un système d’échange sans aucun intermédiaire dont l’historique est inviolable avec une assurance arbitraire. Intéressant. Mais que se passe-t-il si on décide d’introduire autre chose que des transactions dans le bloc ? Eh bien cela fonctionne en théorie, il suffit que le réseau honnête soit d’accord dès le départ sur ce qu’il stocke. Le système de la blockchain est indépendant des données stockées. Et c’est là que le principe prend tout son sens. La blockchain n’est pas qu’un support de monnaie mais un support d’information fiable et décentralisé. Ce principe s’appliquerait particulièrement bien à l’inscription au cadastre par exemple ou à la mise en place d’une enveloppe Soleau. Deux personnes se sont même
mariées sur blockchain.
Blockchain et les banques
Qu’en est-il de la banque dans tout ça ? Eh bien, elle s’y intéresse de très près. Dans le contexte stressant de l’après crise, de la montée des
comptes sans banque et des
Fintech, les banques sont bien décidées à ne pas manquer le créneau de la blockchain. Une
alliance sans précédent de neuf des plus grandes banques (dont Barclays, Goldman Sachs et JP Morgan) s’est créée autour de cette technologie pour minimiser les coûts de transaction. Mais l’innovation pourrait ne pas s’arrêter là. La blockchain pourrait également être utilisée pour transmettre des contrats par exemple afin d’éviter tout litige ou afin de tracer l’activité dans le cadre des audits. Aussi, ces innovations porteront avec elles d’autres secteurs d’activité comme la sécurité, le NoSql, voire le BigData au niveau de l’analyse et de l’exploitation des données de la blockchain et du réseau. Enfin, du côté des détracteurs, il convient de se poser la question de la consommation d’un tel système qui immobilise une quantité non négligeable de puissance de calcul, donc de consommation d’énergie. Malgré cela, pour Vitelik Buterin, fondateur d’
Ethereum, les blockchains pourraient gérer
plusieurs milliards d’utilisateurs d’ici 5 ans.