La BlockChain c’est quoi exactement?

Afin de comprendre comment fonctionnent les cryptomonnaies, il est essentiel de bien assimiler le concept de Blockchain, ici nous vous expliquons ce concept.

Qu’est-ce que la blockchain ?

La blockchain est un type particulier de base de données. Vous avez peut-être déjà entendu le terme Distributed Ledger Technology (ou Distributed Ledger Technology),

mais les deux font souvent référence à la même chose. La blockchain a des propriétés uniques.

Il existe des règles strictes sur la façon dont les données sont ajoutées, et il est pratiquement impossible de modifier ou de supprimer des données une fois stockées.

Les données sont ajoutées au fil du temps dans des structures appelées blocs. Chaque bloc s’appuie sur le précédent et contient donc des informations qui se connectent à ce dernier. En regardant le dernier bloc, nous pouvons confirmer qu’il a bien été créé à partir du dernier bloc. Donc, si vous remontez la « chaîne », vous finirez par atteindre le premier bloc – connu sous le nom de bloc Genesis.

 Voici un exemple simple du fonctionnement de la blockchain.

Supposons que vous ayez un tableau composé de deux colonnes vides. Ajoutez les données ou le groupe de données que vous souhaitez conserver dans cette base de données dans le premier champ de la première ligne.

Les données de ce premier champ sont converties en un identifiant à deux caractères dans le deuxième champ de la première ligne et utilisées dans l’enregistrement suivant (premier champ de la deuxième ligne). Dans cet exemple, un identifiant KP est généré et sera utilisé ci-dessous (defKP). Ainsi, changer la date dans la première case (abcAAA) donnera des combinaisons différentes dans toutes les cases suivantes.

fcf1649bc2784ccb9049ff8b6d7b6d99

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

En regardant la 4ème rangée dans la figure ci-dessus, la dernière combinaison est TH. Comprenez-vous pourquoi j’ai dit qu’il est impossible de modifier ou de supprimer des données précédentes ? C’est simplement parce que n’importe qui remarquerait ce changement très facilement et que la tentative de modification serait complètement ignorée et non prise en compte. Supposons que vous modifiez les données dans la première cellule.

En d’autres termes, vous verrez un identifiant différent dans la cellule de droite. Cela signifie que le deuxième bloc contient également des données différentes, ce qui entraîne un ID différent dans la ligne 2. etc. Donc TH est fondamentalement le produit de toutes les informations qui l’ont précédé.

Comment les blocs sont-ils connectés ?

Ce que j’ai décrit ci-dessus en utilisant des identifiants à deux lettres est une analogie simplifiée de la façon dont les blockchains utilisent les fonctions de hachage. Le haschage est la colle qui maintient les blocs ensemble.

Ce système prend des données quelle que soit leur taille, exécute des fonctions mathématiques et produit toujours une sortie (hachage) de la même longueur.

Le hachage utilisé dans la blockchain est intéressant car les chances que deux ensembles de données renvoient exactement la même sortie sont astronomiquement faibles.

Comme pour les identifiants ci-dessus, une légère modification des données d’entrée vous donnera une sortie complètement différente. Illustrons cela avec SHA256, une fonctionnalité très courante au sein de Bitcoin. Comme vous pouvez le voir, il suffit de changer la casse des lettres pour changer complètement la sortie que vous obtenez à partir de votre entrée.

 

Données d’entrée Sortie 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.

bb38fbc6b4934b1e9d27d2f25ac66995

Blockchains et décentralisation

J’ai expliqué la structure de base de la blockchain. Mais lorsque vous entendez parler de la technologie blockchain, il est possible d’apprendre non seulement l’architecture de base de données qu’elle représente, mais également l’écosystème construit autour d’elle.

 

En tant que structure de données, une blockchain distincte n’a de sens que pour les applications de niche. Cela devient intéressant lorsque des étrangers les utilisent comme un outil pour se coordonner les uns avec les autres.

Combinée à d’autres technologies et à une certaine théorie des jeux, la blockchain peut agir comme un grand livre distribué que personne ne peut contrôler individuellement.

Cela signifie que personne n’est autorisé à modifier l’entrée à moins de suivre les règles du système (ces règles sont détaillées plus loin dans cet article). En ce sens, on peut dire que le grand livre appartient à tout le monde en même temps.

Les participants conviennent de ce à quoi ils ressembleront à chaque instant.

Le Problème des Généraux Byzantins

Le véritable défi qui entrave les systèmes comme celui ci-dessus est le problème des généraux Byzantin. Conçu dans les années 1980, il décrit le dilemme des participants isolés devant communiquer pour coordonner leur comportement. Un dilemme particulier implique une poignée de généraux de l’armée qui doivent décider s’ils doivent assiéger et attaquer une ville. 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 se retirent, tant que tous les généraux sont d’accord 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. Comment peuvent t’ils se coordonnés ?

Bien sûr, ils peuvent également communiquer via messager. Mais que se passe-t-il si le messager est intercepté avec le message « Attaquez à l’aube » et que ce message est remplacé par « Attaquez ce soir » ? Que se passe-t-il si l’un des généraux est malveillant et trompe délibérément les autres généraux pour les vaincre ?

 

eae85162df7a4cef862043ff1cdc0925

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).

 

Une stratégie est nécessaire pour parvenir à un consensus même si les participants sont malveillants ou si les messages sont interceptés. Ne pas pouvoir maintenir la base de données n’est pas une question de vie ou de mort comme attaquer une ville sans renforts et a les mêmes principes de base. Les utilisateurs doivent pouvoir communiquer entre eux si personne ne surveille la blockchain et ne donne aux utilisateurs les « informations correctes ».

Pour surmonter les obstacles potentiels ou le sabotage par un (ou plusieurs) utilisateurs, les mécanismes de la blockchain doivent être soigneusement conçus pour résister à de tels revers. Les systèmes qui peuvent y parvenir sont appelés tolérance aux pannes Byzantines. Comme vous le verrez bientôt, les algorithmes de consensus sont utilisés pour appliquer des règles strictes.

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

Bien sûr, vous pourriez également gérer et exploiter vous-même la blockchain. Cependant, il peut s’agir d’une base de données quelque peu fragile par rapport à de meilleures alternatives. Son véritable potentiel ne peut être réalisé que dans un environnement distribué dit «décentralisé», où tous les utilisateurs sont égaux. De cette façon, la blockchain ne peut pas être effacée ou attaquée de manière malveillante. C’est la seule source de vérité que n’importe qui peut consulter.

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

Un réseau peer-to-peer (P2P) est une communauté d’utilisateurs (comme nos généraux dans l’exemple précédent). Il n’y a pas d’administrateur, et au lieu d’appeler un serveur central lorsqu’ils souhaitent échanger des informations avec d’autres utilisateurs, les utilisateurs les envoient directement à d’autres peer.

Considérez le schéma ci-dessous. À gauche, l’utilisateur A doit acheminer le message via le serveur pour l’envoyer à F. Cependant, du côté droit, ils sont connectés sans intermédiaire. Réseau centralisé (à gauche) et réseau décentralisé (à droite).

145de10a3c084721bc82f4f57098e3ca

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

 

Le serveur contient généralement toutes les informations dont va besoin. Lorsque vous visitez Elkewalter.fr, vous demandez de recevoir tous de notre serveur. Lorsqu’un site Web est hors ligne, il ne peut pas être consulté. Cependant, si vous avez déjà téléchargé tout le contenu, vous pouvez le charger sur votre ordinateur sans utiliser Elkewalter.fr. C’est essentiellement ce que fait chaque peer sur la blockchain.

L’intégralité de la base de données est enregistrée sur votre ordinateur. Même si quelqu’un se déconnecte du réseau, le reste des utilisateurs peut toujours accéder à la blockchain et partager des informations entre eux. Au fur et à mesure que de nouveaux blocs sont ajoutés à la chaîne, les données sont envoyées sur le réseau permettant à chacun de mettre à jour sa propre copie du grand livre.

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

Un nœud est le nom utilisé pour un appareil connecté à un réseau. Les nœuds sont des nœuds qui stockent chacun une copie de la blockchain et partagent des informations avec d’autres appareils. Cela ne nécessite aucune intervention manuelle. Le téléchargement et l’exécution du logiciel blockchain sont généralement suffisants. Le reste des opérations est effectué automatiquement.

Ce qui précède décrit un nœud dans son sens le plus pur, mais la définition peut également inclure d’autres utilisateurs qui interagissent avec le réseau d’une manière ou d’une autre. Par exemple, en crypto-monnaie, une application de portefeuille crypto léger sur votre téléphone est appelée un nœud léger.

Blockchains publiques et blockchains privées

Comme vous le savez surement, Bitcoin a instauré les bases pour que l’industrie de la blockchain devienne ce qu’elle est aujourd’hui. Depuis que Bitcoin a commencé à être accepté comme un actif financier légitime, les innovateurs ont exploré le potentiel de la technologie sous-jacente dans d’autres domaines. Cela a depuis conduit à l’exploration de la blockchain pour une myriade de cas d’utilisation non financiers.

Bitcoin est ce que nous appelons la blockchain publique. Cela signifie que n’importe qui peut voir les transactions qui s’y déroulent. Tout ce dont vous avez besoin pour rejoindre le réseau est une connexion Internet et le logiciel nécessaire. Il n’y a pas d’exigences de participation supplémentaires, vous pouvez donc parler d’un environnement sans permission.

D’autre part, il existe d’autres types de blockchains appelées blockchains privées. Ces systèmes définissent les règles sur qui peut voir et interagir avec la blockchain. Par conséquent, nous les appelons environnements avec-permissions. Les blockchains privées peuvent sembler inutiles à première vue, mais elles ont des utilisations importantes, principalement dans le monde de l’entreprise.

 

Comment fonctionnent les transactions ?

Si Alice souhaite payer Bob par virement bancaire, elle en informera la banque. Pour simplifier, nous supposerons que les deux parties utilisent la même banque. La banque vérifie qu’Alice dispose des fonds nécessaires pour effectuer la transaction (par exemple -50 $ pour Alice, +50 $ pour Bob) avant de mettre à jour la base de données.

Ce n’est pas si différent de ce qui se passe avec la blockchain. Après tout, c’est aussi une base de données. La principale différence est qu’il n’y a pas qu’un seul groupe qui vérifie et met à jour les soldes. Tous les nœuds devraient le faire.

Si Alice veut envoyer à Bob 5 bitcoins, elle enverra un message au réseau l’indiquant. Cela ne sera pas ajouté à la blockchain de sitôt. Le nœud affichera le message, mais d’autres actions devront être entreprises pour confirmer la transaction. Une fois cette transaction ajoutée à la blockchain, tous les nœuds peuvent confirmer qu’elle est terminée. Ils mettent à jour leur copie de la blockchain pour refléter ce changement d’équilibre. Maintenant, Alice ne peut pas envoyer les mêmes 5 unités à Carol, parce que le réseau sait qu’elle les a déjà utilisés lors de transactions précédentes.

1a380a240d6248b9b0649a17b5b5db41

Il n’y a pas de concept de nom d’utilisateur et de mot de passe. La cryptographie à clé publique est utilisée pour prouver la propriété des fonds. Pour obtenir l’argent dont Bob a besoin de générer une clé privée. C’est juste un nombre aléatoire très long, pratiquement impossible à deviner, même sur des centaines d’années. D’autre part, si Bob donne sa clé privée à quelqu’un, cette personne peut prouver la propriété (et donc la dépense) de ses fonds. Il est donc important de conserver la clé privée… privé.

Ce que Bob peut faire, cependant, c’est dériver la clé publique de sa clé privée. Puisqu’il est presque impossible de désosser sa conception pour obtenir la clé privée de la clé publique, il peut donner la clé publique à n’importe qui. Dans la plupart des cas, vous obtenez l’adresse publique en effectuant une autre opération (telle qu’un hachage) sur la clé publique.

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.