Qu'est-ce qu'une blockchain et à quoi ça sert ?

Alors ça, c'est une bouteille de lait...
Economie 14 min
Qu'est-ce qu'une blockchain et à quoi ça sert ?
Crédits : MF3d/iStock

Petit à petit, les blockchains font leurs nids. Entre l'envol du bitcoin, qui a dépassé les 12 000 dollars, les levées de fonds en crypto-monnaie ou les initiatives de banques et d'assurances qui misent sur cette technologie, il nous a semblé utile de faire le point sur ce qu'est une blockchain, et comment cela fonctionne.

Les blockchains font de plus en plus parler d'elles, et leur usage ne se limite plus seulement aux crypto-monnaies. De grandes entreprises y font en effet appel pour résoudre certaines de leurs problématiques en matière de traçabilité. Des banques et assurances y voient un potentiel dans le cadre de transferts d'argent ou l'execution de contrats automatisés.

Des usages pas forcément évidents à cerner, quand on parle d'un outil d'abord présenté comme un moyen de spéculation. Comment cette technologie, jusqu'ici utilisée à des fins financières, peut-elle être exploitée dans d'autres domaines, et surtout comment ça marche ? C'est ce que nous allons tenter de vous expliquer.

Anatomie d'une blockchain

Commençons par décrire le principe général d'une blockchain (ou chaine de blocs). La littérature la décrit généralement comme un registre informatique distribué, réputé infalsifiable.

En clair, c'est un grand livre qui enregistre des faits, des informations et des transactions, de manière sécurisée, grâce à l'utilisation de procédés cryptographiques. Ces données sont réputées inaltérables, et peuvent être partagées à qui on le souhaite. L'ensemble des données de la chaîne sont distribuées par blocs à l'ensemble des nœuds du réseau qui la composent, ce qui permet une certaine résilience des données, et surtout un fonctionnement décentralisé. 

Régulièrement, de nouveaux blocs sont émis sur la blockchain, contenant les changements apportés au registre principal. Chacun des blocs comprend un hash (une empreinte) de la signature du précédent, ce qui permet de remonter simplement l'historique des modifications.

Mais comment peut-on s'assurer que les changements apportés dans chaque bloc sont authentiques ?

La preuve de travail (PoW), comment ça marche ?

Il faut obtenir le consensus de la majorité des acteurs du réseau. Et pour cela, plusieurs méthodes existent. La plus répandue dans le domaine des crypto-monnaies s'appelle la preuve de travail (Proof of Work ou PoW). Ce procédé a été théorisé en 1992, bien avant l'arrivée de Bitcoin et a été mis en œuvre pour la première fois avec HashCash, une solution qui devait limiter la prolifération des spams, mais n'a jamais été adoptée à grande échelle.

Dans le cas des crypto-monnaies, les mineurs, qui mettent à disposition du réseau leur puissance de calcul, doivent réaliser des opérations coûteuses en énergie. Il leur faut « hacher » l'ensemble des transactions à ajouter à un bloc, ainsi que le hash du bloc précédent en respectant diverses contraintes fixées par le niveau de difficulté demandé par le réseau. Le premier à trouver la solution à ce problème la diffuse au reste du réseau, qui la vérifie.

Une fois le consensus du réseau obtenu, le bloc est validé, et les transactions qu'il contient sont considérées comme exécutées. Le calcul de vérification est quant à lui très rapide et peu coûteux. Cela peut s'apparenter à un sudoku : la solution demande beaucoup d'efforts avant d'être trouvée, mais il est aisé de vérifier sa justesse.

Bien évidemment, pour éviter que les blocs ne soient chiffrés trop rapidement (et donc potentiellement falsifiables), la difficulté du chiffrement augmente à intervalles réguliers en fonction du nombre d'acteurs présents dans la chaîne. Il est donc très compliqué, et coûteux, pour un acteur de prendre le contrôle du réseau, puisqu'il aurait besoin pour cela de déployer davantage de puissance de calcul que l'ensemble de tous les autres. 

SHA-256, Scrypt et les autres

La plupart des crypto-monnaies se basent sur ce principe, qu'il s'agisse de Bitcoin, Ethereum, Litecoin... Elles se différencient sur deux points : l'algorithme utilisé pour la preuve de travail et le matériel nécessaire pour le traiter efficacement. 

Plusieurs d'entre eux nécessitent du matériel spécialisé dans leur traitement, c'est notamment le cas de Bitcoin (et de l'ensemble des monnaies basées sur SHA-256) ainsi que Litecoin et ses dérivés s'appuyant sur Scrypt. Pour ces deux algorithmes, il est toujours possible de travailler avec un processeur de PC standard (CPU) ou une carte graphique (GPU), mais des puces dédiées (des ASICs ou application-specific integrated circuits) offriront de meilleurs résultats, avec une efficacité énergétique supérieure. 

Certains ont été conçus pour que leurs solutions ne puissent être trouvées de manière efficiente qu'avec des cartes graphiques. C'est le cas de Dagger Hashimoto, utilisé par Ethereum, ou encore d'Equihash, employé pour zCash. D'autres comme CryptoNight combinent des éléments plus facilement traités par un CPU ou un GPU. 

Controverse sur l'efficacité énergétique

La difficulté évoluant à la hausse en même temps que le réseau, la probabilité d'obtenir une récompense en minant un bloc (c'est-à-dire en trouvant la solution qui répond aux critères requis) dépend de la part de la puissance de calcul que l'on représente dans le réseau.

Ainsi, si vous pesez 1 % du total, vous aurez mathématiquement 1 % de chance de trouver le bon calcul pour un bloc. Pour maintenir leurs revenus, les mineurs doivent donc régulièrement mettre à jour leur matériel pour amener davantage de puissance de calcul et augmenter leurs chances de trouver la solution d'un bloc (ou capter une plus grande part des revenus s'ils font partie d'un « pool »). 

Ce mode de fonctionnement est à la fois un point fort du système, car il limite mécaniquement les risques de prise de contrôle hostile du réseau, mais également un point faible, car il nécessite une dépense énergétique considérable.

Aujourd'hui, la consommation électrique induite par le réseau Ethereum était estimée à 10,8 TWh par an, soit l'équivalent de celle d'un pays comme l'Uruguay, ou 58 kWh pour chaque transaction. De quoi charger plus de la moitié de la batterie d'une Tesla Model S P100D.

Bitcoin consommation
Estimation de la consommation electrique attribuée au réseau Bitcoin - Crédits : Digiconomist

Pour Bitcoin, la note est encore plus salée. Le réseau consommerait à lui seul plus de 30 TWh par an, soit davantage qu'un pays comme le Barhein et à peine moins que le Maroc ou le Danemark. Tout ça pour traiter une moyenne de 7 transactions par seconde (sur un maximum théorique d'environ 11 par seconde), contre 3 300 par seconde pour MasterCard et Visa, en 2015, rien qu'aux États-Unis.

Avec l'énergie consommée pour miner sur le réseau Bitcoin, il serait possible de couvrir plus de 6,5 % de la consommation électrique française. Une seule transaction réclamerait 275 kWh, presque assez pour faire le plein de trois Tesla.

Il est toutefois difficile de se faire une idée de la quantité d'énergie requise pour effectuer une transaction en passant par le système d'American Express, Mastercard ou Visa. ll faudrait en effet tenir compte de la consommation des différents datacenters de chacun d'eux, jusqu'à celle des terminaux utilisés pour le paiement. Une équation avec un trop grand nombre d'inconnues pour être calculée sereinement.

Quelques-uns se sont risqués à une première estimation, forcément approximative, selon laquelle une transaction avec une carte Visa nécessiterait en moyenne 5 000 à 7 000 fois moins d'énergie. Une chose est sûre, le sujet devrait encore faire l'objet de débats dans les mois à venir.

La preuve d'enjeu et ses alternatives

Des alternatives à la preuve de travail ont ainsi été mises au point, et expérimentées avec un certain succès. À commencer par le principe de la preuve d'enjeu/temps (PoMAS ou Proof of Minimum Aged Stake), utilisé par exemple par la crypto-monnaie Nxt.

Ici, point de mineurs et nul besoin de fermes de serveurs. La probabilité pour un utilisateur de signer un bloc dépend uniquement de la quantité de pièces dont il dispose. À chaque nouveau bloc, une pièce existante est sélectionnée aléatoirement et c'est son propriétaire qui signe la transaction, forgeant une nouvelle pièce au passage.

Quelques conditions sont évidemment à remplir pour être capable de forger de nouvelles pièces. Dans le cas de Nxt, l'utilisateur doit disposer d'un minimum de 1 000 pièces sur son portefeuille, et ce depuis au moins 1 440 blocs (soit environ 24 heures) afin d'être sélectionnable.

Pour prendre le contrôle du réseau, il faut ici disposer de plus de la moitié de sa masse monétaire totale, ce qui dans le cas de Nxt nécessite 390 millions de dollars environ ou 75 millions pour Peercoin. De coquettes sommes qui rendent la moindre attaque coûteuse et en limitent l'intérêt.

Plusieurs variantes de ce principe, qui se veut plus économe en énergie (peu ou pas de calculs étant requis) ont ainsi émergé. On retiendra par exemple la preuve de possession (Proof of Hold ou PoH), où cette fois-ci le poids du vote de chaque pièce dépend du temps pendant lequel elle a été conservée. Le problème de cette méthode est qu'elle incite les utilisateurs à ne pas effectuer de transactions, afin de maximiser les chances d'être choisis pour générer les prochaines pièces. Autrement dit, les épargnants sont récompensés.

À l'extrême opposé, le principe de la preuve d'utilisation (Proof of Use ou PoU), donne davantage de droits de vote aux pièces fraîchement dépensées. Le problème posé est alors à l'inverse de celui de la PoH : les utilisateurs sont incités à spammer le réseau de transactions entre plusieurs adresses leur appartenant, afin de garder des droits de vote maximaux. 

Ethereum, la blockchain abritant l'une des crypto-monnaies les plus utilisées, doit d'ailleurs passer à moyen terme d'un système de preuve de travail, à un autre basé sur la preuve d'enjeu, qui lui ne réclamera aucun calcul compliqué pour le maintien du réseau.

Les premières briques de cette transition ont été posées il y a peu, mais les travaux se poursuivront encore l'an prochain.

Comment se déroule une transaction sur une blockchain ?

Une transaction inscrite sur une blockchain ressemble à ceci :

Blockchain transaction

On y trouve plusieurs éléments. Tout en haut et démarrant par « c4bd », on retrouve l'identifiant de la transaction. Il est unique et permet de la retracer dans la blockchain. À gauche, on trouve une adresse (ici Bitcoin) commençant par « 14j5 ». C'est d'elle que sont partis les fonds. Il s'agit de la partie publique d'une paire de clés cryptographique.

À droite, on retrouve deux opérations. L'un de 200 BTC destiné à l'adresse « 1L6d », l'autre d'environ 14 BTC vers « 1PJU ». Cela tient à une particularité du protocole Bitcoin. Lorsqu'on y effectue une transaction, la totalité des fonds présents sur une adresse sont obligatoirement déplacés.

Dans l'échange ci-dessus, les 200 BTC sont en réalité envoyés dans une adresse dite de retour, qui appartient au propriétaire du compte de départ. Ce point est géré automatiquement par les portefeuilles Bitcoin.

Ici, la véritable transaction est donc l'envoi d'environ 14 BTC à l'adresse « 1PJU ». Il faut également s'attarder sur les lignes « total des entrées » et « total des sorties ». On remarque qu'il y a 0,001 BTC (1 mBTC) de plus dans les entrées que dans les sorties. Ce millibitcoin de différence correspond aux frais de transaction que l'expéditeur a décidé de payer, pour que son opération passe dans la blockchain.

Ce millibitcoin sera ajouté à la récompense de base offerte aux mineurs lors de l'ouverture d'un bloc. Par exemple, le bloc numéro 496492, d'où l'on a extrait la transaction décrite plus haut, renfermait 2 052 transactions pour lesquelles au total 1,05 BTC de frais ont été payés par les émetteurs, qui se sont additionnés aux 12,5 BTC crées par le bloc. 

Théoriquement, il est possible de ne pas verser de frais de transaction, mais la priorité de passage dans le bloc suivant dépend du montant accordé pour les frais. Si vous n'en prévoyez pas assez, votre transaction ne sera pas prioritaire et devra attendre le passage de plusieurs (dizaines ?) de blocs avant d'avoir sa place. Au contraire, des frais plus généreux vous accorderont un coupe-file pour la prochaine série de validation.

Des sites comme Bitcoinfees permettent d'avoir une idée des frais à dépenser pour figurer en bonne position.

Ethereum : smart contracts et dApps

La blockchain Ethereum est particulière à plus d'un titre. Sa conception même permet l'exécution de ce que l'on appelle des smart contracts, ou contrats intelligents. Il s'agit de petits morceaux de code stockés dans la blockchain qui automatisent certaines actions. 

Ces mini programmes sont écrits dans un langage spécifique : Solidity. Chacune des opérations effectuées au sein des contrats a un coût, exprimé en gas. La liste complète des coûts pour chaque opération est accessible à partir de la page 20 de ce document. Une transaction classique (qui n'est finalement qu'une forme élémentaire de smart contract) coûte ainsi 21 000 gas pour être exécutée.

Le gas se paye à l'aide d'Ether, la crypto-monnaie liée à la blockchain Ethereum, et son prix est variable. Plus un utilisateur paie cher son gas, plus l'opération qu'il souhaite réaliser s'exécutera prioritairement (par rapport aux autres utilisateurs). Ce code est exécuté dans ce qui est appelé l'EVM, pour Ethereum Virtual Machine.

Il devient ainsi possible de lier la validation de transactions à l'exécution de certaines conditions. Par exemple, déclencher un paiement en crypto-monnaie si le suivi d'un colis indique qu'il a été reçu par son destinataire. Il est bien évidemment possible de faire exactement la même chose plus simplement sans utiliser de blockchain. L'intérêt de la technologie tient ici dans la traçabilité des opérations, ainsi qu'à l'ouverture et l'inviolabilité du registre qui les recense. 

Il est possible d'aller encore plus loin en développant des « dApps » ou applications distribuées. Nous avions ainsi relayé en août le cas d'une plateforme permettant de casser des mots de passe entièrement décentralisée et s'appuyant sur des smart contracts Ethereum.  

Son principe : un internaute envoie une empreinte (hash) de mot de passe dont il veut retrouver l'original. Si quelqu'un envoie la bonne réponse et que le réseau le vérifie, le contrat se déclenche et paie la récompense choisie par l'émetteur du hash. Le tout en assurant la traçabilité de l'opération. 

Et en dehors des crypto-monnaies ?

Si dans l'inconscient collectif la blockchain est associée aux crypto-monnaies, son principe n'est pas seulement applicable à ce domaine. Les banquiers, les assureurs et même les constructeurs automobiles s'y intéressent de très près, tout comme certains gouvernements. 

Pour comprendre cela, il faut revenir sur le concept de départ d'une blockchain. Ce n'est ni plus ni moins qu'un registre distribué au sein d'un réseau, librement consultable, mais nécessitant un vote de ses acteurs avant de valider le moindre changement dans son contenu. Le poids de ces votes étant lié à la possession préalable d'un jeton (Proof of Stake) ou à la fourniture de puissance de calcul (Proof of Work), le registre ne peut être que très difficilement falsifié (le risque zéro n'étant pas de ce monde). 

Ce registre peut contenir absolument n'importe quoi. Dans le cas des crypto-monnaies il est utilisé comme un livre de comptes, mais il pourrait aussi bien être mis à contribution pour contrôler les stocks d'un entrepôt, suivre des colis ou n'importe quel autre usage où la traçabilité est un facteur clé.

Que faire avec un outil pareil ? Chez Renault par exemple, l'idée retenue est celle d'un carnet d'entretien numérique pour les véhicules de la marque en partenariat avec Microsoft et Viseo. À chaque passage dans un garage, les différentes interventions effectuées sur le véhicule y seraient inscrites par le chef d'atelier, ainsi que son kilométrage.

Lors de la revente, le propriétaire pourrait ouvrir aux acheteurs potentiels l'accès au carnet en ligne afin qu'ils puissent le consulter et s'assurer que l'entretien de la voiture a été mené dans les règles, ou bien que son kilométrage correspond bien à la réalité. Air France y songe également pour suivre les opérations de maintenance de ses avions.

Du côté des assureurs, Axa propose par exemple des contrats permettant de toucher automatiquement une indemnité forfaitaire si votre vol transatlantique au départ de Paris subit un retard de deux heures (voir notre analyse). Une solution qui s'appuie sur la blockchain d'Ethereum et permet de déclencher des paiements immédiats, sans avoir à tergiverser avec le service client. 

Bref, les possibilités sont multiples, et quel que soit l'avenir des crypto-monnaies, qui commencent à se faire une place chez les néo-banques et dans les contrats à termes, la blockchain est sans doute une technologie dont on va entendre parler de manière croissante dans les années à venir.

Son évolution sera intéressante à suivre, certains défauts du concept devant être corrigés ou adaptés selon les cas, mais les prémices de la révolution qu'elle porte sont déjà là. Ne reste plus qu'à les exploiter.

Vous n'avez pas encore de notification

Page d'accueil
Options d'affichage
Abonné
Actualités
Abonné
Des thèmes sont disponibles :
Thème de baseThème de baseThème sombreThème sombreThème yinyang clairThème yinyang clairThème yinyang sombreThème yinyang sombreThème orange mécanique clairThème orange mécanique clairThème orange mécanique sombreThème orange mécanique sombreThème rose clairThème rose clairThème rose sombreThème rose sombre

Vous n'êtes pas encore INpactien ?

Inscrivez-vous !