Qu’est-ce que la Blockchain ? L’humoriste américain Stephen Colbert dit que « c’est de l’or pour les nerds ». Eh bien, les nerds sont maintenant les enfants populaires du quartier, et la technologie de la blockchain est en train de devenir l’une des tendances les plus importantes de la finance et de l’innovation numérique depuis la création d’Internet.
Les blockchains sont des bases de données. Au lieu d’être stockés sur un serveur central auquel tous les utilisateurs ont accès, les enregistrements de la blockchain sont stockés sur les ordinateurs des utilisateurs du monde entier. Cela fait de la blockchain une base de données distribuée avec une architecture pair-à-paire. « Distribuée » signifie que les données sont stockées à plusieurs endroits et « pair-à-pair » signifie qu’il n’y a pas d’autorité centrale qui détient une copie maîtresse des données.
La blockchain Bitcoin de Satoshi Nakamoto n’est pas la première base de données distribuée ni la première base de données pair-à-pair. Ce n’est pas la première blockchain. Mais elle sert de base à la première crypto-monnaie moderne et elle est le point de départ des blockchains qui lui ont succédé.
Comment fonctionne la blockchain ?
Supposons que nous voulions stocker des données sur une main de poker dans une base de données. Nous commencerons par attribuer un numéro à chacune des cartes du jeu : 1 est l’as de pique, 2 est le 2 de pique, 3 est le 3 de pique, jusqu’à 52, le roi de cœur. Votre main pourrait ressembler à ceci :
Enregistrement | Valeur de la carte |
---|---|
1 | 12 |
2 | 44 |
3 | 4 |
4 | 31 |
5 | 27 |
Pensez aux numéros d’enregistrement comme les numéros de ligne dans une feuille de calcul. Les programmeurs de bases de données les appellent des registres, et les programmeurs de blockchain des blocs. Ligne, enregistrement, bloc – ils font tous référence à un seul morceau de données.
La main de votre adversaire occuperait les lignes 6 à 10, une autre main pourrait être stockée dans les lignes 11 à 15, et ainsi de suite. Ainsi, si vous souhaitez préciser de quelle main il s’agit, il vous suffit d’indiquer à la base de données la ligne contenant la première carte.
Les maillons de la chain
Bien sûr, dans une base de données pair-à-pair distribuée, d’autres utilisateurs peuvent distribuer des cartes en même temps que vous. Il est peu probable que vos cartes apparaissent dans des lignes consécutives. Nous pouvons donc ajouter des pointeurs vers les cartes précédentes et suivantes pour lier les données dans une chain :
Enregistrement | Valeur de la carte | Carte précédente | Carte suivante |
---|---|---|---|
15 | 12 | 0 | 37 |
37 | 44 | 15 | 118 |
118 | 4 | 37 | 121 |
121 | 31 | 118 | 199 |
199 | 27 | 121 | 999 |
La première carte de votre main est stockée dans la rangée 15. La valeur de la carte est 12, ce qui en fait la reine de pique. Il n’y a pas de rangée précédente dans votre main, nous mettons donc un 0 dans la colonne « Carte précédente ». La carte suivante est stockée dans la rangée 37.
Nous examinons donc la ligne 37. Elle spécifie elle aussi une seule carte, indique la ligne où se trouve la carte précédente (15) et indique la carte suivante, qui est stockée dans la ligne 118.
En informatique, cette structure est connue sous le nom de liste doublement liée car elle est liée à la fois en avant et en arrière. Les pointeurs sont stockés dans la base de données en tant que données avec les valeurs des cartes.
Sécurisation des données
Rien ne nous empêche – ou les pirates informatiques – de modifier les valeurs des cartes. Cette base de données rend la tricherie facile. N’importe qui ayant accès à la base de données pourrait changer la valeur des quatre premières cartes de votre main en 1, 14, 27, 40 – soit quatre as.
Nous pouvons nous prémunir contre les erreurs de données et les pirates informatiques en ajoutant une colonne. Pour chaque ligne, nous ajouterons une colonne qui contient la somme des valeurs des cartes, comme ceci :
Enregistrement | Valeur de la carte | Carte précédente | Carte suivante | Somme de contrôle |
---|---|---|---|---|
15 | 12 | 0 | 37 | 12 |
37 | 44 | 15 | 118 | 56 |
118 | 4 | 37 | 121 | 48 |
121 | 31 | 118 | 199 | 35 |
199 | 27 | 121 | 999 | 58 |
Vous voyez comment cela fonctionne ? Pour notre deuxième carte, la valeur de la somme de contrôle est 56, soit la somme des valeurs des deux premières cartes, 12 et 44. La somme de contrôle de la troisième carte est la somme des deux cartes suivantes. Chaque fois que nous lisons la valeur d’une carte, nous pouvons calculer la somme de contrôle et la comparer à la somme de contrôle stockée dans la base de données. S’ils ne sont pas identiques, nous savons que les données ont été falsifiées.
Les cartes de mémoire de votre ordinateur et de votre smartphone détectent les erreurs à l’aide de ce système. Ce système est également utilisé pour trouver des erreurs sur votre disque dur.
Ce simple système de somme de contrôle est un élément essentiel de la technologie blockchain. Il est bien connu des étudiants en informatique de première année.
Il est aussi ridiculement vulnérable aux pirates informatiques. Toute personne disposant de droits d’accès suffisants pour modifier les valeurs des cartes pourrait également modifier les sommes de contrôle pour dissimuler son travail. Ou le pirate pourrait modifier les pointeurs « carte précédente » et « carte suivante » pour remplacer une carte en main par une carte stockée dans une autre rangée.
Nakamoto a anticipé ces vulnérabilités dans son architecture blockchain. Au lieu d’employer une simple addition pour créer des sommes de contrôle et suivre les liens dans la chaîne de données, il a utilisé un processus cryptographique appelé « hachage ».
Hachage et cryptage
Le hachage crée un identifiant unique en combinant la valeur de l’enregistrement précédent avec la valeur de l’enregistrement actuel dans un processus mathématique à sens unique, ce qui donne une valeur de hachage comme 06C4D99F32047. Ce processus est dit unidirectionnel car il n’existe pas de processus mathématique correspondant permettant de retransformer 06C4D99F32047 en données d’origine.
Dans une blockchain, la valeur de hachage de chaque bloc est basée sur la valeur de hachage du bloc précédent, qui est basée sur la valeur de hachage du bloc d’avant, en remontant jusqu’au bloc 0 de Nakamoto. Vous pouvez calculer la valeur de hachage de n’importe quel bloc et la comparer à la valeur de hachage qui est stockée dans le bloc. Si elles ne correspondent pas, les données ont été altérées.
Dans une base de données classique, il est possible d’altérer les données, puis de calculer de nouvelles valeurs de hachage et de les injecter dans les blocs ou les enregistrements suivants pour masquer les effets. Cela ne fonctionne pas avec une base de données blockchain distribuée de pair à pair, car le pirate devrait modifier simultanément des copies de la base de données stockées sur des centaines ou des milliers d’ordinateurs.
Une conséquence est que, bien qu’il soit possible d’ajouter de nouveaux blocs de données à la blockchain, les blocs précédents ne peuvent pas être supprimés ou modifiés. Cela signifie que vous ne pouvez pas vous envoyer 100 000 dollars en bitcoins et effacer la transaction.
Chaque transaction sur la blockchain est validée à l’aide de ce mécanisme de hachage.
En outre, Nakamoto a mis en place un cryptage pour s’assurer que les données stockées dans la blockchain seraient visibles par chaque utilisateur, mais déchiffrables uniquement par ceux qui disposaient des clés de décryptage appropriées. Sans la clé, tout ce que vous voyez est un flux de caractères absurdes.
La puissance de la technologie blockchain
La technologie Blockchain rend les données privées, permanentes et vérifiables. L’enregistrement des données et des transactions est public, mais le cryptage le protège des regards indiscrets et des altérations. C’est pourquoi la blockchain de Bitcoin est souvent appelée le « registre ouvert » de Bitcoin.
Tout ce hachage et ce cryptage nécessitent beaucoup de ressources informatiques. C’est lent. À l’échelle mondiale, l’ensemble du réseau blockchain Bitcoin est limité au traitement de 4,6 transactions par seconde. Les sociétés de cartes de crédit traitent couramment une moyenne de 1 700 TPS et affirment être capables de traiter 56 000 TPS. La limite de 4,6 TPS est la principale source du problème d’évolutivité du Bitcoin. Les informaticiens y travaillent.
Le réseau d’ordinateurs qui valide les transactions en Bitcoins consommerait plus d’énergie électrique que la Suisse.
De nombreux nœuds de validation des transactions de Bitcoin détiennent la totalité de la blockchain, qui représente actuellement environ 250 Go de données. Ces nœuds sont connus sous le nom de nœuds complets. Le réseau comprend également des nœuds SPV qui effectuent une vérification simplifiée des paiements. Il n’existe pas de moyen direct de compter les nœuds. Un site Web appelé Bitnodes fournit un compte actualisé des nœuds actuellement en ligne et accessibles, mais une recherche rapide sur Google montre que les experts fournissent des estimations du nombre de nœuds allant de 6 000 à 200 000. Personne ne sait vraiment combien il y en a.
Tout sur l’Ethereum
La blockchain la plus utilisée est l’Ethereum, qui comporte des modifications qui la rendent plus flexible que la blockchain Bitcoin. L’Ethereum possède sa propre crypto-monnaie, l’Ether, mais les développeurs ont créé de nombreuses autres crypto-monnaies qui fonctionnent sur la blockchain Ethereum. La plateforme est également utilisée pour de nombreux types d’applications en plus de la monnaie virtuelle.
L’un des principaux avantages de l’Ethereum est qu’il peut contenir des programmes exécutables en plus des données. Ces programmes sont connus sous le nom de « contrats intelligents ». Par exemple, un contrat intelligent pour la dîme pourrait additionner tous les Ether ajoutés à votre compte ce mois-ci et envoyer 10% à l’église en tant que don.
Comme la blockchain Bitcoin, l’Ethereum est inviolable. L’horloger de luxe Breitling donne aux propriétaires de ses montres des certificats numériques qui prouvent leur authenticité. Si vous vendez votre montre, vous pouvez transférer le certificat au nouveau propriétaire, établissant ainsi une chaîne de propriété vérifiable. Cette technologie peut également être utilisée pour retracer la provenance des aliments dans les épiceries, en suivant chaque transfert. De plus en plus de personnes se soucient de l’approvisionnement éthique, et la blockchain peut y contribuer.
En 2020, l’Associated Press a publié les résultats des élections présidentielles américaines minute par minute sur la blockchain Ethereum afin de créer un registre immuable des votes officiels vérifiés.
La blockchain Ethereum gère environ 30 TPS. Les développeurs travaillent d’arrache-pied sur les futures versions d’Ethereum qui utiliseront une technique appelée « sharding » (fragmentation) pour faire fonctionner plusieurs blockchains à la fois, les transactions consolidées étant enregistrées de manière asynchrone sur la blockchain centrale. Les développeurs espèrent que les nouvelles versions de la blockchain Ethereum pourront gérer jusqu’à 100 000 TPS.
Comme l’Ethereum exécute des contrats intelligents, il sert de plateforme pour de nombreuses applications liées à la blockchain. La plupart des applications décentralisées basées sur la blockchain – en particulier les applications financières décentralisées – sont basées sur la chain principale de l’Ethereum ou sur des blockchains Ethereum privées.
L’Ethereum est également un choix de premier ordre pour les entreprises qui cherchent à mettre en œuvre des économies basées sur des jetons. Par exemple, une entreprise peut mettre en place un programme de fidélité dans lequel les clients reçoivent des Acme Coins pour chaque achat. Il pourrait ensuite y avoir une boutique de cadeaux dans laquelle les Acme Coins pourraient être échangés contre des avantages. L’entreprise pourrait créer un réseau d’entreprises qui acceptent également les Acme Coins, donnant ainsi aux jetons une valeur de facto bien qu’ils ne puissent pas être échangés contre des dollars ou des euros.
Et la spécification Ethereum ERC-721 définit un protocole pour la création de jetons non fongibles. Elle constitue la base du marché des NFT.
Autres blockchains
Le Bitcoin et l’Ethereum sont les blockchains les plus utilisées, mais il en existe désormais des centaines ou des milliers d’autres, toutes basées sur le concept original de Nakamoto. Les blockchains peuvent être publiques, comme la blockchain Bitcoin, ou privées, utilisées pour la gestion interne des données.
Les chercheurs ont créé de nombreuses variantes de l’architecture de base de la blockchain. Nombre d’entre elles comportent des innovations visant à accélérer le traitement, à accroître l’évolutivité ou à réduire les frais de transaction. Les mécanismes de consensus, la coordination des sous-chaînes subordonnées, les blockchains privées et d’autres technologies clés font l’objet de projets dans le monde des cryptos.
Qu’est-ce qu’une Blockchain? Vous le savez maintenant
Quelle est la définition de la blockchain ? Comment fonctionne la technologie blockchain ? Nous espérons que cette explication de la blockchain vous a permis de mieux comprendre et apprécier cette architecture de base de données pair-à-pair remarquable et révolutionnaire, ainsi que ses applications.
Essayez de modifier votre recherche
Le texte est de nature informative et ne constitue pas une recommandation d'investissement. Il ne reflète pas l'opinion personnelle de l'auteur ou du service. Tout investissement ou commerce est risqué, les rendements passés ne sont pas une garantie pour les rendements à venir – ne risquez que les actifs que vous êtes prêt à perdre.