La fonction principale de mempool est de stocker les transactions avant qu’elles ne soient validées.
Bitcoin et Ethereum sont des exemples de blockchains qui utilisent des mempools.
La congestion de la blockchain est la principale raison pour laquelle les transactions restent bloquées pendant une longue période.
Si vous souhaitez que la transaction soit rapide, utilisez des frais de gaz appropriés.
Nous effectuons souvent des transactions sur différentes blockchains comme Ethereum et Bitcoin, mais nous ne comprenons peut-être pas pleinement certaines de leurs spécificités techniques. Néanmoins, savoir comment certains composants des blockchains fonctionnent peut nous aider à accélérer nos transactions ou à réduire leurs coûts.
Dans cette analyse, nous discutons de Mempool dans la blockchain et de son fonctionnement. Nous expliquerons également comment vous pouvez gérer les transactions en attente ou retardées sur les réseaux Bitcoin et Ethereum.
Lire aussi: Qu’est-ce qu’un explorateur de blockchain ?
Mempool, une forme abrégée de pool de mémoire, est un espace de noeud pour stocker des informations telles que des transactions non confirmées. Il agit comme une salle d’attente pour les transactions qui n’ont pas encore été confirmées ou approuvées. Rappelez-vous que les transactions ne sont incluses dans un bloc que lorsqu’elles sont vérifiées ou approuvées.
En d’autres termes, un mempool est un espace où les transactions en attente attendent avant d’être ajoutées à un bloc.
Lorsque la transaction est vérifiée, cela signifie que tous les pairs sur la blockchain peuvent accéder aux informations. Néanmoins, avant que la transaction ne soit approuvée, divers nœuds vérifient la signature, vérifient si la sortie n’est pas supérieure à l’entrée et que le système n’a pas encore envoyé les actifs numériques. Si l’une de ces conditions n’est pas remplie, les validateurs ou mineurs rejettent la transaction.
Il est important de comprendre qu’il n’y a pas de mempool unique pour une blockchain. En tant que tel, chaque nœud du réseau blockchain a son propre pool de mémoire, également appelé pool de transactions. Par conséquent, les mempools des différents nœuds constituent un pool de mémoire collectif de la blockchain.
Par exemple, les transactions effectuées sur le Bitcoin Les transactions du réseau ne sont pas ajoutées directement à la blockchain. Chaque nœud stocke les transactions dans un espace de stockage temporaire appelé la mempool ou le txpool. Par conséquent, elles forment une file d’attente qui doit être vérifiée et validée.
Par conséquent, nous pouvons simplement définir une mempool comme une file d’attente organisée de transactions qui doivent être triées et ajoutées à un bloc.
Pool de mémoire (Mempool) dans un nœud - Babypips
Rappelez-vous que les transactions n’existent que dans un mempool avant d’être confirmées ou regroupées en blocs. Sur le schéma ci-dessus, la section colorée en bleu est l’espace mempool qui existe au sein d’un nœud. Le diagramme suivant montre la répartition des mempools dans un réseau.
Les nœuds complets dans le réseau Bitcoin ont des Mempools - Babypips
Comme on peut le voir sur l’image ci-dessus, chaque nœud complet dans un réseau tel que Bitcoin ou Ethereum possède un mempool. Cependant, chaque transaction sera diffusée à travers les nœuds du réseau comme indiqué dans le schéma suivant.
Un réseau de nœuds Bitcoin - Babypips
Comme indiqué dans le diagramme, l’utilisateur en violet initie une transaction bitcoin qui est stockée dans le mempool avant d’être approuvée. Il est essentiel de noter que, une fois la transaction vérifiée, elle est ajoutée à un bloc comme le montre l’illustration suivante.
Une transaction est ajoutée au fichier (bloc) - Babypips
La flèche bleue sur le schéma montre ce qui se passe lorsque la transaction est vérifiée, elle est déplacée du txpool vers un bloc. À ce stade, tous les ordinateurs auront le fichier mis à jour de la transaction confirmée.
En général, les Mempools ne fonctionnent pas de la même manière. Leur fonctionnement dépend de l’architecture de chaque blockchain. En d’autres termes, ils fonctionnent différemment en fonction des types de mécanismes de consensus des réseaux. Les transactions sont soit vérifiées par des validateurs, soit par des mineurs en fonction des réseaux.
Par exemple, les transactions sur la blockchain bitcoin sont vérifiées par les mineurs car elle utilise le mécanisme de consensus de preuve de travail. En revanche, les transactions sur le réseau Ethereum sont approuvées par des validateurs car la blockchain utilise le mécanisme de consensus de preuve d’enjeu.
Lire aussi : Remodelage d’Ethereum et problèmes potentiels de santé du réseau
Le réseau Bitcoin nécessite un minimum de six confirmations par transaction tandis que la blockchain Ethereum a besoin d’au moins sept confirmations. Fondamentalement, chaque transaction dans un mempool a un statut spécifique. Elle est soit en attente, soit en file d’attente. Lorsqu’un validateur ou un mineur valide une transaction en attente, elle devient une transaction en attente.
Lire aussi : Qu’est-ce que le réseau Lightning Bitcoin?
Jetons un coup d’œil à un exemple simple de ce qui se passe lorsque vous envoyez de l’ETH à un ami. La procédure implique de saisir l’adresse du portefeuille, de définir les frais de gaz et confirmer la transaction.
Une fois que vous effectuez ces opérations, votre transaction est en attente de vérification. À ce stade, elle est diffusée à l’ensemble du réseau de nœuds mais elle ne fait pas encore partie d’un bloc.
Si les validateurs vérifient la transaction et constatent qu’elle remplit toutes les conditions, elle passe de l’état en file d’attente à l’état en attente de confirmation. À partir de là, l’un des validateurs récupère la transaction à partir du mempool et l’ajoute à un nouveau bloc.
À cette étape, plusieurs validateurs l’approuvent, ce qui permet à votre ami de recevoir l’ETH.
Étape 1: L’expéditeur saisit l’adresse de destination, accepte les frais de transaction réseau et appuie sur ‘ENVOYER’
ÉTAPE 2 : La transaction est ajoutée à la mempool la plus proche et mise en file d’attente.
ÉTAPE 3 : Les données du mempool sont diffusées aux autres nœuds du réseau.
ÉTAPE 4: Un nœud approuve la transaction et son statut passe de En file d’attente à En attente.
ÉTAPE 5 : Un mineur sélectionne la transaction en attente et la ajoute à un bloc.
ÉTAPE 6 : Le reste des nœuds supprime la transaction de leurs mempools.
ÉTAPE 7 : La transaction est terminée et l’actif est transféré dans le portefeuille de destination.
Maintenant que vous comprenez ce qui retarde votre transaction lors du traitement, examinons les raisons pour lesquelles certaines transactions restent bloquées et quelles actions vous pouvez entreprendre.
La principale raison pour laquelle les transactions sont bloquées dans le mempool est la congestion du réseau. Lorsqu’il y a une forte pression sur le volume des transactions, la pression augmente sur l’espace de bloc disponible, ce qui déclenche l’engorgement du mempool. Cela se produit lorsque le nombre de transactions en attente est supérieur au nombre moyen de transactions dans un bloc.
Certains événements et actualités qui affectent le niveau de trafic sur la blockchain peuvent causer des congestions sur le réseau. Par exemple, des largages aériens, la mise en liste sur plus d’échanges ou de nouveaux partenariats peuvent entraîner des congestions. Cependant, il existe des facteurs qui permettent aux nœuds de prioriser certaines transactions.
Frais de transaction Le montant des frais attachés aux différentes transactions détermine celles qui sont approuvées en premier. Étant donné que les mineurs et les validateurs sont motivés par le profit, ils donnent la priorité aux transactions qui ont des frais plus élevés car cela leur permet d’obtenir des récompenses plus élevées.
Ainsi, les mineurs et les validateurs organisent la transaction dans leurs mempools en fonction des frais par unité tels que les satoshis/byte. En fin de compte, ils ajoutent aux blocs les transactions avec les frais les plus élevés en premier. Ce système oblige les utilisateurs à fixer des frais élevés pour leurs transactions.
Cependant, selon la circulation du réseau, les utilisateurs peuvent définir des frais de gaz optimaux et avoir leurs transactions confirmées à temps. Ce qui est important pour les utilisateurs est de vérifier des facteurs tels que les données historiques, la congestion du réseau, le volume des transactions et la répartition des frais dans le mempool avant de définir leurs propres frais de gaz.
Temps de confirmation: Les utilisateurs peuvent également avoir besoin de vérifier les temps de confirmation avant de définir leurs frais. Lorsque les temps de confirmation sont élevés, cela signifie que les mineurs et les validateurs donnent la priorité aux transactions avec des frais élevés. En essence, lorsque le mempool est congestionné, cela signifie que les transactions avec des frais plus bas prendront beaucoup de temps à être traitées.
Espace de blocs: L’espace de bloc détermine également le laps de temps avant que les transactions soient approuvées. Étant donné que l’espace de bloc est toujours limité, les mineurs et les validateurs donnent la priorité aux transactions qui ont des frais plus élevés. Cela signifie que les transactions avec des frais plus bas passent beaucoup de temps dans le mempool.
Taille du mempool et éviction Chaque transaction à ajouter au bloc est une pièce de données avec une taille mesurée en kilo-octets. Par conséquent, les grands mempools peuvent accueillir de nombreuses transactions. Habituellement, les nœuds définissent les tailles de leurs mempools, qui sont souvent de 300 Mo pour Bitcoin. Lorsqu’un mempool atteint un seuil, le nœud peut définir des frais de transaction minimums.
Lorsque les utilisateurs comprennent de telles dynamiques, il leur devient facile de définir leurs frais de transaction et de les faire approuver dans un délai raisonnable. Par exemple, ils peuvent éviter de trop payer pendant les périodes de faible débit ou de sous-payer pendant les heures de pointe lorsqu’ils ont des transactions sensibles au temps. Ils peuvent également faire des suppositions éduquées presque correctes sur la rapidité avec laquelle leurs transactions seront validées.
Bien souvent, les transactions restent bloquées dans le mempool pour plusieurs raisons, mais la plupart d’entre elles sont liées aux frais de gaz. Cependant, la principale raison pour laquelle certaines transactions restent bloquées dans le mempool est la congestion du réseau. Lorsqu’il y a de la congestion, les transactions avec des frais élevés passent en premier, laissant les autres bloquées.
Par conséquent, la meilleure chose à faire pendant les périodes de pointe du réseau est d’augmenter les frais de transaction. Cela est dû au fait que lorsque la congestion se produit, les frais de gaz augmentent. Donc, si vous effectuez une transaction pendant les heures d’affluence, vous devriez faire correspondre vos frais à ceux que paient les autres utilisateurs du réseau.
La raison pour laquelle les transactions sont bloquées dans le mempool est une baisse du taux de hachage. Nous disons que le taux de hachage a diminué lorsque le réseau n’a pas la puissance de calcul physique pour exécuter un grand nombre de transactions en attente.
Vous avez quelques options lorsque votre transaction est bloquée dans le mempool. La première option est d’annuler la transaction. Dans ce cas, cela vous coûtera un autre frais de transaction. Par exemple, vous pouvez renvoyer la transaction avec le même nonce.
Deuxièmement, vous pouvez choisir d’accélérer la transaction en connectant votre Ledger à un portefeuille tiers tel que MetaMask ou Electrum. Néanmoins, vous devrez payer plus pour cela.
La troisième option est d’attendre un peu plus longtemps pour que la transaction aboutisse. En faisant cela, vous attendez que le trafic réseau diminue, ce qui permettra à votre transaction de passer sans frais supplémentaires.
Les transactions envoyées au réseau Bitcoin ne sont pas ajoutées instantanément à la blockchain. Elles entrent d’abord dans le mempool. Dans le passé, de telles transactions nécessitaient simplement des frais mesurés en satoshis par octet.
Cependant, cela a changé après la mise à niveau de SegWit qui permet de mesurer les transactions en unités de poids. La bonne chose est que les fonctionnalités de segwit permettent d’ajouter plus de données à un bloc qu’auparavant. Plus précisément, il y a 2 Mo de données par bloc, bien que cela puisse augmenter à 4 Mo.
Initialement, le réseau Ethereum exigeait que les transactions soient placées dans le mempool avant d’être validées. Cependant, lorsque la blockchain est passée du mécanisme de consensus de preuve de travail au mécanisme de consensus de preuve d’enjeu, elle a introduit le concept de constructeur de blocs.
Fondamentalement, les constructeurs de blocs sont des acteurs tiers qui compilent les transactions en un ensemble de transactions optimisé formant un bloc. Dans ce cas, les entités tierces compilent ou réorganisent certaines transactions à partir d’un mempool en ensembles. Ensuite, elles proposent les ensembles de transactions aux validateurs pour les inclure dans les blocs. Les entités tierces reçoivent des récompenses pour réaliser ces tâches.
En résumé, un mempool est un espace où un nœud de blockchain stocke temporairement les transactions avant qu’elles ne soient validées. La durée pendant laquelle une transaction reste dans le mempool sur Ethereum dépend de plusieurs facteurs tels que la congestion du trafic réseau et les frais de gaz. Les blockchains Bitcoin et Ethereum utilisent toutes deux des pools de transactions.
Un mempool est un espace où les transactions en attente attendent avant d’être ajoutées à un bloc. Une fois que la transaction est validée, elle est ajoutée à un bloc qui existe sur la blockchain.
Lorsque certaines transactions se trouvent dans un mempool, certains validateurs ou mineurs les sélectionnent et les ajoutent à des blocs. Cependant, certaines des transactions peuvent rester en attente pendant une longue période si le réseau est congestionné.
Le mempool BTC est la salle d’attente pour les transactions qui sont traitées sur le réseau Bitcoin. En général, chaque nœud de la chaîne de blocs Bitcoin a son propre mempool.
Un mempool sur Ethereum est l’espace de stockage des transactions sur les nœuds Ethereum avant qu’elles ne soient confirmées. Le temps qui s’écoule avant que ces transactions ne soient confirmées dépend du trafic du réseau Ethereum sur une certaine période.