Les blocs compacts ou blocs compacts ne sont rien de plus qu'une petite adaptation à la manière dont le protocole peut transmettre les informations des blocs entre les nœuds qui composent le réseau.
UL'une des principales tâches des développeurs de Bitcoin est de rendre le réseau plus efficace et évolutif, afin qu'ils étudient et développent différentes techniques pour rendre cela possible sans casser la base du protocole Bitcoin, ce qui les a conduits à des idées différentes et parmi elles, nous avons les blocs compacts.
Les blocs compacts ou blocs compacts ne sont rien de plus qu'une petite adaptation à la manière dont le protocole peut transmettre les informations des blocs entre les nœuds qui composent le réseau. L'objectif de cette modification est de rendre la transmission de données plus efficace, en réduisant la bande passante nécessaire à cette tâche. Une situation qui conduit à réduire la latence et les exigences réseau nécessaires pour atteindre un consensus rapide dans le réseau au niveau mondial. Grâce à ces avantages, les blocs compacts sont avec nous depuis la sortie de la version 0.13.0 de Bitcoin Core, nous permettant de profiter de ses avantages.
Mais comment fonctionne cette technologie? Que nous offre-t-il exactement? Apprenons-en plus sur cette proposition et tout ce que cela signifie pour Bitcoin.
Blocs compacts, rendant la transmission de données en Bitcoin plus efficace
Avant d'entrer dans des blocs compacts, il est d'abord important de comprendre pourquoi il est nécessaire d'être efficace dans la transmission de données au sein d'un réseau comme Bitcoin. Comme nous le savons, Bitcoin est un réseau distribué de milliers de nœuds répartis dans le monde entier. En fait, environ 10900 nœuds Bitcoin sont publiquement connus, une donnée que nous pouvons consulter sur le Web Bitnodes.
Maintenant, demandons-nous un instant Quelle quantité d'informations sont traitées dans cet immense réseau? Si l'on prend en compte le nombre de nœuds, en plus du fait que chaque seconde le réseau reçoit des centaines de transactions et que toutes les 10 minutes un bloc est généré contenant en moyenne 1 Mo d'informations, on peut en déduire que le réseau a un trafic d'informations élevé globalement. Mais combien exactement?
Si nous faisons les calculs à l'aide de ces données, le réseau Bitcoin gère en moyenne 1,58 To de données dans le monde quotidiennement. L'obtention de ces données est simple:
Tout d'abord, il faut garder à l'esprit qu'en moyenne environ 144 blocs sont produits chaque jour, avec 1 Mo par bloc. Autrement dit, une moyenne de 144 Mo de données par jour. Cependant, ceux-ci doivent être répliqués dans les 11 XNUMX nœuds qui composent le réseau. En d'autres termes, tous les blocs et leurs données voyagent à travers le réseau afin que chaque nœud puisse en avoir une copie exacte, nous avons donc:
11000 (nœuds) * 144 (Mo) = 1584000 Mo (données répliquées sur tous les nœuds)
Si nous apportons ces données à TB, nous obtenons:
1584000/1000000 1,58 XNUMX = XNUMX To
Ainsi, nous pouvons connaître les données approximatives mobilisées à travers le réseau Bitcoin. C'est une énorme quantité d'informations consommatrices de bande passante. Mais pas seulement cela, en plus cela génère deux problèmes: cela ralentit le réseau en termes de performances du réseau et complique la création d'un consensus à travers le réseau et les nœuds qui le composent.
Si nous ajoutons que les problèmes ne peuvent augmenter en échelle qu'avec un plus grand nombre de nœuds et de personnes utilisant le réseau, alors nous comprenons pourquoi il est urgent de résoudre ce problème. En fait, les développeurs aiment Greg Maxwell ont été très catégoriques à cet égard, en disant:
La blockchain Bitcoin décentralisée est un moyen de transmission partagé au niveau mondial, qui est probablement le mode de communication le plus incroyablement inefficace jamais conçu par l'homme.
Beaucoup peuvent croire que les propos de Maxwell attaquent la décentralisation du réseau. Mais en réalité ils s'attaquent à un problème connu de tous, les réseaux P2P sont un moyen assez inefficace pour envoyer des informations dans des réseaux qui doivent toujours être synchronisés. Dans cette situation, il est préférable de rendre le support de transmission plus efficace et pour cela il existe plusieurs propositions telles que Relay Network, Erlay et bien sûr Compact Blocks.
Les trois avantages que nous offrent les blocs compacts sont:
- Il ne modifie pas le protocole Bitcoin.
- Ne brise pas le schéma P2P du réseau actuel, protégeant sa décentralisation.
- Cela réduit considérablement les besoins en bande passante et la quantité de données transmises au sein du réseau.
- Sans aucun doute, ce ne sont pas des arguments de peu de poids et qui maintiennent Bitcoin en ligne avec sa ligne philosophique: argent décentralisé accessible à tous.
Comment fonctionnent les blocs compacts?
Ce que les blocs compacts cherchent est de diviser les informations des blocs extraits dans le réseau en deux processus, que nous expliquons ci-dessous:
Générer un bloc valide sur le réseau
Le premier processus est la génération du bloc, où les mineurs créeront un bloc valide dans les règles de consensus du réseau. À ce stade, les mineurs incluent toutes les informations que ce bloc aurait normalement. C'est ton block hash ou Block ID, le Racine de Merkle, les informations complètes de l'en-tête du bloc et bien sûr l'ensemble des transactions qui ont été validées par celui-ci. À ce stade, il n'y a aucune modification d'aucune sorte dans le processus, il reste le même processus de génération de bloc sans aucun changement.
Cela signifie que les mineurs font leur travail, génèrent le bloc et l'envoient au réseau. A ce moment, le premier nœud à recevoir ledit bloc le vérifie, et commence à envoyer les blocs compacts en suivant la solution décrite ci-dessous.
Envoi des informations au reste du réseau
Puis commence le deuxième processus, qui est la transmission de cette information, et soyez prudent car c'est là que réside l'innovation des blocs compacts. Comme nous le savons bien, chaque nœud de la blockchain a un espace appelé mempool, où sont stockées les transactions en attente de traitement. Ce mempool est présent dans tous les nœuds sans exception. Cette situation nous permet de déduire ce qui suit: de nombreuses transactions du bloc récemment généré sont dans le mempool de chacun des nœuds du réseau.
Cette déduction est très importante car le processus actuel de transmission des blocs est ce qu'il fait; envoyer ledit bloc avec tout cet ensemble de transactions en double. C'est précisément cette duplication qui rend le processus de transmission des données sur le réseau moins efficace. Face à cela, la question suivante est valable: ne pouvons-nous pas profiter du fait que les nœuds ont déjà beaucoup de ces transactions dans leur mempool et ainsi réduire la quantité de données envoyées aux nœuds et qu'ils consolident eux-mêmes le nouveau bloc? La réponse est oui, cela peut être fait. Et en fait, c'est précisément ce qui se passe dans le deuxième processus de bloc compact.
Les nœuds qui utilisent des blocs compacts propagent le bloc au moyen d'un "bloc minimum" du bloc miné. Ce « bloc minimum » contient en réalité des informations vitales, parmi lesquelles on peut retrouver les suivantes :
- L'en-tête de 80 octets du nouveau bloc. Voici les informations de l'ID de bloc ou du hachage de bloc, la racine merkel, le Nonce et le nombre de transactions. Et aussi, la date et l'heure de l'extraction.
- Identifiants de transaction ou TXID (sans données des scripts de ces transactions).
- Certaines transactions complètes (avec toutes les informations des scripts de ces transactions) que le nœud d'envoi prédit que le nœud de réception n'a pas encore dans son mempool.
Au total, ces blocs minimaux occupent un maximum de 20 Ko de données. Qu'est-ce qu'une réduction drastique d'informations par rapport à 1 Mo de données qui occupent en moyenne un bloc.
Reconstruire le bloc
Comme nous pouvons le voir, la quantité d'informations dans ce "bloc minimum" est bien inférieure à ce que contient normalement un bloc complet. Cependant, ces informations permettraient parfaitement au reste des nœuds de reconstruire avec précision le bloc miné. Et pour cela, il ne doit utiliser que les informations reçues dans ce bloc minimum et son mempool. De cette manière, le nœud utilise ces données pour recréer complètement le bloc final, qui peut être vérifié sans problème.
Même s'il n'est pas possible de reconstruire le bloc localement, le nœud fera des demandes d'informations pour y parvenir. Pour ce faire, le nœud nécessitera ladite transaction (ou les transactions) vers un autre nœud complet pour reconstruire l'index et former le bloc sans équivoque. Cela évite, par exemple, que les nœuds construisent des blocs disparates et rompent ainsi le consensus du réseau.
Ce processus d'envoi d'informations au coup par coup et en utilisant des données locales pour compléter les informations dans les blocs validés vous permet de réduire considérablement la taille des messages réseau. Vous pouvez le voir comme l'envoi de petits signaux que vous pouvez reconstruire complètement. Quelque chose qui est possible grâce au fait que vous avez en votre possession les éléments utilisés pour construire ces signaux. De plus, grâce à l'utilisation de la cryptographie, vous pouvez être sûr que votre message reconstruit sera identique à l'original.
Que savez-vous, cryptonuta?
Les blocs compacts aident-ils vraiment à optimiser l'utilisation des données sur le réseau Bitcoin?VRAI!
Étant donné que les blocs compacts sont conçus pour utiliser plus intelligemment les données stockées dans le mempool du nœud, ils peuvent aider à optimiser considérablement l'utilisation des données du réseau, réduisant considérablement le besoin de bande passante pour votre réseau. fonctionnement efficace.
Impact des blocs Compacts sur Bitcoin
Parmi les avantages des blocs compacts, on peut citer:
- Cela réduit considérablement le besoin de bande passante réseau pour transmettre des informations à tous les nœuds. En fait, en moyenne maintenant, la consommation de données du réseau atteint 1,4 To de données par jour. Il s'agit d'une réduction de plus de 90% de la consommation de données de l'ensemble du réseau.
- Il permet que la propagation des données sur le réseau soit plus rapide. En fait, il faut environ 15 secondes à tous les nœuds du réseau pour avoir les informations du nouveau bloc.
- Un autre point en faveur des blocs compacts est qu'ils réduisent la consommation de données pour ceux qui ont une connexion limitée. De cette manière, ils peuvent participer au réseau sans problèmes majeurs ni coûts excessifs.
- De plus, il améliore la sécurité du réseau, car la transmission rapide des informations empêche les attaquants d'envoyer de fausses informations.