Urban Linker
Vous cherchez un talent ? Choisir ce profil
Profil marketing - com
Profil marketing - com
Heros du marketing
Profil technique
Profil technique
Ninja du code
Profil creatif
Profil creatif
Creatif de l'espace
Profil commercial
Profil commercial
Champion des ventes
Tous profils
Tous profils
Identite secrete

La blockchain expliquée en 3 étapes

Tu ne comprends pas grand chose à la blockchain ? Cet article est pour toi !

08.02.2018

Demande à 10 personnes « qu’est-ce que la blockchain ? », et tu obtiendras dix réponses différentes. La meilleure façon de vraiment comprendre la blockchain est de faire un état des lieux des technologies qui se cachent derrière elle, étape par étape. Voyons ensemble les trois composants de la technologie blockchain : la blockchain elle-même, les réseaux peer-to-peer, et le consensus. Sans un seul des trois, le bitcoin n’existerait pas.

Comprendre la blockchain

Pour la faire courte, la blockchain est juste une façon de structurer des données. C’est tout ! C’est un registre : un fichier qui conserve la trace des documents comptables. On peut comparer ce fichier à un livre qui n’est jamais terminé.

Sur chaque page d’un livre sont écrites des informations, ainsi qu’un numéro de page. Grâce à ce numéro, on sait précisément où se trouve la page dans le livre. La page 49 sera par exemple entre les pages 48 et 50.
Tout comme des pages, les « blocs » sont remplis d’information. Et s’ils n’ont pas de numérotation exacte, ils sont horodatés, ce qui remplit exactement la même fonction. Un nouveau bloc sera toujours ajouté après le bloc le plus récent. Ainsi, une chaîne se forme.

L’avantage de ces chaînes, c’est que l’on est notifié dès que la moindre information (sur n’importe quelle page) est modifiée. Cette propriété les rend très adaptées pour garder trace de n’importe quelle transaction.
Dans la blockchain « Bitcoin », les blocs contiennent des informations sur les transactions effectuées en Bitcoin. Ils indiquent qui a envoyé quel Bitcoin à qui.

Comme la blockchain a été utilisée pour garder une trace des mouvements de tous les Bitcoins depuis leur création, il est tout à fait possible de vérifier sur le registre qui possède quel Bitcoin, à n’importe quel moment. Ce « qui possède quoi » à un moment donné est appelé le current state (l’état actuel) de la blockchain.

Une transaction n’existe qu’une fois qu’elle est incluse dans un bloc, et ajoutée à la chaîne. De ce fait, dès qu’un bloc est ajouté à la chaîne, le current state de la blockchain est mis à jour : des Bitcoins ont été déplacés.

Pour valider si une transaction a réellement été effectuée, je dois pouvoir vérifier le statut de la blockchain : le registre doit être accessible au public. C’est ici qu’interviennent les réseaux peer-to-peer.

Comprendre le rôle des réseaux peer-to-peer

Pour utiliser une blockchain comme registre pour des données transactionnelles, je dois être en mesure de vérifier, dans la blockchain, si quelqu’un a effectué une transaction vers mon adresse / mon porte-feuilles.

Si la blockchain n’était stockée que sur un seul ordinateur, et qu’on l’éteignait, ce serait plutôt… embêtant. C’est pourquoi le current state de la blockchain est téléchargé, synchronisé et rendu disponible par un grand nombre d’ordinateurs dans le monde entier.

Ces ordinateurs sont appelés des « nodes » (des nœuds), et ils travaillent ensemble en réseau peer-to-peer pour s’assurer que la blockchain est à jour et sécurisée. Chacun de ces nodes stocke la version complète (à jour) de la blockchain. Et chaque fois qu’un bloc y est ajouté, ce sont tous les nodes qui mettent leur blockchain à jour. Utiliser un réseau peer-to-peer a certains avantages :

- On peut toujours vérifier le current state de la blockchain, en utilisant un explorateur de blocs
- On ne dépend pas d’un seul acteur pour connaître le current state de la blockchain
- On ne dépend pas non plus de la sécurité d’un seul serveur pour savoir si la blockchain est sécurisée
- Un utilisateur malveillant devrait hacker des milliers d’ordinateurs au même moment, au lieu d’un simple serveur
- La blockchain n’est jamais supprimée, car il faudrait la supprimer de chaque node
Comprendre le rôle des réseaux peer-to-peer

Tout ceci est très important, mais cela ne signifie pas que la blockchain est soudainement assez sécurisée pour stocker ou traiter des valeurs.
Par exemple : comment est-on sûr que la data (la transaction) dans la blockchain est correcte ? Qui nous dit qu’il n’y a pas de transactions incorrectes parmi les blocs ? Et s’il existe différentes versions de la blockchain dans le monde, comment savoir laquelle montre le « véritable » current state de la blockchain ?
Toutes ces questions sont résolues, de façon très ingénieuse, par un mécanisme de consensus qui existe précisément grâce aux réseaux en peer-to-peer.

Comprendre le consensus

Un mécanisme de peer-to-peer était déjà utilisé en 1999 par Napster. La blockchain, quant à elle, existait bien avant le Bitcoin. Là où Satoshi Nakamoto (le mystérieux fondateur du Bitcoin) a été brillant, c’est en combinant les deux avec un mécanisme de consensus basé sur la cryptographie. Ce consensus permet aux nodes connectés en peer-to-peer de travailler ensemble sans forcément se connaître ou se faire confiance.

« Le but d'un algorithme consensuel est de permettre la mise à jour sécurisée d'un état selon des règles de transition spécifiques, où le droit d'effectuer les transitions d'état est réparti entre les utilisateurs. » Vitalik Buterin (fondateur d’Ethereum)

C’est une phrase compliquée. Pour la faire plus simple : le mécanisme de consensus est un ensemble de règles, qui sont acceptées par les nodes au sein du réseau dès lors qu’ils exécutent le logiciel du réseau. Ces règles permettent de s'assurer que le réseau fonctionne comme prévu et reste synchronisé.

Le protocole de consensus définit les règles suivantes :
  • De quelle façon les blocs sont ajoutés sur la chaine
  • Quand est-ce qu’un bloc est considéré comme valide
  • Comment sont résolus les éventuels conflits 

Peut-être que désormais tu comprends mieux pourquoi « blockchain » n’est pas forcément le terme adapté aux registres distribués que l’on voit de nos jours. Mais ce n’est pas une raison, la prochaine fois que tu entends quelqu’un parler de blockchain en soirée, pour répondre : « Hé, une blockchain est juste une façon de structurer des données. Je crois que tu fais plutôt référence à un registre distribué, hébergé sur un réseau peer-to-peer de nodes participatifs, et dont la coopération est à la fois autorisée et modérée par un protocole de consensus qui définit les règles du réseau ».

Un peu pompeux non ? A la place, il est peut-être temps d’accepter que le terme a évolué pour devenir un concept global désignant l’ensemble des technologies qui rendent possible les registres distribués. 
Articles et jobs de reve
Technique

Développeur PHP confirmé #PurePlayer #MadeInLyon

Lyon, France

Produit grand public, équipe soudée, formation sur Symfony et AngularJS : jeune fullstack, ce challenge n’attend que toi !

CDI Pureplayer 28 à 35 k€

Retournez votre appareil