Mercredi dernier Gabriel Brémond de Keyrus est venu animer le 3e Open Learning de Junior Conseil UTT. À cette occasion nous avons pu découvrir la Blockchain et ses usages.
La blockchain, ou “chaîne de bloc” est une technologie de stockage et de transmission d’infos permettant de se passer d’un organe de contrôle.
Il s’agit d’une base de données distribuée qui gère une liste d’enregistrements, protégés contre la falsification, liés et sécurisés.
Si ses applications sont récentes, le concept de Blockchain est plus vieux que vous pourriez le croire.
Historique de la Blockchain
Bien qu’ayant trouvé ses applications récemment, la Blockchain est un concept ancien.
Elle apparaît en 1991 lorsque Stuart Haber et Scott Stornetta réalisent une première étude sur les chaînes de blocs cryptographiquement sécurisées.L’idée des Blockchain est alors née.
Mais en 2009 elle revient sur le devant de la scène avec l’apparition du Bitcoin qui est encore aujourd’hui la crypto-monnaie la plus connue.
Cependant les possibilités offertes par la Blockchain vont bien au-delà des crypto-monnaies. Pour mieux comprendre son champ d’applications, étudions d’abord ses caractéristiques.
Caractéristiques de la Blockchain
La Blockchain est caractérisée par 4 composantes fondamentales étant:
- La Garantie des contenus : la blockchain prévient toute modification du contenu la rendant ainsi fiable
- La Garantie de l’ordre : impossibilité de modifier l’ordre des éléments de la blockchain)
- Infalsifiable : on ne peut pas modifier un élément mis dans la blockchain
- Distribuée : tous les acteurs de la blockchain ont accès à l’intégralité de la Blockchain
Ces 4 caractéristiques sont indissociables de la Blockchain, elle se compose forcément au moins de ces 4 critères.
Contenu d’un bloc
La Blockchain peut être traduite en français par “chaîne de blocs”. Il s’agit donc d’un enchaînement de blocs d’informations au format standardisé. Ils sont formés de la manière suivante :
- La date de création ou timestamp : cette date est immuable
- Les données devant être stockées : pas de limite de forme ou de taille imposées par ce système
- Hash du bloc précédent
- Hash de la mise bout à bout des informations suivante : Date de création, données du bloc et hache du bloc précédent.
Cette dernière notion de hachage est primordiale dans le fonctionnement de la Blockchain, nous allons la voir plus en détail.
Le hachage
Le hachage est une fonction informatique qui entraîne la formation d’un hash ou “empreinte”.
Les fonctions de hachage permettent de transformer une donnée en entrée en une suite de caractères l’identifiant. Cette empreinte aura toujours la même longueur, peu importe la taille de la donnée en entrée.
De plus, une empreinte est unique et il est impossible de remonter à la donnée d’entrée en l’utilisant.
Lorsqu’une même empreinte est obtenue à partir de différentes données, on parle de “collisions”. Les collisions existent, mais sont très peu probables, notamment avec l’amélioration des algorithmes de hachage.
Mise en relation des blocs
C’est donc le hash qui permet de relier les blocs entre eux puisqu’il les identifie.
Mais comment faire pour le premier bloc? Qui n’a donc pas de prédécesseur.
On parle alors de “Genesis Block”, on trouvera une valeur dans le previous hache, mais qui ne renverra vers aucun bloc.
De plus cette notion de hash implique que si l’on désire modifier un des blocs, cela entraîne de recalculer tous les maillons suivants étant donné que les hashs auront changé.
Bien que cette manipulation soit complexe, elle reste réalisable. Or nous voulons que la Blockchain soit non modifiable !
Pour pallier à ce problème, il suffit de rendre le bloc très difficile à calculer, mais rapide à vérifier. Ainsi il a été choisi de mettre en place des conventions dans la forme des hashs. Ainsi ils sont recalculés tant qu’ils ne satisfont pas cette condition.
Une convention peut par exemple être de commencer le hash du bloc par 000000. De cette manière on augmente considérablement le temps de calcul d’un bloc tout en permettant de vérifier rapidement sa cohérence avec le reste de la Blockchain.
Authentifier l’auteur
Le bloc est désormais construit. Il a été difficile à créer, mais est rapide à contrôler. Néanmoins comme nous l’avons vu au début, la Blockchain est une technologie distribuée c’est-à-dire que les données et les calculs sur ces données sont reliés à plusieurs endroits pour assurer leur présence sur le réseau.
Mais dans cette configuration comment faire pour authentifier l’auteur d’un bloc ?
La cryptographie trouve la solution dans les mécanismes de clés asymétriques. Ce sont des méthodes que nous utilisons quotidiennement dans tous nos échanges numériques. Mais plus qu’un long discours, cette vidéo vous l’expliquera mieux :
Conclusion
Vous avez maintenant une vue d’ensemble du mécanisme de la Blockchain. Il se caractérise par :
- La garantie des contenus : la blockchain prévient toute modification du contenu la rendant ainsi fiable
- La Garantie de l’ordre : impossibilité de modifier l’ordre des éléments de la blockchain)
- L’Infalsifiabilité : on ne peut pas modifier un élément mis dans la blockchain
- La Distribution : tous les acteurs de la blockchain ont accès à l’intégralité de la Blockchain
Ces critères sont obtenus par la complexité de création des blocs et la facilité de leur contrôle. De plus, les auteurs des blocs sont authentifiés de manière sûre grâce au mécanisme de clés asymétriques.
Pour finir, la Blockchain est distribuée afin d’en assurer la présence sur le réseau et permettre à tous d’en être le garant.
Aujourd’hui la Blockchain est notamment utilisée dans les crypto-monnaies telles que le Bitcoin. Cependant ses usages peuvent aller bien au-delà, et plus que de chercher à tout prix à l’appliquer là où elle n’apporte rien, il faut voir la Blockchain comme une nouvelle solution à certains problèmes.
Junior Conseil UTT adresse ses remerciements à Keyrus et à Monsieur Gabriel Brémond pour son intervention.