Qu'est-ce que la Technologie Blockchain ? Le Guide Ultime
HomeArticles

Qu'est-ce que la Technologie Blockchain ? Le Guide Ultime

Intermédiaire
6d ago
29m

Chapitres

  1. Un Aperçu de la Blockchain
  2. Comment fonctionne une blockchain ?
  3. À quoi sert la blockchain ?


Chapitre 1 - Un Aperçu de la Blockchain

Sommaire


Qu'est-ce que la blockchain ?

Une blockchain est un type spécial de base de données. Vous avez peut-être aussi entendu le terme Technologie de Registre Distribué  (ou Distributed Ledger Technology) – dans de nombreux cas, les deux se référent à la même chose.

Une blockchain possède certaines propriétés uniques. Il y a des règles précises sur la manière dont on peut y ajouter des données, et une fois les données stockées, elles sont pratiquement impossible à modifier ou à supprimer.

Les données y sont ajoutées au fil du temps dans des structures appelées blocs. Chaque bloc est construit à partir du précédent et intègre donc une information qui le lie à ce dernier. En consultant le bloc le plus récent, nous pouvons vérifier qu'il a bien été créé d'après le dernier. Par conséquent, si l'on continue en remontant tout au long de la "chaîne", on atteindra finalement le tout premier bloc – connu sous le nom de bloc de genèse.

Voici un exemple simplifié du fonctionnement d'une blockchain: supposons que vous avez une feuille de calcul faite de deux colonnes vides. Dans la première case de la première ligne, vous ajoutez des données ou un groupe de données que vous voulez conserver dans cette base.

Les données de cette première case seront converties en un identifiant à deux lettres, dans la deuxième case de la première ligne, et cet identifiant sera ensuite obligatoirement utilisé dans le set de données suivant (deuxième ligne, première case). Dans cet exemple c'est l'identifiant KP qui est généré et donc utilisé en dessous (defKP). Ainsi, si vous changez les données de la toute première case (abcAAA) vous obtiendrez des combinaisons différentes dans toues les cases suivantes.


Une base de données où chaque entrée est liée à la précédente.

Une base de données où chaque entrée est liée à la précédente.


En regardant la ligne 4 dans le diagramme ci-dessus, notre combinaison la plus récente est TH. Comprenez-vous pourquoi nous disions qu'il est impossible de modifier ou de supprimer des données antérieures ? C'est tout simplement parce qu'il serait très facile pour n'importe qui de constater cette altération, la tentative de modification serait donc totalement ignorée et non prise en compte.

Supposons que vous changiez les données dans la toute première cellule – vous obtiendrez donc un identifiant différent dans la cellule à droite, qui signifierait que votre deuxième bloc aurait des données lui aussi différentes, conduisant de nouveau à un identifiant différent à la ligne 2, et ainsi de suite. TH est donc, par essence, un produit de toutes les informations qui viennent avant lui.


Comment les blocs sont-ils connectés ?

Ce que nous avons discuté ci-dessus – avec nos identifiants à deux lettres – est une analogie simplifiée de la façon dont une blockchain utilise des fonctions de hachage. Le hachage est la colle qui maintient les blocs ensemble. Il consiste à prendre des données sans distinction de taille et à les passer à travers une fonction mathématique pour produire une sortie (un hachage) qui aura toujours la même longueur.

Les hachages utilisés dans les blockchains sont intéressants, car les chances de se retrouver avec deux ensembles de données qui donnent exactement la même sortie sont astronomiquement faibles. Comme nos identifiants ci-dessus, toute légère modification de nos données d'entrée donnera une sortie totalement différente.

Illustrons cela avec SHA256, une fonction très largement utilisée au sein de Bitcoin. Comme vous pouvez le constater, rien que le simple fait de changer la casse des lettres, représente un changement assez conséquent pour complètement modifier la sortie obtenue à partir de l'entrée.


Données d'entréeSortie SHA256

Binance Academy

886c5fd21b403a139d24f2ea1554ff5c0df42d5f873a56d04dc480808c155af3

Binance academy

4733a0602ade574551bf6d977d94e091d571dc2fcfd8e39767d38301d2c459a7

binance academy

a780cd8a625deb767e999c6bec34bc86e883acc3cf8b7971138f5b25682ab181


Le fait qu'il n'y ait aucune collision connue en SHA256 (soit deux entrées différentes qui nous donnent l'exacte même sortie) est incroyablement précieux dans le contexte des blockchains. Cela signifie que chaque bloc peut indexer le bloc précédent en incluant son hachage, et que toute tentative d'éditer des blocs plus anciens deviendra immédiatement visible.


Chaque bloc contient une empreinte digitale du précédent.

Chaque bloc contient une empreinte digitale du précédent.


Blockchains et décentralisation

Nous venons d'expliquer la structure de base d'une blockchain. Mais quand vous entendez parler de la technologie blockchain, il est fortement probable que l'on vous mentionne non seulement l'architecture de base de données que cela désigne, mais aussi les écosystèmes construits autour des blockchains. 

En tant que structures de données, les blockchains prises à part ne sont vraiment utiles que dans des applications de niche. Là où les choses deviennent intéressantes, c'est quand nous les utilisons comme outils pour que des étrangers se coordonnent entre eux. Combiné avec d'autres technologies et une certaine théorie du jeu, une blockchain peut agir comme un registre distribué sur lequel personne n'a le contrôle individuel.

Cela signifie que personne n'a le pouvoir d'éditer les entrées autrement que d'après les règles du système (plus à propos de ces règles dans la suite de cet article). En ce sens, vous pourriez prétendre que le registre est simultanément la propriété de tout le monde : les participants sont en accord sur ce à quoi il ressemble à n'importe quel moment dans le temps.


Le Problème des Généraux Byzantins

Le vrai défi qui entrave un système comme celui décrit ci-dessus, c'est quelque chose que l'on appele le Problème des Généraux Byzantins. Conçu dans les années 1980, il décrit un dilemme dans lequel des participants isolés doivent communiquer pour coordonner leurs actions. Le dilemme spécifique implique une poignée de généraux de l'armée qui entourent une ville et l'assiègent, et doivent décider ou non de l'attaquer. Les généraux ne peuvent communiquer que par messager. 

Chacun doit décider d'attaquer ou de battre en retraite. Peu importe qu'ils attaquent ou fassent machine arrière, à condition que tous les généraux s'accordent sur une décision commune. S'ils décident d'attaquer, ils ne réussiront que s'ils se déplacent en même temps. Alors, comment faire en sorte qu'ils puissent se coordonner ? 

Bien sûr, ils pourraient communiquer par messager. Mais que faire si le messager est intercepté avec un message qui dit “nous attaqueront à l'aube”, et ce message est remplacé par “nous attaqueront ce soir”? Que se passe-t-il si l'un des généraux est malveillant et trompe intentionnellement les autres pour s'assurer qu'ils’soient battus?


Tous les généraux réussissent en attaquant en même temps (à gauche). Si certains battent en retraite tandis que d'autres attaquent, ils seront vaincus (à droite).

Tous les généraux réussissent en attaquant en même temps (à gauche). Si certains battent en retraite tandis que d'autres attaquent, ils seront vaincus (à droite).


Nous avons besoin d'une stratégie permettant d'atteindre un consensus, et ce même si les participants deviennent malveillants ou si les messages sont interceptés. Ne pas être en mesure de maintenir une base de données ne constitue pas une situation de vie et de mort à l'instar d'attaquer une ville sans renforts, mais présente les mêmes principes régisseurs. S'il n'y a personne pour superviser la blockchain et pour donner aux utilisateurs “des informations correctes,” alors les utilisateurs doivent être en mesure de communiquer entre eux.

Pour surmonter l'échec ou le sabotage potentiel d'un (ou plusieurs) utilisateurs, les mécanismes de la blockchain doivent être soigneusement conçus pour être résistants à de tels revers. Un système qui peut y parvenir se nomme la tolérance aux pannes Byzantines. Comme nous allons le voir sous peu, des algorithmes de consensus sont utilisés pour appliquer des règles solides.


Pourquoi les blockchains doivent-elles être décentralisées ?

Vous pourriez bien sûr gérer et exploiter une blockchain par vous-même. Mais vous risquez de vous retrouver avec une base de données quelque peu fragile par rapport à des alternatives supérieures. Son potentiel réel ne pourra être exploité que dans un environnement décentralisé – c'est-à-dire un environnement où tous les utilisateurs sont égaux. De cette façon, la blockchain ne peut pas être supprimée ou prise d'assaut de manière malveillante. Elle constitue une source de vérité unique que tout le monde peut consulter.


Qu'est-ce qu'un réseau peer-to-peer ?

Un réseau peer-to-peer (P2P), ou pair à pair en français, c'est notre communauté d'utilisateurs (ou de généraux dans l'exemple précédent). Il n'y a aucun administrateur, donc au lieu de faire appel à un serveur central lorsqu'ils veulent échanger des informations avec un autre utilisateur, les utilisateurs les envoient directement aux autres pairs. 

Considérons le graphique ci-dessous. Sur la gauche, l'utilisateur A doit faire passer son message à travers le serveur pour l'envoyer à F. Sur le côté droit, cependant, ils sont connectés sans intermédiaire.


Un réseau centralisé (à gauche) contre à un réseau décentralisé (à droite).

Un réseau centralisé (à gauche) contre à un réseau décentralisé (à droite).


Normalement, le serveur contient toutes les informations dont les utilisateurs ont besoin. Lorsque vous accédez à Binance Academy, vous demandez à ses serveurs de vous envoyer tous les articles. Si le site Web passe hors-ligne, vous avez ne serez plus en mesure de les consulter. Cependant, si vous avez téléchargé tout le contenu au préalable, vous pouvez le charger sur votre ordinateur sans faire appel à Binance Academy. 

C'est essentiellement ce que chaque pair fait avec la blockchain: l'entièreté de la base de donnée est stockée sur leur ordinateur. Si quelqu'un se déconnecte du réseau, les utilisateurs restants seront toujours en mesure d'accéder à la blockchain et de se partager les informations. Lorsqu'un nouveau bloc est ajouté à la chaîne, les données sont diffusée au travers du réseau pour que chacun puisse mettre à jour sa propre copie du registre.

Consultez notre article Explications à propos des Réseaux Peer-to-Peer pour une discussion plus approfondie sur ce type de réseau.


Qu'est-ce qu'un noeud de blockchain ?

Les noeuds sont simplement l'appellation utilisée pour les périphériques connectés au réseau — ce sont eux qui stockent chacun une copie de la blockchain, et partagent l'information avec les autres périphériques. Cela ne requiert pas d'intervention manuelle. De manière générale, il suffit de télécharger et d'ensuite exécuter le logiciel de la blockchain, le reste des opérations sera ensuite réalisé de manière automatique.

Ce qui précède décrit ce qu'est un nœud au sens le plus pur, mais la définition peut également englober d'autres utilisateurs qui interagissent avec le réseau de quelque manière que ce soit. Dans les crypto-monnaies, par exemple, une simple application de portefeuille crypto sur votre téléphone constitue ce que l'on appelle un nœud léger


Blockchains publiques et blockchains privées

Comme vous le savez peut-être, Bitcoin a posé les bases pour que l'industrie de la blockchain devienne ce qu'elle est aujourd'hui. Depuis que Bitcoin a commencé à s'affirmer en tant qu'actif financier légitime, les innovateurs ont réfléchi au potentiel de la technologie sous-jacente dans d’autres domaines. Cela a entraîné par la suite une exploration de la blockchain pour d'innombrables cas d'utilisation en dehors de la finance.

Bitcoin est ce que nous appelons une blockchain publique. Cela signifie que n'importe qui peut voir les transactions s'y déroulant, tout ce qu'il faut pour rejoindre le réseau c'est une connexion Internet et le logiciel nécessaire. Puisqu'il n'existe a pas d'autre condition pour la participation, nous pouvons y faire référence en tant qu'environnement sans-permission.

En revanche, il existe d'autres types de blockchains appelées blockchains privées. Ces systèmes établissent des règles concernant qui peut voir et interagir avec la blockchain. En tant que tels, nous les appelons environnements avec-permission. Bien que les blockchains privées puissent sembler redondantes au début, elles ont néanmoins certaines applications importantes – principalement dans le contexte du monde de l’entreprise.

Pour plus d'informations sur le sujet, voir Blockchain publiques, privées et à consortium - Quelles différences ?



Vous désirez vous lancer dans l'achat de crypto-monnaie? Procurez-vous des bitcoins sur Binance !



Comment fonctionnent les transactions ?

Si Alice veut payer Bob par virement bancaire, elle en avise sa banque. Supposons que les deux parties utilisent la même banque pour simplifier. La banque vérifie qu'Alice possède les fonds nécessaires pour effectuer la transaction, avant de mettre à jour sa base de données (par exemple, -$50 à Alice, +50$ à Bob).

Ce n'est pas trop différent de ce qu'il se passe avec une blockchain. Après tout, c'est aussi une base de données. La différence principale est qu'il n'y a pas qu'un seul groupe effectuant les vérifications et mettant à jour les soldes. Tous les nœuds doivent le faire. 

Si Alice veut envoyer cinq bitcoins à Bob, elle diffuse un message le spécifiant au réseau. Cela ne sera pas ajouté à la blockchain immédiatement – les nœuds verront le message, mais d'autres actions doivent être réalisées pour que la transaction soit confirmée. Voir Comment les blocs sont-ils ajoutés à la blockchain?

Une fois que cette transaction est ajoutée à la blockchain, tous les nœuds pourront voir que cette dernière a été accomplie. Ils mettront à jour leur copie de la blockchain pour refléter ce changement de solde. A présent, Alice ne peut plus envoyer ces mêmes cinq unités à Carol (et donc effectuer une double dépenses), parce que le réseau sait qu'elle les a déjà dépensé dans une transaction antérieure.

Il n'y a aucun concept de nom d'utilisateur et de mots de passe – la cryptographie à clé publique est utilisée pour prouver la propriété des fonds. Pour recevoir des fonds en premier lieu, Bob doit générer une clé privée. C'est tout simplement un très long nombre aléatoire qui serait virtuellement impossible à deviner, même avec des centaines d'années à disposition. Si par contre Bob donne à quelqu'un sa clé privée, cette personne sera ensuite en mesure de prouver la propriété (et donc de dépenser) de ses fonds. Il est donc important de garder sa clé privée... privée.

Ce que Bob peut faire, cependant, c'est dériver une clé publique de sa clé privée. Il peut alors donner la clé publique à n'importe qui parce qu'il est presque infaisable d'inverser l'ingénierie de sa conception pour obtenir la clé privée à partir de la clé publique. Dans la plupart des cas, il effectuera une autre opération (comme un hachage) sur sa clé publique pour obtenir une adresse publique.


comment fonctionne une transaction blockchain


Il donnera à Alice l'adresse publique pour qu'elle sache où envoyer ses fonds. Elle construit ensuite une transaction qui dit de payer ces fonds à cette adresse publique. Enfin, pour prouver au réseau qu'elle est n'essaie pas de dépenser des fonds qui ne sont pas les siens, elle génère une signature numérique en utilisant sa propre clé privée. N'importe qui peut prendre le message signé d'Alice et le comparer avec sa clé publique, et dire avec certitude qu'elle a le droit d'envoyer ces fonds à Bob.


Comment faire des transactions Bitcoin

Pour illustrer comment vous pouvez faire des transactions Bitcoin, imaginez deux scénarios différents. Le premier consiste à retirer des bitcoins de Binance, et le second à envoyer des fonds de votre TrustWallet vers votre portefeuille Electrum.


Comment effectuer un retrait de bitcoins sur Binance

1. Connectez-vous à votre compte Binance. Si vous n'avez pas encore de bitcoins, consultez notre guide indiquant comment acheter des bitcoins.

2. Survolez sur Portefeuille, et sélectionnez Portefeuille Spot.


sélection du portefeuille spot à partir du menu déroulant du portefeuille sur binance


3. Cliquez sur Retrait dans la barre latérale à gauche.

4. Choisir la crypto que vous souhaitez retirer – dans ce cas, BTC.

5. Copiez l'adresse vers laquelle vous souhaitez envoyer vos bitcoins et collez-la dans Adresse BTC du destinataire.


écran de retrait binance


6. Spécifiez le montant que vous souhaitez retirer.

7. Cliquez sur Envoyer.

8. Vous recevrez ensuite rapidement une confirmation mail. Prenez soin de bien vérifier que l'adresse est correcte. Si c'est le cas, confirmez la transaction grâce au mail.

9. Patientez le temps que votre transaction soit effectuée sur la blockchain. Vous pouvez surveiller son statut dans l'onglet Historique de Dépôt & Retrait ou en utilisant un explorateur de blocs.


Comment envoyer des bitcoins de Trust Wallet à Electrum

Dans cet exemple, nous enverrons quelques bitcoins de Trust Wallet vers Electrum.


1. Ouvrez l'application Trust Wallet.

2. Selectionnez votre compte Bitcoin.

3. Tapez sur Envoyer.

4. Ouvrez votre portefeuille Electrum.

5. Cliquez sur l'onglet Recevoir dans Electrum et copiez l'adresse.


capture d'écran du portefeuille electrum


Autrement, vous pouvez retourner sur Trust Wallet et appuyer sur l'icône [–] pour scanner le code QR pointant vers votre adresse Electrum.


capture d'écran de trustwallet


6. Collez votre adresse Bitcoin dans l’adresse du destinataire sur Trust Wallet.

7. Spécifiez le montant.

8. Si tout semble correct, confirmez la transaction.

9. C'est fait ! Attendez que votre transaction soit confirmée sur la blockchain. Vous pouvez surveiller son statut en copiant votre adresse dans un explorateur de blocs.



Vous désirez vous lancer dans l'achat de crypto-monnaie? Procurez-vous des bitcoins sur Binance !



Qui a inventé la technologie blockchain ?

La technologie Blockchain a été formalisée en 2009 avec la sortie de Bitcoin – la première et la plus populaire des blockchains. Cependant, son pseudonyme créateur Satoshi Nakamoto s'est inspiré de technologies et de propositions antérieures à Bitcoin.

Les Blockchains font un usage intensif des fonctions de hachage et de la cryptographie, qui existent depuis des décennies avant l'avènement de Bitcoin. Il est intéressant de noter que l'apparition de la structure blockchain remonte jus'qu'au début des années 1990, bien qu'a l'époque elle ait simplement été utilisée pour l'horodatage de documents, afin de les rendre non modifiables.

Plus à ce sujet dans l'article L'Histoire de la Blockchain.


Avantages et inconvénients de la technologie blockchain

Les blockchains correctement conçues résolvent un problème qui afflige les parties prenantes d'un certain nombre d’industries, allant de la finance à l’agriculture. Un réseau distribué présente de nombreux avantages par rapport au modèle client-serveur traditionnel, mais il inclut également quelques compromis.


Avantages

L'un des avantages immédiats notés dans le livre blanc Bitcoin est que des paiements peuvent être transmis sans impliquer un intermédiaire. Les blockchains suivantes ont encore poussé cela plus loin, permettant aux utilisateurs d'envoyer toutes sortes d'informations. Éliminer les contreparties signifie qu'il y a moins de risques pour les utilisateurs impliqués, et se traduit par des frais moins élevés car on se débarrasse des frais encaissés par des intermédiaires.

Comme nous l'avons mentionné précédemment, un réseau en blockchain publique est également sans-permission – il n'y aucun obstacle à l'entrée car personne n'en a le contrôle. Si un utilisateur potentiel peut se connecter à Internet, alors il sera en mesure d'interagir avec d'autres pairs sur le réseau.

Nombreux sont ceux qui prétendent que la qualité la plus importante des blockchains serait leur degré élevé de résistance à la censure. Pour paralyser un service centralisé, tout ce qu'un acteur malveillant a besoin de faire est de cibler un serveur. Mais dans un réseau de pair-à-pair, chaque nœud agit comme son propre serveur 

Un système comme Bitcoin possède plus de 10 000 nœuds visibles éparpillés dans le monde, ce qui rend pratiquement impossible même pour un attaquant doté de ressources immenses de compromettre le réseau. Il convient de noter qu'il existe aussi de nombreux nœuds cachés, non-visibles pour le réseau au sens large.

Il s'agit là d'avantages généraux. Il y a beaucoup de cas spécifiques dutilisation auxquels les blockchains peuvent répondre, comme vous vous en apercevez dans Quelle utilité pour la blockchain ?


Inconvénients

Les blockchains ne sont pas la poudre de perlimpinpin à tous les problèmes. En étant optimisées pour les avantages mentionnés ci-dessus, elles finissent par pêcher dans d'autres domaines. L'obstacle le plus évident à l'adoption en masse des blockchains c'est qu'eiles ne gèrent pas de débits élevés de transactions.

C'est le cas de tout réseau distribué. Puisque tous les participants doivent rester en synchronisation permanent, on ne peut y ajouter de nouvelles informations trop vite car les nœuds seraient incapables de suivre. Par conséquent, les développeurs ont tendance à limiter intentionnellement la vitesse à laquelle la blockchain peut se mettre à jour pour s'assurer que le système reste décentralisé.

Pour les utilisateurs d'un réseau, cela peut se manifester sous la forme de longues périodes d'attente si trop de gens essaient de faire des transactions en même temps. Les blocs ne peuvent contenir qu'une certaine quantité de données, et elles ne sont pas ajoutées instantanément à la chaîne. S'il y a plus de transactions que ce qui peut s'intégrer dans un bloc, alors toutes les transactions supplémentaires doivent attendre le bloc suivant.

Un autre désavantage potentiel des systèmes blockchains décentralisés se trouve dans le fait qu'il est difficile de les faire évoluer. Si vous programmez votre propre logiciel, vous pouvez y ajouter de nouvelles fonctionnalités tant que vous le voudrez. Vous n'avez pas besoin d'avoir l'accord ou de travailler avec d'autres pair pour faire des modifications.

Dans un environnement avec des millions d'utilisateurs potentiels, il est beaucoup plus difficile d'implémenter des changements. Vous pouvez modifier certains paramètres de votre logiciel de nœud, mais vous retrouverez rejeté du réseau. Si le logiciel modifié est incompatible avec d'autres nœuds, ils le reconnaîtront et refuseront d'interagir avec votre nœud.

Supposons que vous vouliez modifier une règle sur la taille que peuvent avoir les blocs (de 1 Mo à 2 Mo). Vous pouvez essayer d'envoyer un bloc de 2Mo aux nœuds auxquels vous vous connectez. mais ils suivent une règle qui n'accepte pas les blocs de plus de 1Mo. S'ils reçoivent quelque chose de plus grand, ils ne l'incluront pas dans leur copie de la blockchain.

La seule façon d'implémenter des changements est de les faire accepter par la majorité de l'écosystème. Avec les principales blockchains, il peut s'écouler des mois – ou même des années – de discussions intensives dans les forums avant que les changements puissent être coordonnés. Voir notre article Hard Forks et Soft Forks pour plus de détails.





Chapitre 2 - Comment fonctionne la blockchain?

Sommaire


Comment les blocs sont-ils ajoutés à la blockchain ?

Nous abordés beaucoup de concepts jusqu'à présent. Nous savons que les nœuds sont interconnectés et qu'ils stockent des copies de la blockchain. Ils communiquent entre eux des informations sur les transactions et les nouveaux blocs. Nous avons déjà discuté de ce que sont les nœuds, mais vous vous demandez peut-être: comment de nouveaux blocs sont-ils ajoutés à la blockchain ?

Dans la même logique, il n'y a pas de source unique dictant aux utilisateurs ce qui doit être fait et comment cela doit être réalisé. Parce que tous les noeuds ont un pouvoir équivalent, il y a besoin de fait d'un mécanisme pour décider de manière équitable qui peut ajouter des blocs à la blockchain. Pour ce faire, il nous faut un système qui rend toute tentative de tricherie très coûteuse et qui récompense les utilisateurs honnêtes. Ainsi tout utilisateur rationnel n'aura d'autre choix que d'agir d'une manière qui lui est économiquement bénéfique.

Parce que le réseau est sans-permission, la création de blocs doit être accessible à tous. Les protocoles s'en assurent souvent en obligeant l'utilisateur à mettre ses intêrets en jeu – ils doivent mettre leur propre argent en péril. Cela leur permettra de participer à la création de blocs, et s'ils en génèrent un valide, ils se verront attribués d'une récompense.

Cependant, s'ils tentent de tricher, le reste du réseau le saura. Tout ce qu'il auront investit de ressource sera perdu. Nous appelons ces mécanismes algorithmes de consensus car ils permettent aux participants de trouver un consensus sur le prochain bloc à ajouter.


Le Minage (Preuve de Travail)

Preuve de Travail


Le minage est de loin l'algorithme de consensus le plus couramment utilisé. Dans le minage, un algorithme Proof of Work (PoW) est utilisé. Cela implique que les utilisateurs allouent de la puissance informatique pour essayer de résoudre un puzzle défini par le protocole.

Le puzzle nécessite que les utilisateurs hachent les transactions et d'autres informations incluses dans le bloc. Mais pour que le hachage soit considéré comme valide, il doit être inférieur à un certain nombre. Sachant qu'il n'existe aucun moyen de prédire ce qu'une sortie donnée sera, les mineurs doivent continuer à hacher des données, en les modifiant légèrement à chaque fois, jusqu'à ce qu'ils trouvent une solution valide.

Évidemment, le hachage répété des données coûte cher sur le plan du calcul. Dans les blockchains Proof of Work, les utilisateurs mettent en jeu l'argent investi dans les ordinateurs miniers et l'électricité utilisée pour les alimenter. Ils le font dans l'espoir d'obtenir une récompense de bloc

Souvenez-vous, nous avons dit précédemment qu'il est pratiquement impossible d'inverser un hachage, mais qu'il est néanmoins facile de les vérifier ? Quand un mineur envoie un nouveau bloc au reste du réseau, tous les autres nœuds l'utilisent comme entrée dans une fonction de hachage. Ils ont simplement besoin de l'exécuter une fois pour vérifier que le bloc est valide selon les règles de la blockchain. Si le hachage est faux, le mineur ne reçoit pas la récompense, et il aura gaspillé de l'électricité pour rien.

Bitcoin fut la première blockchain Proof of Work ou à Preuve de Travail. Depuis sa création, de nombreuses autres blockchains ont adopté le mécanisme PoW.


Avantages de la Preuve de Travail

  • Essayée et testée et approuvée – à ce jour, la Preuve de Travail est l'algorithme de consensus le plus mature, en ayant sécurisé des centaines de milliards de dollars de valeur au fil du temps.
  • Sans-Permission – n'importe qui peut rejoindre la compétition minière ou simplement exécuter un nœud de validation.
  • Décentralisation – Les mineurs rivalisent les uns contre les autres pour produire des blocs, ce qui signifie que la puissance de hachage n’est jamais contrôlée par un seul groupe ou une seule entité.


Inconvénients de la Preuve de Travail

  • Dilapidatrice – miner consomme une énorme quantité d'électricité.
  • Des barrières de plus en plus élevées à l'entrée – au fur et à mesure que plus de mineurs rejoignent le réseau, les protocoles augmentent la difficulté du puzzle de minage. Pour rester compétitifs, les utilisateurs doivent investir dans de meilleurs équipements, ce qui pourrait finir par écarter financièrement beaucoup de mineurs.
  • Attaques à 51%  – bien que le minage promeuve la décentralisation, il reste une possibilité qu'un mineur acquiert la majorité de la puissance de hachage. S'il y arrive, il peut théoriquement annuler les transactions et saper la sécurité de la blockchain.


Le Staking (Preuve d'Enjeu)

Dans les systèmes à Preuve de Travail, ce qui vous incite à agir honnêtement c'est l'argent que vous avez dépensé pour les ordinateurs de minage et l'électricité que vous consommez. Vous n'obtiendrez pas un retour sur votre investissement si vous ne minez pas les blocs correctement.

Avec le Proof of Stake (PoS, ou Preuve d'Enjeu en français), il n'y a quasi aucun coût externe. Au lieu de mineurs, le réseau fonctionne avec des validateurs qui proposent (ou “forgent”) des blocs. Ils peuvent utiliser un ordinateur standard pour générer de nouveaux blocs, mais ils doivent mettre en jeu une part significative de leurs fonds pour obtenir ce privilège. Le staking se réalise avec une quantité prédéfinie de crypto-monnaie native de la blockchain en question, et selon les règles de chaque protocole. 

Différentes implémentations induisent différentes variations, mais une fois qu'un validateur met en jeu ses unités, ces dernières peuvent être sélectionnées aléatoirement par le protocole pour annoncer le bloc suivant. S'il forge correctement, il recevra une récompense. Alternativement, il peut y avoir plusieurs validateurs qui s'accordent sur le bloc suivant, et une récompense est donc distribuée proportionnellement à l'enjeu que chacun a présenté.

Les blockchains PoS "Pures" sont moins courantes que les blockchains DPoS, ou Delegated Proof of Stake (Preuves d'Enjeu Déléguée) qui exigent que les utilisateurs votent pour des nœuds (témoins) qui valideront des blocs pour l’ensemble du réseau.

Ethereum, la blockchain mère des contrats intelligents, s'apprête à bientôt passer à un modèle Proof of Stake dans sa migration vers ETH 2.0. 


Avantages de la Preuve d'Enjeu

  • Plus respectueuse de l'environnement – l'empreinte carbone du PoS constitue une fraction de celle du minage PoW. Le staking supprime le besoin d'opérations de hachage très demandeuses en ressources.
  • Des transactions plus rapides — puisque l'on élimine le besoin d'avoir une énorme puissance de calcul dédiée sur des puzzles arbitraires créés par le protocole, les partisans du PoS argumentent que cela peut augmenter la capacité de débit d'une blockchain.
  • Récompenses d'enjeu et gain d'intérêts – au lieu d'aller aux mineurs, les récompenses pour sécuriser le réseau sont payées directement aux détenteurs de tokens. Dans certains cas, PoS permet aux utilisateurs de générer des revenus passifs sous la forme d'airdrops ou d'intérêts, simplement en allouant leurs fonds en tant qu'enjeu.


Inconvénients de la Preuve d'Enjeu

  • Relativement expérimentale – Les protocoles PoS doivent encore être testés à grande échelle. Il peut y avoir des vulnérabilités non découvertes dans leurs implémentations ou modèles crypto-economiques.
  • Plutocratie – il existe des préoccupations quand au fait que le PoS encourage un système où “les riches deviennent plus riches”, car les validateurs avec un plus grand "enjeu" ont tendance à gagner plus de récompenses.
  • Le problème du manque d'enjeu – dans le PoW, les utilisateurs ne peuvent "miser" que sur une seule chaîne à la fois – ils minent sur la chaîne qu'ils croient être la plus susceptible de réussir. Lors d'un hard fork, ils ne peuvent pas allourer la même puissance de hachage à plusieurs chaînes à la fois. Cependant, les validateurs du modèle PoS peuvent forger sur de multiples chaînes forkées avec très peu de coûts supplémentaires, ce qui pourrait causer des problèmes d'ordre économiques.


Autres algorithmes de consensus

La Preuve de travail et la Preuve d'Enjeu sont les algorithmes de consensus les plus communs, mais il y en existe beaucoup d'autres. Certains sont des hybrides qui combinent des éléments des deux systèmes, tandis que d'autres sont des méthodes totalement différentes. 

Nous n'entrerons pas dans leur détail ici, mais si cela vous intéresse, vous pouvez consulter les articles suivants:


Puis-je annuler les transactions blockchain ?

Les blockchains sont, par essence, des bases de données très robustes. Leur propriétés inhérentes rendent les données qu'elles stockent très difficile à altérer ou supprimer. Pour Bitcoin et d'autres réseaux de grande ampleur, c'est en pratique quasiment impossible. Par conséquent, lorsque vous réalisez une transaction sur un blockchain, il vaut mieux la considérer comme gravée dans la roche.

Une fois cela appréhendé, il faut noter qu'il existe de nombreux types et implémentations de blockchains différentes, les différences fondamentales des unes aux autres résidant dans leur manière de parvenir à un consensus au sein du réseau. Cela signifie que dans certaines implémentations, un groupe relativement petit de participants pourrait réunir assez de pouvoir au sein du réseau pour effectivement inverser les transactions. C'est un état de fait assez concernant en particulier pour les altcoins qui fonctionnent sur des réseaux très limités en taille (avec un taux de hachage très bas puisque très peu sujet à la compétition de mineurs).


Qu'est-ce que la scalabilité de la blockchain ?

La scalabilité est un mot valise dans le monde de la blockchain, qui désigne généralement la capacité d'un système à répondre à une demande croissante. Bien que les blockchains aient des propriétés séduisantes (comme la décentralisation, la résistance à la censure, l'immuabilité), ces dernières impliquent des compromis.

En contraste avec les systèmes décentralisés, une base de données centralisée peut fonctionner avec un débit et une vitesse considérablement plus élevés. C'est tout simplement logique car ces système ne nécessitent pas la synchronisation de milliers de noeuds à travers le monde à chaque fois que des données y sont ajoutées. Les blockchains doivent composer avec cette caractéristique qui leur est pourtant essentielle. La scalabilité est donc un sujet de débat très actif et parfois controversé — et ce depuis des années — parmis les développeurs blockchain.

Un certain nombre de solutions différentes ont été proposées ou implémentées pour compenser le manque de performance des blockchains à cet égard. Toutefois à ce jour, il n'existe toujours pas d'approche maîtresse. Il faudra à fortiori encore de nombreux tests et expérimentations avant de trouver des réponses claires au problème de scalabilité.

A un niveau global, il y a d'abord une question fondamentale concernant la scalabilité: devrions nous améliorer les performances de la blockchain en elle-même (scalabilité sur-chaine) ou devrions-nous permettre aux transactions d'être exécutées sans qu'elles enlisent la blockchain principale (scalabilité hors-chaîne) ? 

Il peut y avoir des avantages évidents pour les deux visions. Les solutions de scalabilité sur-chaîne pourraient réduire la taille des transactions, ou même simplement optimiser la façon dont les données sont stockées dans les blocs. De l'autre côté, les solutions hors-chaîne impliquent de regrouper les transactions par lots en dehors de la blockchain principale, et de ne les y ajouter qu'a posteriori. Parmis certaines des solutions hors-chaîne les plus abouties on trouve par exemple les « chaînes parallèles » et les « canaux de paiement ».

Pour une explication plus détaillée sur le problème de la scalabilité et ses solutions potentielles, jetez un œil à l'article Scalabilité de la Blockchain — Chaînes latérales et Canaux de Paiements..


Pourquoi la blockchain doit-elle être scalable ?

Si les systèmes blockchains doivent concurrencer leurs homologues centralisés, ils se doivent d'être au moins aussi performants qu'eux. On peut aussi argumenter que, réalistiquement, ils devront même probablement aboutir à d'encore meilleures performances pour inciter les développeurs et les utilisateurs à transitionner vers les plateformes et les applications basées sur la blockchain. 

Cela signifie que par rapport aux systèmes centralisés, l'utilisation des blockchains doit être plus rapide, moins coûteuse et plus facile tant pour les développeurs que pour les utilisateurs. Ce n'est clairement pas un exploit facile à réaliser, si l'on veut le faire en maintenant les caractéristiques essentielles des blockchains dont nous avons discuté plus tôt. 


Qu'est-ce qu'un fork de blockchain?

Comme pour tout logiciel, les blockchains ont besoin de mises à jour pour corriger des problèmes, ajouter de nouvelles règles ou en supprimer certaines. Puisque la plupart des logiciels blockchain sont open-source, en théorie, n'importe qui peut proposer de nouvelles mises à jour à ajouter au logiciel qui gouverne le réseau. 

Gardez à l'esprit que les blockchains sont des réseaux distribués. Une fois le logiciel mis à jour, des milliers de nœuds dispersés dans le monde entier doivent être en mesure de communiquer et d'implémenter la nouvelle version. Mais que se passe-t-il si les participants ne veulent pas s'entendre sur la mise à niveau vers l'implémentation ? Généralement, il n'existe pas d'organisation avec un pouvoir décisionnel établi. Cela nous conduit à des soft forks et des hard forks.


Soft Forks

S'il existe un accord général sur la nature de la mise à jour, l'action est alors relativement simple. Dans un scénario comme celui-ci, le logiciel est mis à jour avec un changement rétrocompatible. ce qui signifie que les nœuds qui sont mis à jour peuvent toujours interagir avec les nœuds qui ne le sont pas. En réalité, cependant, on s'attend dans un tel cas à ce que presque tous les nœuds se mettent à jour au fil du temps. C'est ce que l'on désigne comme un soft fork. 


Hard Forks

Un hard fork est beaucoup plus compliqué. Une fois mises en place, les nouvelles règles seront incompatibles avec les anciennes règles. Donc, si un noeud qui exécute les nouvelles règles essaie d'interagir avec un noeud fonctionnant toujours sur les anciennes règles, il ne pourra pas communiquer. Cela se traduit par la division de la blockchain en deux – d'un côté une partie du réseau fonctionne sur l'ancien logiciel, et de l'autre, la seconde partie du réseau avec les nouvelles règles implémentées.

Après un hard fork, il existe donc deux réseaux distincts exécutant deux protocoles différents de manière parallèle. A noter qu'au moment du fork, les soldes d'unités natives de la blockchain d'origine sont clonés. Par conséquent, si vous aviez un solde sur l'ancienne chaîne au moment du fork, vous possèderez également un solde sur la nouvelle. 

Pour en savoir plus à propos des forks, consultez l'article Hard Forks et Soft Forks..





Chapitre 3 - À quoi sert la blockchain ?


Sommaire


Le technologie blockchain est mise à l'essaie dans une large gamme de cas d'utilisation. Détaillons certains d'entre eux. 


La blockchain pour les chaînes d'approvisionnement

Les chaînes d'approvisionnement efficaces sont au cœur de nombreuses entreprises prospères et désignent la gestion de marchandises, du fournisseur au consommateur. La coordination de plusieurs parties prenantes dans une industrie donnée s'est toutefois avérée traditionnellement difficile. Cependant la technologie blockchain pourrait permettre l'avènement de nouveaux niveaux de transparence. Un écosystème interopérable qui s'appuie sur une base de données immuable pourrait apporter de nouveaux niveaux de transparence à d'innombrables industries.

Si vous souhaitez en savoir plus à ce sujet, consultez Cas d'utilisation de la Blockchain : Les Chaînes d'Approvisionnement.


La blockchain et l'industrie des jeux vidéos

L'industrie du jeu vidéo est devenue l'une des plus grandes industries du divertissement au monde, et elle pourrait grandement bénéficier de la technologie blockchain. Habituellement, les joueurs ont tendance à être à la merci des développeurs d'un jeu. Dans la plupart des jeux en ligne, les joueurs sont contraints de suivre les règles d'un environnement à la merci des développeurs, et celles-ci changent constamment, sans que les joueurs n'aient pourtant beaucoup d'influence sur ces changements. Dans ce contexte, la blockchain pourrait aider à décentraliser la propriété, la gestion et la maintenance des jeux en ligne.

L'une des plus grosses cibles dans le collimateur, ce sont les objets acquis en jeu qui n'existent pas en dehors d'une licence donnée, mettant de côté la possibilité de réelle propriété et donc de marchés secondaires. En optant pour une approche basée sur la blockchain, les jeux pourraient devenir plus viables sur le long terme, et les objets en jeu émis en tant que crypto-collectionables pourraient se voir attribuer de la valeur dans le monde réel.

Si vous souhaitez en savoir plus à ce sujet, consultez Cas d'utilisation de la Blockchain : Les Jeux Vidéo.


blockchain et jeu vidéo


La blockchain pour les systèmes de santé

Le stockage fiable des dossiers médicaux est vital pour tout système de santé, et la dépendance à l'égard des serveurs centralisés laisse des informations sensibles dans une position vulnérable. La transparence et la sécurité de la technologie blockchain en font une plate-forme idéale sur laquelle stocker des dossiers médicaux.

En sécurisant cryptographiquement leurs dossiers sur une blockchain, les patients peuvent protéger leur vie privée, tout en étant en mesure de partager leurs informations médicales avec n'importe quel établissement de santé. Si tous les participants d'un même système de santé, étant généralement fragmenté, pouvaient accéder à une base de données mondiale et sécurisée, le flux d'informations serait beaucoup plus rapide à partager et échanger.

Si vous souhaitez en savoir plus, à ce sujet: Cas d'utilisation de la Blockchain : Les Systèmes de Santé.


La blockchain pour les paiements et versements

Envoyer de l'argent à l'étranger est une tâche relativement complexe avec les banques traditionnelles. En raison principalement d'un réseau nébuleux d'intermédiaires, les frais et les délais de règlement rendent l'utilisation des banques traditionnelles coûteuses et peu fiables pour les transactions urgentes.

Les cryptomonnaies et les blockchains éliminent cet écosystème d'intermédiaires et peuvent permettre des transferts rapides et bon marché partout dans le monde. Alors que les blockchains sacrifient sans aucun doute la performance pour certaines de leurs propriétés souhaitées, toute une série de projets exploitent la technologie pour permettre des transactions peu coûteuses et quasi instantanées.

Si vous souhaitez en savoir plus, à ce sujet: Cas d'utilisation de la Blockchain : l'Envoi de Fonds.



Vous désirez vous lancer dans l'achat de crypto-monnaie? Procurez-vous des bitcoins sur Binance !



Blockchain et identité digitale

La gestion sécurisée de l’identité sur Internet a besoin d’une solution rapide. Une quantité extraordinaire de nos données personnelles est stockée sur des serveurs centralisés et analysée par algorithmes d'apprentissage automatiques à notre insu. 

La technologie Blockchain permet aux utilisateurs de reprendre le contrôle et la propriété de leurs données, et de parallèlement divulguer sélectivement des informations  à des tiers uniquement lorsque cela est nécessaire. Ce type de magie cryptographique pourrait permettre une expérience de navigation en ligne moins agressive, sans sacrifier sa vie privée.

Si vous souhaitez en savoir plus, à ce sujet: Cas d'utilisation de la Blockchain : L'identité Numérique.


 blockchain et identité numérique


La blockchain et l'internet des objets (IdO)

Une quantité extraordinaire de périphériques physiques se connectent à Internet, et ce nombre ne cesse d'augmenter. Certains spéculent que la communication et la coopération entre ces appareils pourraient être considérablement augmentées par la technologie blockchain. Les micro-paiements automatiques de machines à machine (M2M) pourraient créer une nouvelle économie s'appuyant sur une solution de base de données sécurisée et à haut débit.

Si vous souhaitez en savoir plus, à ce sujet: Cas d'utilisation de la Blockchain : l'Internet des Objets (IdO).


La blockchain pour la gouvernance

Les réseaux distribués peuvent définir et appliquer leurs propres formes de réglementation sous forme de code informatique. Cela n'est donc pas surprenant que la blockchain puisse avoir une chance de démanteler et remplacer divers processus de gouvernance au niveau local, national ou même international. 

En plus de cela, elle pourrait résoudre l'un des plus gros problèmes auquel les environnements de développement open-source sont actuellement confrontés – l'absence d'un mécanisme fiable pour la distribution de financements. La gouvernance de la blockchain garantit que tous les participants peuvent être impliqués dans la prise de décision et fournit une vue d'ensemble transparente des politiques mises en œuvre.

Si vous souhaitez en savoir plus, à ce sujet: Cas d'utilisation de la Blockchain : La Gouvernance.


La blockchain pour les oeuvres caritatives

Les organismes de bienfaisance sont souvent entravés par des limites dans la façon dont ils peuvent accepter des fonds. Encore plus frustrant, la destination finale des fonds donnés peut être difficile à suivre avec précision, ce qui décourage sans aucun doute beaucoup de personnes à soutenir ces organisations.

La ”Crypto-philanthropie” se préoccupe de l'utilisation de la technologie blockchain pour contourner ces limitations. S'appuyant sur les propriétés inhérentes de la technologie pour assurer une plus grande transparence, une participation internationale et la réduction des coûts, le domaine émergent cherche à maximiser l’impact des organismes de bienfaisance. La Blockchain Charity Foundation étant l'une des plus connues.

Si vous souhaitez en savoir plus à ce sujet, consultez Cas d'utilisation de la Blockchain : Les Oeuvres Caritatives.


La blockchain et la spéculation

Il ne fait aucun doute que l'une des utilisations les plus populaires de la technologie blockchain aujourd'hui soit la spéculation. Les transferts effrénés entre les plateformes d'échange, les solutions de trading en peer to peer, et un écosystème croissant de produits dérivés en font un terrain de jeu idéal pour tous les types de spéculateurs.

En raison de ses propriétés intrinsèques, la blockchain est un excellent instrument pour ceux qui sont prêts à prendre le risque de s'impliquer dans une telle classe d'actifs naissants. Certains pensent même qu'une fois la technologie et la réglementation qui l'englobe devenus matures, les marchés spéculatifs mondiaux pourraient tous être matérialisés (tokenisés) sur la blockchain.

Si vous souhaitez en savoir plus, à ce sujet: Cas d'utilisation de la Blockchain : Les Marchés de Prédiction.


blockchain et marchés de prédiction


Financement participatif avec la blockchain

Les plateformes de financement participatif ont pavé les routes d'une économie peer-to-peer depuis maintenant une dizaine d'années environ. Le succès de ces pratiques montre qu'il existe un réel intérêt pour le développement de produits financés directement pas les consommateurs. Cependant, ces plateformes servent à chaque fois d'intermédiaire pour les fonds, en s'octroyant au passage des frais considérables. De plus, elles possèdent chacune leurs propres sets de règles pour atteindre un consensus entre les différents participants.

La technologie blockchain et plus particulièrement les contrats intelligents pourraient permettre un financement participatif plus sécurisé et mieux automatisé où les termes des accords seraient définis au préalable en code informatique. 

D'autres applications de financement participatif utilisant la blockchain incluent les Initial Coin Offerings (ICOs) et les Initial Exchange Offerings (IEOs). Lors de ventes de tokens comme celles-ci, les investisseurs allouent des fonds en espérant que le projet en question réussira à l'avenir, et qu'ils obtiennent donc un retour sur leur investissement.


Blockchain et systèmes de fichiers distribués

La distribution du stockage de fichiers sur Internet présente de nombreux avantages par rapport aux solutions centralisées classiques. Une grande partie des données stockées dans le cloud transite sur des serveurs centralisés et des fournisseurs de services, qui tendent à être plus vulnérables aux attaques et aux pertes de données. Dans certains cas, les utilisateurs peuvent également être confrontés à des problèmes d'accessibilité en raison de la censure applicable sur des serveurs centralisés.

Du point de vue de l’utilisateur, les solutions de stockage de fichiers blockchain fonctionnent comme les autres solutions de stockage en cloud – vous pouvez télécharger, stocker et accéder aux fichiers. Cependant, ce qui se passe en arrière-plan est tout à fait différent.

Lorsque vous envoyez un fichier sur un stockage blockchain, il est distribué et répliqué sur plusieurs nœuds. Dans certains cas, chaque noeud stockera une portion différente de votre fichier. Ils ne peuvent donc pas faire grand chose avec ces données partielles, mais vous pourrez ultérieurement demander aux nœuds de fournir chaque partie, afin que vous puissiez les combiner pour récupérer le fichier complet.

L'espace de stockage provient des participants qui fournissent leur stockage et leur bande passante au réseau. Généralement, ces participants sont encouragés économiquement à fournir ces ressources, et économiquement puni s'ils ne respectent pas les règles, ou ne parviennent pas à stocker et à fournir des fichiers.

Vous pouvez penser à ce type de réseau comme des réseaux similaires a Bitcoin. Dans ce cas, cependant, l'objectif principal du réseau n'est pas de supporter les transferts de valeur monétaire, mais de permettre un stockage de fichiers décentralisé et résistant à la censure.

Les autres protocoles open-source tels que le InterPlanetary File System (IPFS) ouvrent déjà la voie pour ce nouveau Web plus résilient, et décentralisé. Bien que l'IPFS soit un protocole et un réseau peer-to-peer, il ne s'agit pas précisément d'une blockchain. Mais il applique certains principes de la technologie blockchain pour améliorer la sécurité et l'efficacité.