Читать книгу Bible De L'Investissement Dans La Crypto-Monnaie - Alan T. Norman - Страница 7
Chapitre 4. La blockchain
Comment fonctionne la blockchain ?
ОглавлениеEn termes plus simples, la Blockchain utilise une combinaison de cryptographie et d’un registre public pour créer la confiance entre les parties tout en préservant la confidentialité.
Comprendre les mécanismes de fonctionnement est un peu plus difficile, mais afin d’apprécier pleinement le génie derrière la technologie Blockchain, nous devrons nous plonger dans les détails techniques.
Alors que la Blockchain peut inclure de nombreuses autres fonctionnalités, les principes fondamentaux d’une Blockchain sont dans le nom de la technologie :
Le bloc : un bloc est une liste de transactions sur une certaine période. Il contient toutes les informations traitées sur le réseau au cours des dernières minutes. Le réseau ne crée qu’un seul bloc à la fois.
La chaîne : chaque bloc est lié au bloc qui le précède à l’aide d’algorithmes cryptographiques. Ces algorithmes sont difficiles à calculer pour les ordinateurs et prennent souvent plusieurs minutes à résoudre par les ordinateurs les plus rapides du monde. Une fois résolue, la chaîne cryptographique verrouille le bloc en place, ce qui le rend difficile à changer. Nous examinerons cela plus en profondeur dans une minute.
La chaîne s’allonge avec le temps. Une fois qu’un nouveau bloc est créé, les ordinateurs du réseau opèrent ensemble pour vérifier les transactions dans le bloc et sécuriser la place de ce bloc dans la chaîne.
La partie la plus fondamentale de la Blockchain est le registre. C’est là que sont stockées les informations sur les comptes du réseau. Le grand livre à l’intérieur de la Blockchain est ce qui remplace le grand livre d’une banque ou d’une autre institution. Pour une crypto-monnaie, ce grand livre se compose généralement de numéros de compte, de transactions et de soldes. Lorsque vous soumettez une transaction à la Blockchain, vous ajoutez des informations au grand livre sur la provenance et la destination de la devise.
Un registre de Blockchain est distribué sur le réseau. Chaque nœud du réseau conserve sa propre copie du registre et le met à jour lorsque une personne soumet une nouvelle transaction. Ce « grand livre partagé » est la façon dont la Blockchain entend remplacer les banques et autres institutions. Au lieu de demander à la banque de conserver une copie officielle du grand livre, chacun en conservera sa propre copie, puis nous vérifierons les transactions par consensus.
Chaque technologie Blockchain a son propre registre et les différents registres fonctionnent très différemment (comme nous le verrons). Cependant, le grand livre du Bitcoin, le premier registre de Blockchain, nécessite trois informations pour répertorier une transaction :
1. Une entrée : si John veut envoyer un Bitcoin à David, il doit dire au réseau où il a obtenu ce Bitcoin en premier lieu. Peut-être que John a reçu le Bitcoin de Sarah hier, donc la première partie de l’entrée du grand livre le dit.
2. Un montant : c’est le montant que Jean veut envoyer à David.
3. Une sortie : c’est l’adresse de Bitcoin de David et où le Bitcoin doit être déposé
Vient maintenant le concept difficile à saisir : il n’existe pas de Bitcoin. Bien sûr, il n’y a pas de Bitcoins physiques. Vous le saviez probablement déjà. Cependant, il n’y a pas non plus de Bitcoins sur un disque dur quelque part. Vous ne pouvez pas pointer vers un objet physique, un fichier numérique ou un morceau de code et dire : « Ceci est un Bitcoin ». Au lieu de cela, l’ensemble du réseau Bitcoin n’est qu’une série d’enregistrements de transactions. Chaque transaction de l’histoire du Bitcoin vit dans le grand livre distribué du Bitcoin de la Blockchain. Si vous voulez prouver que vous avez 20 Bitcoins, la seule façon de le faire est de pointer vers les transactions où vous avez reçu ces 20 Bitcoins.
Presque toutes les Blockchain ont cette caractéristique en commun. L’historique des transactions est la devise. Il n’y a aucune différence entre les deux. Certaines nouvelles crypto-monnaies modifient la façon dont le grand livre est écrit afin de fournir un plus grand anonymat et une plus grande confidentialité dans les transactions. Elles utilisent certaines techniques de masquage d’identité pour masquer l’expéditeur et le destinataire de la transaction tout en conservant un registre distribué fonctionnel.
Création D’un Bloc
Le registre est au cœur du bloc, mais ce n’est pas la seule chose qui entre dans un bloc nouvellement créé. Il y a un en-tête et un pied de page requis pour chaque bloc. De plus, les transactions incluses dans le bloc sont soumises à un processus qui les compresse, les code et les standardise. Lorsqu’un vérificateur crée un nouveau bloc, il est complètement différent du grand livre sur lequel il était basé. Cependant, le grand livre sous-jacent est toujours là et peut être consulté à l’avenir lorsque de nouvelles transactions nécessitent des informations sur les blocs précédents.
Ajout De Transactions
La première étape de la création d’un bloc consiste à rassembler et à ajouter toutes les transactions en cours au grand livre du bloc. Lorsqu’un utilisateur crée une nouvelle transaction, il diffuse cette transaction sur l’ensemble du réseau. L’ordinateur d’un vérificateur examinera ensuite la transaction pour s’assurer qu’elle est valide.
Étant donné que les devises de la Blockchain ne sont rien de plus qu’une série de transactions, la première étape pour vérifier une transaction consiste à regarder où l’expéditeur dit avoir initialement obtenu son argent. Le vérificateur examinera ensuite l’historique de la Blockchain pour trouver le bloc et la transaction où l’expéditeur a reçu l’argent. Si cette transaction d’entrée est confirmée sur la Blockchain, la transaction est valide et ils devront confirmer l’adresse de la partie destinataire. Si la transaction d’entrée n’a pas été confirmée, la transaction actuelle n’est pas valide et elle ne sera pas incluse dans le grand livre.
Une fois que toutes les transactions de ce bloc ont été vérifiées, il est temps de créer le grand livre. Voici un exemple simple, où les transactions sont répertoriées les unes après les autres :
[Entrée][Montant][Adresse de sortie], [Entrée][Montant][Adresse de sortie], [Entrée][Montant][Adresse de sortie], [Entrée][Montant][Adresse de sortie], [Entrée][Montant][Adresse de sortie]…
Ensuite, le vérificateur appliquera une technique cryptographique appelée hachage à chacune des transactions. Dans sa définition la plus basique, le hachage prend une chaîne de caractères et génère une autre chaîne de caractères. Ainsi, lorsque vous fournissez l’adresse d’entrée, le montant et l’adresse de sortie à un algorithme de hachage, il transformera la transaction en une chaîne de caractères unique à cette transaction, comme ceci :
aba128d3931e54ce63a69d8c2c1c705ea9f39ca950df13655d92db662515eacf
(Il s’agit d’un hachage de transaction réel de la Blockchain du Bitcoin.)
Le hachage est donc utilisé pour normaliser les données tout en s’assurant qu’elles n’ont pas été falsifiées. Si une personne essayait de modifier une transaction dans la Blockchain, elle devrait refaire cette transaction, et cela aurait l’air complètement différente. Il serait évident qu’elle avait été falsifiée.
Pour rendre encore plus difficile la falsification de la Blockchain et réduire la mémoire requise pour stocker le registre des transactions, la plupart des Blockchains hachent plus d’une fois. Cela signifie qu’elles prennent le hachage d’une transaction, le combinent avec un hachage d’une autre transaction et le re-hachent dans un nouveau hachage plus petit. La combinaison de transactions de cette manière est connue sous le nom d’arborescence Merkle, et le hachage racine de toutes les transactions est inclus au début du bloc. Comprendre pourquoi nous avons besoin d’un arbre Merkle est un sujet pour un livre plus approfondi, mais à un niveau de base, l’arbre Merkle montre que toutes les transactions du bloc sont valides tout en utilisant moins de mémoire à long terme.
Horodatage Et Id De Bloc
Le dernier élément d’un bloc est l’horodatage et les informations d’ID de bloc. Cela facilite la recherche ultérieure des blocs précédents. Les transactions futures pourront également pointer vers cet ID de bloc comme le bloc contenant la transaction d’entrée (également appelée « coinbase ») pour la transaction en cours.
Association Des Blocs Ensemble
La dernière étape de la création d’un bloc consiste à le relier aux blocs précédents de la chaîne. Il y existe plusieurs façons de le faire, mais pratiquement toutes impliquent un hachage d’une manière ou d’une autre pour faire du contenu du bloc précédent une partie du nouveau bloc.
N’oubliez pas que le hachage prend une entrée, quelle que soit sa taille, et la transforme en une chaîne de caractères. Si vous modifiez l’entrée même légèrement, la sortie entière est modifiée. Afin d’inclure le contenu du bloc précédent dans le nouveau bloc, nous pouvons prendre le hachage de tout le bloc précédent et l’ajouter au début du bloc suivant. Cela signifie que nous avons effectivement lié l’ancien bloc au nouveau bloc, car si quelque chose change dans l’ancien bloc, même le plus petit changement, le hachage du bloc entier changera.
Désormais, une fois qu’un bloc est terminé, il devient BEAUCOUP plus difficile de le changer. Si vous modifiez un bloc plus ancien, vous devrez hacher à nouveau tout ce bloc. Une fois que vous avez re-haché tout le bloc 1, vous devez casser le bloc 2 ouvert, supprimer l’ancien hachage du bloc 1, insérer le nouveau hachage du bloc 1, et maintenant re-hacher tout le bloc 2. Mais de nouveaux blocs sont créés tous les heure, donc pour modifier une transaction plus ancienne, vous devez modifier chaque bloc après que cette transaction a eu lieu. Plus le temps passe, plus il devient difficile de pirater le réseau et de réussir à modifier une transaction. C’est pourquoi le hachage est au cœur de la sécurité de la Blockchain. La cryptographie rend le registre des transactions difficile à modifier, ce qui signifie que le registre peut être public et sécurisé en même temps.
Cependant, le hachage lui-même n’est pas si difficile. La plupart des ordinateurs pourraient facilement hacher à nouveau une Blockchain en quelques secondes. Donc, afin de garantir que la sécurité de hachage fait son travail, nous devons introduire un niveau de difficulté dans la création d’un nouveau bloc. Idéalement, ce serait quelque chose qui ralentirait un attaquant et rendrait plus probable que les membres honnêtes du réseau gagneront. Dans la Blockchain du Bitcoin (et la plupart des autres Blockchains modernes), cette difficulté supplémentaire est appelée « preuve de fonctionnement ».
Je n’expliquerai pas la preuve de fonctionnement ici, une explication de base de la preuve de fonctionnement que j’ai abordée dans le chapitre 3 de ce livre, ni les détails approfondis de cette technologie dans mon livre. « Blockchain Technology Explained ».