Qu'est-ce qu'un pool de mémoire crypto
- 15 minute read
Un pool de mémoire est un ensemble de transactions mises en file d'attente sur une blockchain pour être exécutées. Les transactions dont les frais sont les plus élevés sont exécutées en premier.
Un pool de mémoire, ou le terme mempool en abrégé, est un moyen de structurer l'offre et la demande lors du traitement des transactions sur une blockchain. La description la plus claire est une file d'attente de transactions.
- La meilleure description d'un pool de mémoire en cryptographie est une file d'attente de transactions
- Un pool de mémoire est essentiel pour une blockchain, sinon toutes les transactions devraient être exécutées immédiatement
- Lorsque tu envoies de la crypto d'une adresse à une autre, elle entre dans le mempool, après quoi les nœuds vérifient si la transaction est valide
- Ceux qui n'offrent pas suffisamment de frais de gaz peuvent se retrouver face à une transaction qui n'est jamais exécutée
- Sur les blockchains difficiles à mettre à l'échelle comme le Bitcoin et l'Ethereum, tu dois faire très attention à la quantité de frais d'essence que tu proposes
- Certaines transactions bénéficient d'une priorité plus élevée parce qu'elles ont un volume important ou parce qu'il s'agit d'une transaction essentielle au fonctionnement d'une blockchain
- Sur certains sites, tu peux voir à combien s'élèvent les frais d'essence moyens actuels pour effectuer une transaction et tu peux aussi voir où en est ta transaction grâce à ton TXID (Transaction ID).
- Lorsque le mempool est plein, il peut être impossible de faire de nouvelles transactions, parfois les nœuds jettent les transactions avec les frais de gaz les plus bas, un seul nœud se souvient de toutes les transactions et les propose à nouveau dans les périodes plus calmes, cela dépend de la blockchain.
- Les frais de gaz sont calculés par les nœuds en traitant d'abord les transactions avec les frais les plus élevés dans le bloc suivant et ainsi de suite jusqu'à ce que le bloc soit plein, ils veulent gagner le plus possible
- Le mempool de Bitcoin remonte à 2012 avec la proposition 35 d'amélioration de Bitcoin, par laquelle toutes les transactions sur Bitcoin sont traitées par temps de bloc de 10 minutes, dans l'ordre des frais de gaz d'enchère les plus élevés aux moins élevés.
- Environ 4 200 transactions par bloc peuvent être traitées sur Bitcoin.
- Avec l'avènement des Runes et des Ordinaux du Bitcoin, il y a régulièrement eu de gros engorgements sur le Bitcoin et les frais d'essence sont montés en flèche
- Les systèmes financiers traditionnels peuvent traiter toutes les transactions directement
- Sur un DEX, le mempool peut te faire payer plus cher les pièces, car un bot abusera du mempool via le front running et le creep ahead, une bonne raison d'être prudent sur un DEX.
- À l'avenir, il sera impératif que les mempools ne se remplissent pas, sinon les crypto ne pourront jamais devenir mainstream, Ethereum en particulier a été fermement sur ce point
Inhoudsopgave
- Pourquoi y a-t-il un mempool dans une blockchain ?
- Comment fonctionne un pool de mémoire ?
- Que se passe-t-il lorsque le pool de mémoire est plein ?
- Comment sont calculés les frais de gaz ?
- Le mempool de Bitcoin
- La différence avec les marchés financiers traditionnels
- Mempool sur un DEX
- L'avenir des pools de mémoire
Pourquoi y a-t-il un mempool dans une blockchain ?
Si les transactions ne peuvent pas être exécutées immédiatement, il doit y avoir un système qui stocke temporairement toutes les transactions quelque part afin qu'elles ne soient pas perdues. Ce système a été appelé mempool et est utilisé sur un chaîne de blocs une base de données distribuée, utilisée pour stocker toutes les transactions en cours dans l'ordre des frais d'essence que les utilisateurs sont prêts à payer pour que leur transaction soit exécutée.
Sans mempool, toutes les transactions devraient être exécutées immédiatement. Le système de la blockchain n'est généralement pas suffisamment équipé pour cela, car il peut traiter moins de transactions qu'il n'en arrive. Un mempool est donc essentiel au bon fonctionnement d'une blockchain.
Une autre raison de l'existence d'un mempool est d'empêcher les transactions conflictuelles. Si quelqu'un veut dépenser deux fois les mêmes pièces à des endroits différents nodes le protocole blockchain d'un nœud enregistrera ces pièces une fois dans un bloc et l'enverra à tous les autres nœuds, après quoi l'autre transaction sera jetée hors du mempool.
Comment fonctionne un pool de mémoire ?
Une transaction d'un cryptocurrency est ajouté au mempool (dépôt temporaire) lorsque quelqu'un envoie du crypto d'une adresse à une autre. Une telle transaction atteint l'ensemble (souvent des milliers) des nœuds ou des miner d'une blockchain dans leur mempool local. Chaque node a ses propres paramètres, notamment en ce qui concerne le mempool. Celui-ci peut être plus ou moins grand, selon les préférences ou le logiciel du node ou du miner.
Vérifier si une transaction est valide
Cette transaction n'entre dans un bloc que lorsqu'un node l'enregistre pour la traiter dans le bloc suivant (stockage persistant). Tous les nœuds vérifient si la transaction est valide conformément à la règle du mécanisme de consensus de la blockchain ou du protocole, puis de l'ajouter au mempool. Si une transaction n'est pas valide, par exemple si l'utilisateur ne dispose pas de fonds suffisants, le bon clés privées ou s'il s'agit d'une double émission, elle est rejetée et n'est pas ajoutée.
À la fin de la période de bloc, comme les 10 minutes environ dans le Bitcoin (c'est différent sur chaque blockchain), toutes les transactions qui sont valides et fournissent suffisamment de frais de gaz à la blockchain sont ajoutées dans le prochain bloc réalisé et le nouvel état de la blockchain est connu, après quoi cette chaîne de blockchain la plus longue est diffusée aux autres nœuds par le nœud qui a réalisé le bloc.
Si tu veux effectuer une transaction sur une blockchain, ces transactions doivent être approuvées par des nœuds. Un node assure le suivi de la blockchain et veille à ce que seuls les blocs valides soient transmis. Un node peut également choisir les transactions qu'il traite en premier. Certains wallets peut estimer le temps d'attente avant que ta transaction avec ces frais ne soit traitée sur la blockchain concernée, tu peux donc encore l'ajuster.
Les transactions non confirmées dans un mempool expliquées
Le pool de mémoire est constitué de toutes les transactions qui n'ont pas encore été traitées. Un node a le choix d'inclure dans le prochain bloc réalisé les transactions dont il bénéficie le plus. Logiquement, ce sont celles qui sont prêtes à payer des coûts de transaction plus élevés (gas fees). Lorsqu'un bloc d'une blockchain est plein, il est ajouté à la blockchain à la fin de la durée du bloc. Chaque bloc contient les transactions dont les frais sont les plus élevés possibles et les nouveaux coins. Les transactions qui ont été traitées sont retirées du mempool de tous les nœuds.
Lorsqu'une blockchain est très occupée, c'est-à-dire lorsque de nombreuses transactions sont effectuées, seules les transactions dont les coûts de transaction sont élevés seront traitées. Par conséquent, les coûts de transaction augmenteront. Cela signifie que les commerçants qui sous-enchérissent peuvent attendre très longtemps qu'un node traite sa transaction. Théoriquement, cette transaction peut rester en attente ou en suspens pour toujours, mais il y a toujours des heures dans une journée où les échanges sont pratiquement à l'arrêt et où une telle transaction peut être traitée avec un peu de chance. Certaines blockchains jettent d'autres transactions avec trop peu de frais de gaz après un certain temps ou la rejettent carrément.
Les blockchains non évolutives
Certaines blockchains ont tendance à être toujours occupées, ce qui rend le traitement d'une transaction à faible tarif beaucoup plus lent et provoque un encombrement. Cela peut être essentiel à certains moments, comme lorsqu'il y a de grands changements dans le prix. Donc si tu te demandes pourquoi ta transaction n'est pas traitée, tu sais maintenant que tu dois proposer des frais plus élevés pour que la transaction soit traitée plus rapidement dans le bloc suivant.
À ces moments-là, les frais de transaction sur certaines blockchains, comme le Bitcoin et l'Ethereum, peuvent s'envoler en raison de la forte demande. Les frais maximums pour le Bitcoin étaient de 300 euros par transaction en 2018 et ceux de l'Ethereum de plus de 100 euros à différents moments, en 2017 les frais de gaz pour l'ETH étaient d'environ 1 000 Gwei, mais le prix de l'ETH était beaucoup plus bas. Fait amusant : une transaction de 100 000 Tether sur Bitfinex en 2023 a coûté la somme astronomique de 23,5 millions de dollars ! Raison de plus pour surveiller de près tes frais de transaction !
Transaction prioritaire non confirmée
Dans certains cas, certaines transactions non confirmées peuvent également être prioritaires ou priorisées indépendamment des frais de gaz. C'est le cas des nœuds ou des mineurs dont les transactions proviennent d'adresses importantes qu'ils connaissent ou dont les volumes sont très élevés et qui proviennent, par exemple, de grands fonds d'investisseurs, tels que les fonds de pension ou BlackRock. Une transaction provenant d'un utilisateur essentiel d'un réseau, comme les utilisateurs qui entretiennent le réseau, peut également être priorisée.
Si tu veux savoir à quoi ressemble un mempool, tu peux visiter toutes sortes de sites Internet pour cela, comme par exemple . https://www.blockchain.com/explorer/mempool/eth ou https://mempool.space/ . Il en existe un certain nombre, alors choisis-en un qui reflète ce que tu recherches. La chose la plus importante que tu dois savoir est à peu près le montant des frais de transaction moyens que tu dois offrir pour être traité dans un bloc. Après tout, si tu retires une transaction, tu perds des frais et tu dois payer d'autres frais de gaz pour que la nouvelle transaction entre dans le mempool.
Recherche ta transaction dans un mempool
Si tu as l'impression que ta transaction n'est pas exécutée, tu peux entrer le TXID (Transaction ID) et voir ce qui se passe avec ta transaction. Tu éviteras ainsi la panique que tu peux avoir lorsque tu penses que tes fonds ont disparu, plusieurs facteurs peuvent y contribuer. Si tu vois qu'elle est en attente mais qu'elle offre trop peu de frais, tu peux la modifier avec une transaction RBF (Replace By Fee) ou une transaction CPFP (Child Pays For Parent) avec des frais plus élevés. Cela va trop loin pour que cet article l'explique en entier. Au moins, tu sais maintenant que tu peux faire quelque chose.
Ainsi, lorsque tu plongeras dans le bassin de mémoire et que tu verras que même la pataugeoire est pleine, tu devras décider si tu es prêt à sortir ton sac à main ou à prendre la bible et à la lire, puis à voir si ta transaction a déjà été traitée.
Que se passe-t-il lorsque le pool de mémoire est plein ?
Comme pour presque toutes les collectes de données, il y a une quantité maximale d'informations qu'un mempool peut contenir. Par exemple, le mempool des nœuds standard pour le bitcoin ne peut gérer que 300 Mo. Lorsqu'il est plein, les mineurs commencent à jeter certaines transactions hors du mempool. Sans surprise, il s'agit des transactions pour lesquelles l'utilisateur offre le moins de frais d'essence.
Cependant, il existe aussi des nœuds qui stockent encore dans leur mempool toutes les transactions entrantes avec des frais, même les plus bas. Soit dit en passant, cela ne signifie pas qu'elles seront jamais traitées, car si les frais proposés sont trop bas, les mineurs ne prendront jamais la transaction dans le bloc suivant et attendront que l'enfer gèle.
Chaque blockchain a un tel plafond, même si de nombreuses blockchains qui sont évolutives pourront traiter la transaction rapidement, en étant capables de se rattraper dans les moments plus calmes d'une journée. Certaines blockchains sont également si rapides que cela n'a que très peu d'importance.
Tordre par la piscine
Ainsi, lorsque le mempool est plein, les transactions les moins intéressantes sont jetées en premier. Dès que l'espace redevient disponible, ces transactions seront ajoutées à la file d'attente, car elles ne sont pas simplement jetées. Certains nœuds peuvent être configurés pour n'"oublier" aucune transaction. Dès que de l'espace se libère à nouveau dans le mempool, ces nœuds enverront à nouveau les transactions les moins chères pour qu'elles soient traitées pendant les périodes plus calmes où il y a moins de transactions.
Si le mempool est plein, les utilisateurs qui offrent trop peu de frais de gaz peuvent également ne pas être inclus dans le mempool jusqu'à ce que celui-ci ait à nouveau de la place.
Comment sont calculés les frais de gaz ?
Dans un temps de bloc donné, le mempool est constitué de toute une série de transactions qui n'ont pas encore été traitées. Un bloc peut traiter un certain nombre de transactions. Un node ou un Miner voudra remplir au maximum le bloc avec des transactions pour gagner le plus possible. L'offre et la demande commenceront à déterminer les frais de gaz.
Ainsi, le bloc suivant sera composé du plus grand nombre possible de transactions avec les frais de transaction les plus élevés possibles. Ainsi, pour faire simple, un node commencera à compter à partir de l'utilisateur qui offre les frais d'essence les plus élevés et ainsi de suite jusqu'à ce que le bloc soit plein. De cette façon, il peut gagner le maximum et toutes les transactions avec les frais d'essence les plus élevés seront retirées du mempool et placées dans le bloc suivant.
Les frais d'essence commenceront à augmenter si le mempool est constamment rempli de transactions avec des frais d'essence élevés. C'est généralement le cas lorsqu'il se passe quelque chose de spécial, par exemple des frais d'essence extrêmement élevés volumes à cause d'un bull market ou l'introduction de quelque chose d'important sur une blockchain. Dans ces moments-là, le traitement de ta transaction peut être très long si tu ne veux pas payer des frais d'essence élevés.
Le mempool de Bitcoin
Le mempool de Bitcoin ne faisait pas partie de l'initiative livre blanc de Bitcoin. Après qu'il y ait eu suffisamment de bruits indiquant que cela était vraiment nécessaire de toute façon, les développeurs ont décidé de le proposer dans Proposition d'amélioration du bitcoin 35 de 2012. Cette proposition a été adoptée par les mineurs et mise en œuvre, après quoi chaque transaction en bitcoin s'est retrouvée d'abord dans le mempool de Bitcoin.
Sur Bitcoin, un mineur possède la copie intégrale de la blockchain Bitcoin et vérifie via les protocoles Proof-of-Work si une transaction est valide. Le mempool est maintenu par une mémoire RAM afin qu'il puisse être mis à jour le plus rapidement possible. Chaque mineur ou nœud dispose de son propre mempool.
Le temps de blocage sur Bitcoin
Un nouveau bloc de la blockchain Bitcoin est créé environ toutes les 10 minutes, entièrement selon le calendrier de Satoshi Nakamoto . Le dernier bitcoin sera donc miné vers 2140. Chaque bloc contient toutes les transactions enregistrées par les mineurs dans le bloc, plus la blockreward, qui consiste en 3 125 BTC depuis 2024. Le mineur qui minera le énigme cryptographique peut faire le bloc et empocher la récompense.
Le principe économique de l'ajout de transactions à un bloc est simple. Un mineur sera le premier à ajouter des transactions à un bloc sur lequel il peut gagner le plus. Ainsi, ceux qui sont prêts à payer plus de frais de transaction seront les premiers à partir. Une fois que le bloc est plein, puisque SegWit donc autour d'un maximum de 4MB, le bloc est ajouté à la blockchain après 10 minutes par le mineur gagnant et toutes les transactions avec les frais les plus élevés et une signature numérique valide ont été exécutées.
Priorité des transactions
Le mempool de Bitcoin est donc rempli de toutes les transactions que les commerçants veulent effectuer, y compris le montant des frais d'essence (coût par transaction) qu'ils sont prêts à payer. En période d'affluence, seules les transactions dont les frais de gaz sont élevés seront incluses dans un bloc et les autres commerçants n'auront qu'à attendre que l'affluence soit un peu moins forte. Si c'est important, ils devront se contenter de payer des frais plus élevés pour prendre de l'élan.
Une estimation du taux de frais mempool est suggérée dans de nombreux cas par les applis et les portefeuilles. Pour une priorité élevée, tu paies des frais de gaz élevés. Tu le fais si tu veux accélérer au maximum, par exemple pour des montants très élevés ou un taux de change qui évolue rapidement. Tu as également une priorité moyenne, une priorité faible et une priorité nulle. Tu détermines la vitesse à laquelle tu seras aidé, en fonction des frais d'essence.
Nombre de transactions par dix minutes sur Bitcoin
Chaque transaction est examinée pour déterminer s'il y a suffisamment d'UTXO (Unspent Transaction Output), ce qui signifie que tu as également assez de BTC pour payer la transaction. Bitcoin n'est pas vraiment extensible. Un maximum d'environ 7 transactions par seconde peut être traité. Un peu d'arithmétique montre que 7x60x10 transactions peuvent alors être traitées dans un bloc de dix minutes, soit 4200 transactions. Si une transaction n'est pas incluse dans un bloc après environ deux semaines, elle est retirée du mempool.
Frais de gaz bitcoin et congestion
Il y a des moments où il se passe beaucoup de choses sur la blockchain Bitcoin, par exemple lorsque les BRC-20 (Ordinaux) et les Runes Bitcoin a été créé par Casey Rodarmor. Il y avait occasionnellement un demi-million de transactions dans le mempool, donc si tu te trouvais par hasard à l'arrière, tu devais attendre environ 1280 minutes, soit environ 22 heures. De plus, le taux de hash deviennent plus faibles, laissant le réseau Bitcoin sans assez de puissance de calcul pour traiter toutes les transactions en attente.
Si tu commences à regarder l'historique des frais d'essence sur la blockchain Bitcoin, tu verras qu'au début de l'année 2018, pendant le bull market démentiel, les frais par transaction Bitcoin pouvaient atteindre plus de 300 euros ! Ils n'ont plus jamais été aussi élevés, mais il arrive que les frais d'essence reviennent à une centaine d'euros lorsque quelque chose se produit à nouveau qui remplit le mempool à Bitcoinland.
La différence avec les marchés financiers traditionnels
Dans un système financier centralisé traditionnel, comme une banque, les transactions sont traitées instantanément. Elles n'ont pas à attendre quoi que ce soit et n'ont pas besoin de l'autorisation des mineurs ou des nœuds. Le logiciel d'une banque est censé pouvoir faire tout cela automatiquement et ne laisser passer que les transactions valides.
Une banque dispose de toutes sortes de recettes, ce qui signifie qu'elle n'a rien à facturer pour une transaction dans la plupart des cas. Par conséquent, il leur suffit de vérifier la validité et la transaction peut être traitée immédiatement.
Central ou décentralisé
Dans une blockchain, les transactions sont rassemblées dans un mempool par des nœuds décentralisés, qui en assurent le suivi et veillent à ce que seules les transactions valides soient traitées. De plus, ces nœuds décident quand les traiter, en fonction des règles de la blockchain, mais aussi de leurs propres intérêts.
Une fois qu'un bloc est approuvé par une majorité de nœuds, toutes les transactions de ce bloc sont traitées. Cela peut entraîner des retards importants, surtout avec les blockchains les moins évolutives, comme le Bitcoin et l'Ethereum. Il arrive même que ta transaction ne soit pas traitée du tout parce que tu n'offres pas assez de frais de gaz.
Mempool sur un DEX
Si tu commences à faire des échanges sur un exchange décentralisé (DEX), le mempool peut commencer à se retourner contre toi. Si tu veux faire une transaction, elle sera d'abord placée dans le mempool de la DEX. Toujours sur une DEX, les frais de gaz sont déterminés par l'offre et la demande.
La course à l'avant
Il y a robots de trading qui peut garder un œil sur un mempool et repérer les transactions avantageuses. Si un tel robot voit qu'en payant des frais de gaz plus élevés, il peut te devancer ( course en tête ) et peut t'amener à fixer un prix plus élevé pour tes pièces, il suffit d'un simple calcul pour savoir si le résultat est positif.
Puisqu'il n'y a aucune surveillance d'un DEX et que tout se fait par l'intermédiaire d'un Automated Market Maker et smart contracts est arrangée, un robot mempool peut aller de l'avant toute la journée pour t'imposer des prix plus élevés pour tes coins.
Attention aux transactions sur un DEX
Un petit exemple serait que tu veuilles acheter à une obscure pièce connue sous le nom de DEX pour 10 000 euros. Tu devras payer toutes sortes de frais dans le processus, comme les frais d'essence. Tu offres 50 euros de frais de gaz et tu veux acheter la cryptocurrency pour 10 euros chacune, avec un slippage de 2 %. Le bot peut alors voir 2 % de tes 10 000 euros comme profit, moins les frais de gaz de plus de 50 euros. Le bot se faufilera ensuite et te vendra cette crypto-monnaie pour 10,20 euros, empochant ainsi environ 150 euros.
Sois donc prudent lorsque tu paries de grosses sommes sur un DEX, car cela se produit sur presque tous les DEX dont le mempool n'est pas protégé. L'alternative est d'acheter des pièces obscures sur un DEX qui fait de la protection des traders et qui, par exemple, propose un prix limite lors de l'achat ou une autre protection contre le front running.
L'avenir des pools de mémoire
La blockchain est en constante évolution. Il est bien compris par de nombreuses blockchains qu'un pool de mémoire peut ralentir considérablement une blockchain, ce qui peut être une source de désagrément pour les utilisateurs. Les blockchains particulièrement grandes comme Ethereum ont tendance à aborder chaque problème dans le monde de la blockchain et de la cryptocurrency.
Ethereum, la solution aux problèmes
Si Ethereum (ou une autre blockchain) a trouvé une solution à la congestion du réseau due à un mempool, cette solution sera bientôt reprise par d'autres blockchains qui tenteront de l'intégrer à leurs protocoles. Ethereum est connu pour vouloir accommoder les utilisateurs autant que possible et ils ont déjà fait beaucoup pour augmenter l'évolutivité et réduire les coûts de transaction grâce à diverses mises à jour du protocole.
Progrès technologique
Les développements technologiques jouent également un rôle. Les ordinateurs et les connexions Internet sont de plus en plus rapides et peuvent stocker et traiter de plus en plus de données. Il n'en ira pas autrement pour les nœuds. Cependant, pour mettre en œuvre une telle chose, il faut de l'argent, du temps et un consensus. Les nœuds et les mineurs d'un système décentralisé doivent toujours approuver les mises à jour des protocoles, ce qui peut retarder les progrès.
Dans les techniques de base de données, dont mempool fait partie, on peut commencer à travailler avec partage , une technique qui décompose le traitement des informations par une base de données en plus petits morceaux, réduisant ainsi la charge sur les nœuds. Un certain nombre de blockchains fonctionnent déjà de cette manière. Ethereum adoptera une approche légèrement différente avec son (Proto-)Durcissement en cuve ce qui augmente considérablement l'évolutivité.
Roulements de la couche 2 et autres solutions d'évolutivité.
Une autre technique couramment utilisée consiste à faire en sorte que les transactions sur une blockchain populaire soient regroupées par un autre réseau en un nombre groupé de transactions, qui peuvent être traitées par la blockchain principale en une seule fois. Cela réduit considérablement la charge de la blockchain principale et rend le mempool beaucoup moins susceptible de se remplir. Cette méthode layer 2 roll ups comme Arbitrum ou Stacks, poussent comme des champignons.
Aussi techniques cross-chain si le bridge ou la multi-chain et la chaîne latérale peut soulager un mempool en n'ayant pas à tout traiter sur la blockchain principale.
D'autres voies peuvent également être empruntées, comme l'augmentation de la mémoire du mempool ou la diminution des informations contenues dans une transaction, ce qui permet d'en faire tenir davantage dans un mempool et dans un bloc. Hachage et Merkle Tree peut te donner un coup de main ici.
L'évolutivité définit l'avenir des cryptocurrency.
Étant donné que les techniques décentralisées comme la blockchain ont besoin de nœuds pour maintenir la décentralisation de la blockchain, les mempools seront toujours nécessaires. Les nouvelles transactions doivent simplement être enregistrées dans une base de données quelque part. À terme, les blockchains reconnaîtront la nécessité de l'évolutivité. Sans cela, la blockchain et les Les cryptocurrency n'ont jamais fait partie du courant dominant devenir.