La mempool (“memory pool”) è la “sala d’attesa” delle transazioni Bitcoin: come funziona e perché è importante.
La mempool svolge un ruolo importante nel funzionamento di Bitcoin: consiste nella sala d’attesa delle transazioni, prima che queste vengano inserite all’interno dei blocchi della blockchain da parte dei miner.
Trasmissione di una transazione
Ogni transazione, una volta firmata, viene inviata dal nodo del mittente ai nodi limitrofi (peer). Questi nodi, a loro volta, la condividono con i propri peer, e così via fino al momento in cui la transazione raggiunge tutti i nodi del network. Questo processo è noto come gossip protocol ed è il metodo con cui tutte le transazioni e i blocchi vengono trasmessi nella rete Bitcoin.
Dal momento che ogni blocco ha una capienza limitata e non può accogliere tutte le transazioni simultaneamente, queste vengono raccolte da ogni nodo nella propria mempool. In sostanza, la mempool è il limbo delle transazioni Bitcoin: il luogo in cui ogni nodo inserisce le transazioni verificate prima che queste vengano inserite in un blocco della blockchain: solo a quel punto una transazione può considerarsi confermata.
Ogni mempool, di default, ha un limite massimo di 300 MB che può essere personalizzato dal gestore del nodo: per cui è frequente che nel network siano presenti anche nodi Bitcoin con una mempool superiore al GB.
Mempool e commissioni
È importante sottolineare che non tutte le transazioni inviate alla mempool vengono necessariamente inserite in un blocco della blockchain.
Ogni miner può stabilire le proprie policy su quali transazioni includere nei blocchi che sta cercando di minare. Alcune mining pool possono, ad esempio, imporre limiti alle dimensioni delle transazioni oppure altre potrebbero dare priorità alle transazioni provenienti da determinati utenti della rete. Altri miner invece, potrebbero stabilire commissioni minime per le transazioni da includere nei blocchi, influenzando la velocità di conferma delle transazioni.
I miner sono incentivati a scegliere le transazioni con commissioni più remunerative, misurate in termini di sats per vByte. Più le commissioni sono alte, più è facile che la transazione venga confermata rapidamente. Durante periodi di elevato volume di transazioni, la commissione richiesta per la conferma di una transazione può essere più alta dato che ogni blocco ha uno spazio limitato e moltissime transazioni concorrono per guadagnarsi il posto in un blocco.
Modi per accelerare una transazione bloccata nella mempool
- Utilizzare Replace By Fee (RBF): alcuni wallet consentono di sostituire una transazione esistente con una nuova con una commissione più alta. Quando la transazione sostitutiva viene inviata ai nodi, questi sostituiscono la vecchia transazione con la nuova e la trasmettono ai loro peer;
- Utilizzare Child Pays For Parent (CPFP): il CPFP prevede la creazione di una nuova transazione con una commissione più alta, forzando l’approvazione di una transazione precedente bloccata nella mempool. Lo scopo di una CPFP è quello di incentivare i miner ad approvare rapidamente entrambe le transazioni.