Glossario / Transazioni e commissioni
Mempool
Noto anche come Memory pool.
- Che cos'è la mempool?
- La mempool è l'insieme delle transazioni valide di cui un nodo è venuto a conoscenza ma che non ha ancora visto in un blocco, tenute in memoria mentre attendono che un miner le raccolga.
Non esiste un'unica mempool. Ogni nodo mantiene la propria, limitata in Bitcoin Core a 300 megabyte per impostazione predefinita, e scarta le transazioni più economiche quando si raggiunge quel limite. Quello che ti mostra un sito web di mempool è la visione della coda di un solo nodo, abbastanza precisa per scegliere una commissione ma mai autorevole.
Come funziona
L'arrivo è un processo di filtraggio, non un numero di turno in una coda. Quando una transazione raggiunge un nodo, viene controllata rispetto alle regole di consenso e poi rispetto alla politica di relay di quel nodo, e solo se supera entrambe il nodo la conserva e la inoltra ai peer. Una transazione rifiutata semplicemente non viene inoltrata, e se la rifiutano abbastanza peer non arriva mai a nessun miner.
Lo spazio di archiviazione è limitato, cosa che sorprende chi si aspetta una sala d'attesa infinita. L'impostazione -maxmempool vale 300 megabyte per impostazione predefinita, e quando l'archivio si riempie il nodo elimina le transazioni con la commissione per unità di dimensione più bassa e alza la propria soglia di accettazione sopra il minimo abituale. Anche tutto ciò che è ancora in attesa dopo -mempoolexpiry ore viene scartato, e quel valore predefinito è 336 ore, cioè esattamente 14 giorni. Da Bitcoin Core 0.14.0, il contenuto sopravvive a un riavvio perché viene scritto in un file mempool.dat, quindi spegnere il tuo nodo non cancella più quello che sapeva.
L'ordinamento è per prezzo per unità di dimensione. Un miner che compone un blocco candidato ordina per commissione per unità di dimensione e riempie dall'alto il budget di 4.000.000 unità di peso, valutando una transazione insieme a tutte le transazioni madre non confermate da cui dipende. Bitcoin Core 31.0 ha ricostruito la mempool proprio intorno a questa idea, raggruppando le transazioni collegate in cluster fino a 64 membri e classificandole in base alla commissione per unità di dimensione alla quale verrebbero davvero minate. L'ora di arrivo non conta nulla, ed è per questo che una transazione trasmessa stamattina può essere superata per tutto il pomeriggio da altre successive che pagano di più.
Poiché ogni nodo applica le proprie impostazioni, il contenuto varia da macchina a macchina. Un nodo riavviato un'ora fa sa meno di uno in funzione da un mese, un nodo che esegue Bitcoin Knots filtra in modo diverso da uno che esegue Bitcoin Core, e ai miner possono essere consegnate direttamente transazioni che non hanno mai viaggiato sulla rete.
Perché questo conta quando compri bitcoin
Controllare la coda prima di spostare bitcoin è l'abitudine più economica che esista in bitcoin. Lo stesso prelievo può costare qualche centinaio di satoshi in un fine settimana tranquillo e decine di migliaia durante un'ondata di attività, e nulla nel tuo wallet ti avverte in quale situazione ti trovi. Uno sguardo alla commissione per unità di dimensione attuale per il blocco successivo prima di premere preleva vale più di qualsiasi impostazione di commissione offerta da un wallet.
L'exchange che usi cambia quanto questo conta. Binance, Kraken e Coinbase prezzano i prelievi di bitcoin in base alla rete, quindi la cifra che indicano sale quando la coda è lunga e scende quando si svuota, e aspettare un'ora tranquilla vale denaro reale. Le piattaforme che invece pubblicano una commissione di prelievo fissa incassano lo stesso importo qualunque cosa faccia la coda, il che le rende punitive in una giornata tranquilla e convenienti durante la congestione. Sapere su quale modello ti trovi ti dice se aspettare ti serve a qualcosa.
La congestione arriva anche senza preavviso e per motivi estranei ai pagamenti. Le ondate di conio di token del 2023 e il lancio di Runes ad aprile 2024 hanno riempito di dati i blocchi, spingendo i risparmiatori comuni in una gara al rialzo alla quale non avevano alcun interesse a partecipare. Se effettui acquisti ricorrenti tramite Swan o River con prelievi automatici, la risposta sensata è una soglia che sposta i bitcoin in meno transazioni e più grandi, invece di un calendario settimanale fisso che ignora lo stato della coda.
Leggere la coda prima di premere preleva
Apri qualsiasi dashboard di mempool e vedi tre cose: le transazioni in attesa, le fasce di commissione per unità di dimensione in cui si trovano e i blocchi previsti che quelle fasce riempirebbero. Una fascia indicata per il blocco successivo è ciò che paghi perché la transazione venga minata in circa dieci minuti; le fasce inferiori sono ciò che paghi per aspettare.
Metti dei numeri con uno sweep di un singolo UTXO verso un solo output. Quella transazione occupa circa 110 byte virtuali con un input SegWit nativo, quindi a 2 sat/vB costa 220 satoshi e a 90 sat/vB costa 9.900 satoshi. La transazione è identica byte per byte in entrambi i casi. Cambia solo il momento che hai scelto, e questa è tutta la lezione.
Vale la pena conoscere anche la soglia minima. Se offri troppo poco, i peer potrebbero non accettare mai la tua transazione, quindi non apparirà sugli explorer e non potrà essere aumentata. Se offri deliberatamente un po' poco, stai scommettendo che la coda si svuoti entro 14 giorni, dopo i quali i nodi la scartano e i bitcoin nel tuo wallet tornano spendibili.
Mempool vs politica della mempool
Una mempool è un contenitore; la politica è il portiere. Il contenitore conserva tutto ciò che ha superato i controlli, e la sua dimensione e la sua scadenza si configurano allo stesso modo della politica, ma i due rispondono a domande diverse. La politica decide se una transazione è ammessa e inoltrata; la mempool decide cosa le succede dopo, comprese quali transazioni vengono eliminate quando lo spazio scarseggia.
Mempool vs blocco
Un blocco è un registro definitivo e permanente con un limite rigido di 4.000.000 unità di peso; una mempool è una stima temporanea, privata e in linea di principio illimitata di ciò che potrebbero contenere i prossimi blocchi. Le transazioni lasciano la mempool quando vengono minate, e la lasciano di nuovo se il ramo che le contiene viene abbandonato, nel qual caso tornano in attesa. Stare in una mempool non è un impegno da parte di nessuno.