
Source: Bitcoin Magazine; Compilation: Wuzhu, vision de la chaîne Bitcoin
Tous ceux qui ont utilisé le bitcoin ont utilisé un mempool.Alors, qu’est-ce qu’une piscine de mémoire?
D’un point de vue technique, il n’y a pas de pool de mémoire dite « unique ».Chaque nœud complet Bitcoin exploite son propre pool de mémoire, qui est un cache de transactions bitcoin valides qui ont été diffusées sur le réseau mais n’ont pas été confirmées dans le bloc.Les nœuds échangent des messages les uns avec les autres pour afficher les transactions qu’ils possèdent ou ne possèdent pas et échangent des transactions qu’ils n’ont pas.
Chaque pool de mémoire est essentiellement une «île» distincte, avec son propre ensemble de transactions non confirmées et parfois même ses propres variables et paramètres de configuration.La taille du pool de mémoire peut être configurée et la valeur par défaut est de 300 Mo. De plus, il y a un taux minimum qui est ajusté dynamiquement et peut être configuré en valeur.Ceci est utilisé pour décider quelles transactions seront expulsées du pool de mémoire lorsque le pool de mémoire est plein et que davantage de transactions affluent constamment.Il existe également d’autres options configurables, telles que les options Datacarrier et Datacarriersize, qui affectent les transactions contenant la sortie d’Op_return.
Différents nœuds ont des raisons différentes pour exécuter des pools de mémoire, donc les exigences sont différentes, mais en fin de compte, la satisfaction de ces exigences est obtenue en exécutant de manière synchrone leurs pools de mémoire respectifs et en interagissant les uns avec les autres.
Considérez chaque pool de mémoire comme un véritable pool, qui est connecté les uns aux autres via le canal sous-jacent.Plus la piscine de mémoire est grande, plus la piscine sous-jacente.Mineurs, échanges, navigateurs de blocs, ceux-ci deviendront la piscine la plus profonde.Ils ont tous leurs propres motivations pour comprendre toutes les transactions non confirmées en attendant d’être emballées en blocs.Les mineurs, pour s’assurer qu’ils ont les offres les plus rentables dans le bloc suivant.Échanges, pour s’assurer qu’ils comprennent toutes les transactions en attente.Bloquer le navigateur, car leur service entier affiche des ensembles de données sur la blockchain et les pools de mémoire aussi complètement que possible.Vos nœuds normaux n’ont vraiment qu’à être suffisamment profond pour inclure la partie de taux la plus élevée du « Pool de mémoire ».
Considérez maintenant chaque transaction comme une baisse de liquide, plus le taux de frais est élevé, plus la densité du liquide est élevée.Ces liquides s’écoulent dans les canaux entre les piscines minières, et en atteignant chaque piscine minière, une goutte de liquide reçu est copiée et envoyée par le canal à toute autre piscine minière qui n’a pas encore reçu le liquide.Au fur et à mesure que la piscine se remplit, lorsque le liquide déborde, le liquide de densité inférieur (taux plus bas) débordera d’abord du bord de la piscine.
Finalement, certains mineurs chanceux ramasseront une certaine quantité de liquide du bas de la piscine et le verseront dans le dernier creux en verre, formant un long creux de verre enroulant rempli de liquide et y resteront pour toujours (blockchain).C’est juste un moyen de penser intuitivement au système et de couvrir la majeure partie de sa dynamique.
Cette disposition des interconnexions de pool minière fournit différentes utilisations pour différents utilisateurs.
Commerçant
Les pools de mémoire ont deux utilisations lorsque les utilisateurs effectuent des transactions.Tout d’abord, et surtout, envoie leurs transactions aux mineurs.Si la transaction n’entre pas dans le pool de mémoire du mineur, il est impossible d’être emballé en blocs.Les pools de mémoire sont liés et partagés les uns avec les autres, en s’assurant qu’une fois la transaction placée dans un pool de mémoire, il finira par entrer dans le pool de mémoire de tous les mineurs.Il est inestimable d’avoir un réseau solide et décentralisé qui garantit que les transactions peuvent éventuellement être envoyées des utilisateurs à tous les mineurs sans être affectés par les changements dans les connexions du réseau et la fragmentation.
Le deuxième objectif est l’estimation des frais, ce qui est particulièrement important pour les utilisateurs de la couche 2, car ils doivent s’assurer que les transactions de réponse aux états non valides peuvent être confirmées en temps opportun.Les frais peuvent être estimés dans une certaine mesure en examinant simplement les taux de transactions dans ces blocs, mais cela ne fournit aucune information sur l’état du pool de mémoire après le dernier bloc.Il ne peut pas expliquer la pointe soudaine, l’afflux d’opportunistes dans le pool de mémoire ou la prochaine vague de surtensions commerciales inachevées.Étant donné que le pool de mémoire ne peut pas être consulté, l’estimation des frais ne peut garantir qu’elle prend en compte l’état actuel de la transaction en attente.
Récepteur
Lorsque vous recevez Bitcoin, votre nœud vérifie la transaction et l’ensemble du bloc contenant la transaction.La transaction qui vous a été versée est diffusée et pénétrait finalement dans le pool de mémoire du mineur, et le mineur trouve un bloc diffusé sur le réseau, et votre nœud téléchargera et vérifiera le bloc.
Mais ce n’est pas la façon dont cela fonctionne réellement (sauf si vous désactivez le pool de mémoire du nœud et exécutez en mode bloc uniquement).Votre nœud est vérifié lorsque le pool de mémoire reçoit chaque transaction pour la première fois et le met en cache en tant que transaction Bitcoin valide.Lorsque les mineurs trouvent un bloc, ils ne transmettent en fait que l’en-tête de bloc et un petit morceau d’informations compressées (en raison de l’absence d’une meilleure explication simple), qui peut être utilisée pour déterminer quelles transactions sont incluses dans le bloc.Votre nœud rampera ensuite les transactions pré-vérifiées, vérifiera les en-têtes de bloc, et si tout passe, transmettez les « blocs compacts ».
Cette optimisation explique en fait la raison pour laquelle les mineurs ne comptent plus sur des réseaux de relais centralisés et agréés, tels que la fibre précédemment maintenue par Matt Corrallo et le réseau Falcon brièvement existant.Étant donné que la vitesse de relais des réseaux point à point est lente, les mineurs devaient se connecter au réseau Falcon pour assurer la latence de relais à faible bloc avec d’autres mineurs.
mineur
Les mineurs veulent évidemment tout voir.Ce sont des entités à but lucratif qui souhaitent pouvoir filtrer les transactions contenant les frais les mieux payés du plus grand ensemble de transactions en attente possibles.C’est ainsi qu’ils maximisent les bénéfices et gagnent des revenus pour continuer à étendre leur entreprise et à rester compétitifs.
Ils obtiennent en fait des fonds du pool de mémoire.Leur motivation pour obtenir une transaction rémunérée efficace est si forte qu’ils ont construit de nombreux systèmes historiquement, maintenant et presque certainement futurs, même des arrangements informels disponibles dans la société, conçus pour permettre aux utilisateurs de soumettre des transactions directement aux mineurs plutôt qu’à un réseau ouverte à peer-to-peer.
Block Browser, outils d’analyse sur chaîne, etc.
Comme les mineurs, ils veulent voir chaque transaction en attente qui a été créée et diffusée au monde.La principale différence entre les deux est que les mineurs facturent directement les frais pour ces transactions, tandis que les navigateurs de blockchain et les sociétés d’analyse profitent indirectement de ces transactions en présentant, en analysant et en fournissant une analyse de l’information dans des produits rentables.
Je ne peux pas énumérer des exemples spécifiques impliquant des données de pool de mémoire en cache, mais il est bien connu que les sociétés d’analyse sur chaîne achètent régulièrement des métadonnées d’activité de transaction sur chaîne acquises en privé.Ils exploitent également les nœuds de bitcoin de sorcières qui diront le plus largement que possible les nœuds du réseau afin de réduire la gamme de nœuds qui diffusent initialement les transactions.
Les navigateurs de blocs profitent également de la présentation visuelle des données de la blockchain et du pool de mémoire, et tout leur modèle commercial tourne autour de cela.Si ces informations peuvent être présentées de manière pratique ou nouvelle ou des informations obtenues à partir de l’informatique, accéder à plus de données et les présenter aux utilisateurs signifie que plus d’informations sur le bénéfice peuvent être obtenues.
Les informations désirent couler
Tous ces différents types d’utilisateurs bénéficient d’un pool de mémoire publique pour une raison simple: les informations circulent librement entre eux.Tant qu’il y a suffisamment de frais pour passer le filtre de relais minimum, il est conforme au consensus et ne pose pas de risque de déni de service ou d’épuisement des ressources pour un seul nœud, il peut apporter de la valeur à tous les types d’utilisateurs pour diffuser des informations dans chaque pool de mémoire individuel du réseau.
Sans un pool de mémoire publique entièrement fonctionnel, la seule alternative viable pour tous ces utilisateurs individuels à des fins différentes est une solution centralisée ou un chaos difficile à gérer, une tentative hâtive et désordonnée de construire des pools de mémoire publique fragmentés, chaque utilisateur doit les suivre individuellement.
Cela peut non seulement susciter des préoccupations concernant la manipulation des données de taux, la triche des utilisateurs et la récupération de la valeur par des transactions de relais privé.Sans une piscine de mémoire publique saine et ouverte, ce sont des problèmes auxquels Bitcoin doit faire face.
Dans un article ultérieur, je vais examiner ces problèmes, ainsi que les différents types de filtres de pool de mémoire et leurs raisons de leur existence.