Il y a deux choses. Un bloc et une chaîne. En prenant du recul, ce n’est qu’une chaîne de blocs. Mais ce ne sont pas des choses physiques. C’est à l’intérieur des ordinateurs sous forme de programmes informatiques. Ici, l’information numérique est divisée en blocs et reliée entre eux.
Par exemple, considérons les blocs suivants, chacun représentant un membre d’une famille. Chacun d’entre eux contient les avoirs de la personne respective.
Mais il y a autre chose. Chacun de ces blocs a quelque chose qu’on appelle un hachage. Un hachage est un ensemble de caractères. Par exemple : « D2MF0U6I ». Le hachage est dérivé des informations contenues dans le bloc. Le bloc de Thomas comprend ses biens : boutique, maison, voiture. Donc le hachage serait quelque chose comme « BOMAVO ». Dans la pratique c’est insensé, mais vous voyez l’idée…
Tous les blocs à la suite contiennent le hachage du bloc qui le précède. C’est ce qui les unit : la chaîne. Si quelqu’un modifie le premier bloc pour ajouter un nouveau bien à Thomas, une moto, le nouveau hachage devient « BOMAVOMO ».
Cependant, le bloc suivant de David a déjà stocké le hachage sous le nom « BOMAVO ». Cette inadéquation brisera la chaîne. Le but du hachage est donc de s’assurer que personne ne modifie les blocs.
Que se passe-t-il si quelqu’un modifie le contenu d’un bloc et met à jour le hachage des blocs successifs ?
C’est possible, mais il y a une chose que je ne vous ai pas dite. Les données de la blockchain ne se trouvent pas dans un seul ordinateur. Il est répliqué dans les ordinateurs de chaque utilisateur du réseau. On dit qu’une blockchain est distribuée.
Si vous rejoignez un réseau blockchain, votre ordinateur téléchargera ces blocs. Si quelqu’un modifie sa version, le réseau considérera ce que la majorité considère comme correct.
Autre chose à savoir sur la blockchain, il n’y a pas que les données qui sont dupliqué, mais les programmes aussi le sont. Toute les machines exécutent en meme temps le programme. Les applications Internet sont centralisées. Prenons Google, sont system reposent tout entier sur ses serveurs informatiques. Votre ordinateur demande de l’information au serveur de Google selon votre besoin.
Dans le cas d’une blockchain, il n’y a rien de central. Le réseau s’appuie sur les ordinateurs de ses utilisateurs pour héberger son programme. Cela signifie que si chaque ordinateur du réseau de la blockchain s’éteint, cette dernière ne fonctionne plus.
Donc une blockchain est formée par un groupe de personnes qui font tourner leurs ordinateurs ! À quoi servent tous ces blocs inviolables ?
Les réseaux blockchains ont plusieurs fonctionnalités. Le Bitcoin est une monnaie numérique et un système de paiement. Ses blocs inviolables tiennent le grand livre de toutes les transactions. Les personnes à travers le monde qui mette à disposition leurs puissances d’ordinateurs au service de la blockchain sont appelées des mineurs. Ils sont récompensés par des bitcoins.
L’Ethereum a une fonctionnalité supplémentaire. Il peut héberger votre code. Développer une blockchain à partir de zéro et construire votre propre communauté est très difficile. Rappelez-vous que les gens doivent sacrifier leurs ordinateurs pour vous ! Ethereum s’occupe de ce lourd travail. Vous devez payer des frais en fonction des coûts de calcul.
Les applications blockchains ne sont pas seulement des systèmes de paiement ou des crypto-monnaies. Cela peut être n’importe quoi, comme un réseau social, une plateforme d’apprentissage, une base de données, etc.
Le Bitcoin et l’Ethereum sont des exemples de blockchain publique. N’importe qui peut en faire partie.
Et si nous voulions faire un réseau privé de blockchain ? Pourquoi quelqu’un aurait-il besoin d’une blockchain privée ?
Voyons le cas suivant : l’entreprise de Paul
Paul est un homme d’affaires. Il fait souvent affaire avec différentes entreprises. Il y a quelques mois, il a signé un contrat avec un détaillant. Bien que les conditions du contrat aient été remplies, le détaillant a refusé de payer.
Ces gens profitent du système judiciaire et persuadent Paul de se contenter d’un salaire moins élevé. Paul a déjà eu de telles expériences. Dans certains cas, il s’est présenté devant les tribunaux. Le temps et l’argent qu’il y a dépensé lui ont coûté ses profits.
Comment pourrions-nous aider Paul ?
Nous devons faire payer le salaire de Paul tous les mois. Il nous faut un déclencheur temporel. L’application calendrier disponible sur tous les smartphones utilise ce déclencheur pour vous rappeler les événements que vous avez noté dessus.
Dans le cas de Paul, une fois que les conditions du contrat sont respectées, le détaillant doit payer. C’est un déclencheur basé sur des conditions. Considérez la dernière fois que vous avez acheté un produit en ligne. Le produit ne sera livré qu’une fois le paiement confirmé.
Les programmes informatiques exécutent ces instructions de manière cohérente. Pour venir en aide à Paul, il faut convertir l’accord du contrat signé entre les deux en code informatique qui effectuera le contrat quoi qu’il arrive.
Le pseudo-code du contrat intelligent entre Paul et le détaillant est :
Si nous somme le 30 mais que le la paye du mois n’a pas encore êtes viré,
Alors
Il faut transférer automatiquement 1000 € du compte détaillant à celui de Paul.
Mais où devrions-nous mettre en place ce code ? La réponse est dans les ordinateurs de tous les mineurs concernés. La banque de Paul et du détaillant fera partie d’un réseau blockchain privé. Paul et le détaillant signeront un contrat codé ou encore appelé contrat intelligent. La blockchain privée sera limitée aux parties impliquées.
Ensuite, il est déployé sur le réseau. La banque en aura une copie. Le 30 de chaque mois quand l’horloge tourne à 00 h 00. Le montant convenu est transféré du compte du détaillant au compte de Paul. Les contrats intelligents aident Paul en obligeant ses clients à payer le montant convenu.
Paul est content parce qu’il n’a pas besoin d’aller au tribunal pour obtenir justice. Au lieu de cela, il peut consacrer ses efforts à la croissance de son entreprise.