Glossaire / Minage et consensus
Taille maximale de bloc
Aussi appelé Limite de taille de bloc.
- Qu'est-ce que la taille maximale de bloc ?
- La taille maximale de bloc est le plafond de données qu'un bloc bitcoin peut transporter, et depuis SegWit ce plafond est un budget de quatre millions d'unités de poids plutôt qu'un nombre d'octets.
Spécifié dans BIP-141.
Un bloc ne peut pas grandir pour suivre la demande, et c'est délibéré. Bitcoin Core plafonne un bloc à 4 000 000 unités de poids, un budget qui minore les données témoins et revient à environ 4 Mo pour un bloc riche en données témoins et 1 Mo pour des transactions à l'ancienne. Cette offre fixe est l'une des deux composantes de chacun des frais que vous payez pour déplacer des bitcoins.
Comment cela fonctionne
Statut : la règle fixe de 1 000 000 octets a cessé d'être la contrainte déterminante le 24 août 2017, lorsque SegWit a été activé au bloc 481 824. Elle subsiste en dessous comme plafond de la partie non témoin d'un bloc, mais la limite qui décide de ce qui tient est le budget de 4 000 000 unités de poids défini par le BIP141.
La taille maximale de bloc a commencé comme un frein d'urgence plutôt qu'une politique économique. Satoshi Nakamoto a ajouté la constante de 1 000 000 octets en 2010, sans documentation ni discussion, pour qu'un mineur hostile ne puisse pas inonder un réseau jeune avec un bloc gigantesque que chaque participant devrait ensuite stocker pour toujours. Personne n'a écrit ce qui devait se passer lorsque la demande ordinaire rattraperait cette limite. Ce silence explique en grande partie pourquoi les débats sur ce chiffre sont devenus si âpres par la suite.
Le BIP141 a changé la comptabilité plutôt que la constante. Le poids compte les données de base trois fois plus la sérialisation complète une fois, ce qui donne quatre unités par octet hors témoin et une unité par octet témoin. Plafonnez cela à 4 000 000 et deux plafonds en découlent ensemble : les données de base ne peuvent toujours pas dépasser 1 000 000 octets, et environ 3 Mo de données de signature peuvent s'y ajouter. Les logiciels écrits avant 2017 ne mesuraient que la sérialisation dépouillée, ils voyaient donc un bloc légal et n'émettaient aucune objection, ce qui explique que la capacité ait augmenté par un soft fork plutôt que par une scission de chaîne.
Le poids n'est pas le seul plafond du règlement. Un bloc ne peut pas non plus dépenser plus de 80 000 opérations de signature, un budget distinct qui évite qu'un petit bloc prenne un temps disproportionné à vérifier.
Où le voir
Les blocs réels restent bien en dessous du maximum théorique, car les paiements ordinaires transportent très peu de données témoins. Un bloc chargé se sérialise généralement à un peu plus de 1,5 mégaoctets, et seules les transactions remplies de données de type inscription approchent l'extrême de 4 Mo. Les explorateurs affichent la taille et le poids côte à côte et leur divergence est voulue : divisez le poids par quatre et vous obtenez des octets virtuels, l'unité que votre portefeuille utilise lorsqu'il annonce un taux de frais en sat/vB.
Ce chiffre est aussi la raison d'être de deux autres cryptomonnaies. Bitcoin Cash a fait scission le 1er août 2017 au bloc 478 558 avec une limite de 8 Mo, et la proposition SegWit2x de doubler le plafond de base à 2 Mo a été abandonnée le 8 novembre 2017 faute de soutien. Ces deux événements appartiennent à la guerre de la taille des blocs, un débat de trois ans sur la question de savoir si un bloc plus grand ou une seconde couche devait absorber la croissance. Le camp vainqueur a laissé la limite de base intacte et déplacé la pression vers Lightning.
Taille maximale de bloc vs poids de bloc
La taille maximale de bloc est la question ; le poids de bloc est l'unité dans laquelle la réponse est désormais donnée. Demander combien de mégaoctets tiennent produit une fourchette plutôt qu'un chiffre, car la réponse dépend de la part des données qui se trouve dans les témoins. Demander combien d'unités de poids tiennent produit exactement un chiffre, 4 000 000, pour chaque bloc depuis l'activation de SegWit. C'est pourquoi la documentation du protocole a cessé d'indiquer une taille, et pourquoi toute source qui vous dit encore que la limite est de 1 Mo décrit le bitcoin tel qu'il était avant 2017.