Expliquons la Blockchain

Logo BlockchainDepuis quelque temps un mot revient encore et toujours, il est présent dans toutes les bouches, affole les entreprises et intéresse les pôles de R&D : la blockchain. Cette technologie présentée comme étant soit révolutionnaire soit vouée à l’échec intrigue et étonne de par ses possibilités. Dans cet article, je vous présenterais la blockchain et ses différentes applications le plus clairement possible.

Qu’est-ce-que la blockchain ?

Commençons par dire ce que la blockchain n’est pas : la blockchain n’est pas Bitcoin. Il s’agit de l’erreur la plus souvent commise, comme nous allons le voir la blockchain et Bitcoin sont liés, mais il ne faudra en aucun cas les confondre. La première description de la blockchain date du mois d’octobre 2008, dans le « white paper » de Bitcoin. Ce « white paper » est un texte qui décrit le fonctionnement de Bitcoin grâce à une chaine de blocs, il a été écrit par un anonyme sous le pseudonyme de Satoshi Nakamoto.

La blockchain est une technologie qui permet d’enregistrer des transactions définitivement, celles-ci seront immuables. Ses principes fondamentaux sont les suivants :

  • La décentralisation : personne ne la contrôle directement, il faudra un consensus pour que des modifications soient réalisées.
  • La sécurité et la fiabilité : il est théoriquement impossible de modifier une transaction une fois validée.
  • L’horodatage : lors de sa validation chaque transaction est reliée à une date et une heure précise.

La blockchain peut être vue comme un livre de compte décentralisé ou encore  une base de données décentralisée dans laquelle toute entrée ne pourrait être modifiée. Les implémentations de la blockchain sont multiples et variées : Bitcoin, Ethereum, Lisk etc…

Comment fonctionne la blockchain ?

La blockchain se base sur des principes informatiques simples : le partage en P2P, la signature électronique et sa vérification, le hachage de fichier. Voici une courte explication du fonctionnement de ces technologies :

Architecture client-serveur et Architecture p2p

Partage P2P : Dans les modèles conventionnels, le téléchargement d’un fichier se fait via un serveur, celui-ci hébergeant les fichiers. Les clients se contentant de télécharger ces fichiers. Dans le cas du partage en P2P, chaque client est aussi un serveur, ce qui signifie qu’il peut télécharger des fichiers mais que d’autres utilisateurs peuvent aussi télécharger des fichiers qu’il possède. Chaque utilisateur participant à ce réseau est appelé un nœud (plus d’informations sur les réseaux pairs à pairs).

 

Signature électronique : De manière similaire à la signature physique, la signature électronique permet d’authentifier un utilisateur. Chaque signature électronique est unique et est composée de 2 parties : la clef privée et la clef publique. La clef privée permet de signer et la clef publique permet de vérifier cette signature.

Tampon encreur et photographie résultat tampon

Une analogie peut être faite avec un tampon encreur: la clef privée correspondrait au tampon, et la clef publique serait une photographie du résultat du tampon. Lorsque l’on signe une transaction, on applique le tampon, puis à l’intérieur de la transaction on joint la photographie du résultat du tampon ce qui permet au destinataire de s’assurer que la transaction a été signée par le possesseur du tampon.  (plus d’informations sur la signature électronique).

Hashage : Une fonction de hashage prend en entrée des données ou un fichier et génère une empreinte unique (hash), seul ce fichier peut posséder cette empreinte. La moindre modification du fichier même infime génèrera une empreinte totalement différente. Cela permet de s’assurer de l’intégrité d’un fichier en effet si l’on fournit un hash de ce fichier on pourra facilement vérifier s’il a été altéré, les 2 empreintes celle fournie et celle calculée étant différentes.

Parlons blockchain

Qu’est ce qu’un bloc dans une blockchain ? Lorsque l’on envoie des transactions pour être validées elles sont regroupées ensemble dans un bloc. C’est ce bloc qui sera inscrit dans la blockchain. Ces blocs peuvent avoir une taille limitée ou non. Il ont généralement une contrainte de temps : un bloc doit être validé toutes les x minutes. Cette durée change en fonction de la blockchain utilisée.

Comment sont validés les blocs ? Pour commencer, il faut valider chacune des transactions contenues dans le bloc. Pour valider une transaction, il faudra vérifier que sa signature correspond bien à la clef publique qui est contenue dans la transaction. Ensuite les vérifications dépendent de la blockchain utilisée : dans le cadre de Bitcoin, on vérifiera que l’émetteur possède suffisamment de Bitcoins pour en envoyer. Une fois toutes les transactions validées on peut alors valider le bloc en lui même. La validation dépendra grandement du type de preuve de validation utilisée : Proof of Work (PoW), Proof of Stake (PoS), Delegate Proof of Stake (DPoS) etc…. Une fois le bloc validé il sera alors intégré à la blockchain et le fichier de blockchain mis à jour sera partagé à tout le réseau. Les membres du réseau blockchain mettant à jour leur fichier blockchain lorsqu’ils reçoivent un fichier blockchain plus grand que celui qu’ils utilisent.

Qui se charge de la validation des transactions  et pourquoi le font-ils ? Il s’agit d’utilisateurs volontaires, ils téléchargent un client particulier qui leur permet de valider les transactions qu’ils reçoivent. Dans une blockchain PoW, on les appelle des mineurs, et des forgeurs pour les blockchain PoS. Si certains le font de manière altruiste et parce qu’ils désirent soutenir leur blockchain, il faut savoir que dans le cas des blockchain basées sur une crypto-monnaie, les mineurs sont rémunérés. En effet les transactions contiennent des frais de transactions qui sont collectés par les mineurs lorsqu’ils valident un bloc. Il existe une deuxième forme de rémunération pour les mineurs, lorsqu’ils valident un nouveau bloc, ils rajoutent à l’intérieur de ce bloc une transaction leur attribuant de l’argent (bitcoin, ether, etc…). La valeur de cette transaction dépend de la blockchain utilisée, elle est fixée dans le logiciel de minage.Ce mécanisme permet la création de monnaies dans le cadre des blockchains basées sur les crypto-monnaies.

Pourquoi utilise-t-on le terme blockchain, nous avons bien des blocs mais quel rapport avec une chaine Chacun des blocs est écrit dans la blockchain, et à l’intérieur des blocs se trouve un champ contenant le hash du bloc le précédent. Il s’agit ici de la chaine, en effet chaque bloc référence le bloc qui le précède. Cela permet d’avoir une très grande sécurité sur la blockchain. Si un utilisateur malveillant désirait modifier un bloc pour par exemple augmenter le nombre de bitcoins qu’il avait reçu. Il devrait en premier lieu modifier son bloc, puis le valider. Cependant en faisant cette modification cela modifierait le hash du bloc modifié ce qui l’obligerait à modifier aussi tous les blocs situés après son bloc et donc revalider l’intégralité de la blockchain à partir du bloc altéré. Hors, tant qu’il y a au moins 51% du pouvoir de validation qui est détenu par des mineurs honnêtes alors la blockchain la plus longue (c’est à dire celle que les membres utiliseront) sera celle des mineurs honnêtes.

Que représente un « compte utilisateur » sur une blockchain ? Un compte utilisateur comporte 3 éléments : la clef privée, la clef publique et l’adresse. La clef privée est générée aléatoirement grâce à un algorithme (ECDSA dans le cas de Bitcoin), cette clef privée est liée à une clef publique qui permettra de vérifier la signature. À partir de cette clef publique, on génère l’adresse de l’utilisateur. La clef privée est le seul et unique point d’accès à votre compte. Si vous la perdez vous n’aurez plus moyen d’accéder à votre compte. De même si elle est volée celui qui l’aura dérobée aura un accès total à votre compte et pourra usurper votre identité. C’est pourquoi il est indispensable de sécuriser cette clef et de ne surtout pas la stocker sur un ordinateur ayant un accès direct à internet.

Si toutes les transactions sont stockées sur le blockchain alors tout le monde peut savoir ce que je fait ? Sur une blockchain, toutes les transactions sont effectivement enregistrées, mais si l’on observe ces transactions, on verra qu’une adresse a envoyée une transaction à une autre adresse. Un utilisateur n’est donc pas directement référencé dans une transaction. Il est cependant illusoire de croire qu’une blockchain offre l’anonymat total, en effet il est possible de voir toutes les transactions envoyées et reçues par une adresse. Dans le cas de Bitcoin, il serait donc possible de vous identifier au moment de votre achat de bitcoins. Si vous avez acheté ces bitcoins à une société spécialisée, elle est obligée de tenir des comptes concernant ses clients.

Qui possède une blockchain ? Il faut avant tout définir le concept de blockchain privée et publique. Dans une blockchain privée, il existe un ou des administrateurs qui possèdent les droits sur la blockchain qu’il s’agisse d’autoriser un client à se connecter, à miner, à envoyer ou recevoir des transactions, etc… Dans ce cas, la blockchain est possédée par le ou les administrateurs. Dans le cas des blockchain publiques (Bitcoin, Ethereum, etc…), personne ne possède la blockchain car, tout le monde la possède. Chaque utilisateur doit lorsqu’il veut rejoindre le réseau télécharger l’intégralité de la blockchain, il n’existe pas d’administrateur pouvant contrôler les droits des utilisateurs.

Les mineurs sont-ils les possesseurs des blockchains publiques ? Si les mineurs sont indispensables au bon fonctionnement des blockchains, ils ne la possèdent pas. Premièrement tout le monde peut devenir mineur, ce qui permet à n’importe quel utilisateur de s’intégrer dans cette communauté. Deuxièmement, les mineurs sont indemnisés par les blockchain, si les mineurs décidaient de prendre le contrôle d’une blockchain et que les utilisateurs cessaient de l’utiliser, alors cette monnaie perdrait toute valeur et par conséquent les mineurs n’auraient plus d’argent. Il est utile pour tous les utilisateurs et mineurs que la blockchain soit indépendante.

 

Les applications de la blockchain

Comme nous l’avons vu précédemment la blockchain offre de très nombreuses possibilités, tant par son aspect décentralisé que par sa sécurité. Et de nombreuses entreprises ou startup désirent s’investir dans cette technologie. Nous allons voir des cas d’utilisation de la blockchain.

L’échange d’argent et de crypto-monnaies : Il s’agit de l’exemple historique de l’utilisation de la blockchain. Qu’il s’agisse de Bitcoin ou d’Ethereum ou de n’importe quelle autre crypto-monnaie, la blockchain a toujours été le support de référence de ces crypto-monnaies.

Le suivi, la traçabilité :Comme toutes les transactions sont datées et signé il est facile de savoir qui est la dernière personne à avoir possédé un objet et à quelle date. Une entreprise s’est spécialisée dans l’enregistrement de copyright via la blockchain : blockai. Une université a décidé de certifier ses diplômes sur la blockchain. Le Honduras a de son côté décidé d’enregistrer ses titres fonciers sur une blockchain qui serait créé pour cet usage.

La décentralisation : La blockchain ne nécessite pas d’intermédiaire, elle fonctionne grâce à sa communauté. Cela a la création décentralisée de sites similaires à BlaBlaCar ou Le Bon Coin. Le site LaZooz est une version décentralisée de BlaBlaCar, et le site OpenBazaar est une version décentralisée de « Le Bon Coin ».

Comme nous le voyons, la blockchain peut avoir de multiples applications. Les différentes implémentations (Bitcoin, Ethereum etc….) ayant chacune leurs spécificités nous ne voyons que les premiers cas d’usage. Cette technologie à des possibilités infinies et les entreprises conventionnelles commencent à s’y intéresser. Il est probable que le nombre d’utilisations de la blockchain croisse rapidement. Les blockchains publiques permettent à l’utilisateur d’être également acteur si il le désire lui permettant enfin d’être intégré dans le fonctionnement du réseau et non plus de graviter autour comme c’est le cas pour la plupart des entreprises à l’heure actuelle.

 

 

 

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *