Transazione in attesa della mempool

Cos’è la Mempool?

# blocco: 818150

Indice

In un periodo in cui le transazioni Bitcoin hanno raggiunto delle fee considerevoli si sente spesso parlare di Mempool, ma che cos’è e a cosa serve?

Scopriamolo insieme.

La sala d’attesa

La Mempool può essere paragonata ad una sala d’attesa dove tutte le transazioni restano pazientemente in attesa del loro turno per essere confermate ed incluse in un blocco della timechain.

Quando un utente decide di inviare bitcoin, il suo portafoglio crea una transazione e la trasmette successivamente alla vasta rete di nodi Bitcoin. Questa transazione arriva quindi alla mempool, che funge da sala d’attesa centrale per tutte le transazioni in arrivo.

La ragione per cui la mempool è necessaria risiede nel fatto che non tutte le transazioni possono essere elaborate immediatamente e confermate.

Ogni blocco della timechain ha una dimensione massima di circa 1 megabyte, contenendo approssimativamente 2000 transazioni, a seconda delle loro dimensioni

Inoltre, si convalida ogni blocco circa ogni 10 minuti.

Questi “limiti” di spazio e tempo provocano una situazione in cui la mempool inizia gradualmente a riempirsi di transazioni in attesa di conferma da parte dei miner.

Per superare la coda della mempool e garantire una conferma più rapida, gli utenti devono includere nelle loro transazioni delle fee più generose da offrire ai miner.

Ciò crea un meccanismo di competizione tra le transazioni, in cui quelle con commissioni più elevate ricevono priorità per essere incluse nei prossimi blocchi. Gli utenti sono quindi incentivati a offrire tariffe competitive se desiderano che le loro transazioni siano elaborate rapidamente.

Come vengono calcolate le commissioni sulle transazioni?

Il calcolo della commissione di transazione avviene sempre in Sats/vB, ovvero in Satoshi per byte.

È evidente che il costo di una transazione è direttamente proporzionale alla sua dimensione in byte. Lo spazio occupato da una transazione è determinata da diversi fattori, tra cui il numero di input e output della transazione, e da altri dati aggiuntivi.

Per calcolare la dimensione di una transazione, è possibile seguire questa formula approssimativa:

Dimensione della transazione (in byte) = (Numero di input * 180) + (Numero di output * 34) + 10

Dove:

  1. Numero di input: Gli input di una transazione sono le transazioni precedenti che finanziano la nuova transazione. Ogni input occupa circa 180 byte.
  2. Numero di output: Gli output rappresentano i destinatari della transazione. Ogni output richiede circa 34 byte.
  3. 10 byte: è un contributo fisso per l’intestazione della transazione e altri dati di controllo.

Consideriamo il caso più semplice in cui si ha un transazione con un solo ingresso e due uscite (il destinatario della transazione e il resto della transazione che ritorna nel nostro wallet), applicando la formula si avrà:

Dimensione della transazione = (1 * 180) + (2 * 34) + 10 = 258 bytes

Considerano di applicare alla transazione una fee di 5 satoshi per byte, per trasferire 258 bytes si avrà una commissione totale di = 258 * 5 = 1290 satoshi pari a 0.00001290 btc.

Se si aumentano gli ingressi (ad esempio perchè si utilizzano più UTXO), o si utilizzano più uscite (perchè si deve inviare bitcoin a più indirizzi destinatari), la dimensione della transazione aumenta e di conseguenza anche il costo associato. Per approfondimento vi consigliamo la lettura di questo articolo: Whitepaper – UTXO

Indipendentemente dalla dimensione delle transazioni, il costo di trasferimento è influenzato anche dall’attuale domanda di transazioni sulla rete Bitcoin. In periodi di congestione, quando c’è una quantità significativa di transazioni in attesa di essere confermate, le tariffe tendono ad aumentare poiché gli utenti competono per ottenere la priorità. Allo stesso modo, in momenti di minore attività, le tariffe possono diminuire poiché c’è meno concorrenza per l’inclusione delle transazioni nei blocchi.

La Mempool di Bitcoin non esiste

Va sottolineato che non esiste una singola “mempool di Bitcoin”. Ogni nodo all’interno della rete Bitcoin gestisce la propria mempool, le regole e le impostazioni possono variare da un nodo all’altro.

Di default, la dimensione massima della mempool di un nodo è di 300 MB, anche se è importante notare che ogni nodo può personalizzare questa configurazione. In pratica, questo significa che ogni nodo ha una sorta di “sala d’attesa” in grado di contenere al massimo 300 MB di transazioni. Attenzione però che l’ambito di riferimento delle Mempool è comune a tutti i nodi poiché, le transazioni vengono trasmesse e propagata a tutti i nodi nella rete Bitcoin.

Quando la capacità massima della mempool di un nodo viene raggiunta, il nodo inizia a scartare le transazioni con tariffe più basse e regola al contempo la sua tariffa minima accettabile (minMempoolFeeRate). Tale valore viene comunicato ai suoi peer, indicando loro di non inoltrare transazioni al di sotto di quella determinata tariffa.

Ogni nodo segue questo processo individualmente, il che significa che nodi con dimensioni di mempool diverse o architetture diverse possono eliminare le transazioni in tempi diversi.

Le transazioni non svaniscono dalla Mempool

Anche se alcuni nodi hanno scartato una transazione, ciò non implica che il mittente e i destinatari perdano completamente traccia di quella transazione.

Possono ancora riferirsi alla loro copia locale della transazione.

Il mittente ha la possibilità di decidere se aggiornare la transazione o inviarne una nuova versione. Nel frattempo, continuerà a tentare di trasmettere la transazione originale finché ci sarà spazio nella mempool o fino a quando l’arretrato delle transazioni nella rete si sarà ridotto.

Una volta che la dimensione della mempool sarà scesa al di sotto del limite di 300 MB, il nodo ridurrà la sua minMempoolFeeRate e riprenderà ad accettare le transazioni precedentemente scartate.

Le transazioni nella mempool non scompaiono, ma rimangono in sospeso, continuando a essere ritrasmesse fino a quando i miner le elaborano e le includono nei blocchi.

In periodi di congestione nella rete Bitcoin, questo processo potrebbe richiedere giorni.

È importante sottolineare che in questo fase i Bitcoin inviati non sono a rischio. Nulla viene creato né distrutto; le transazioni restano solo in attesa di essere elaborate e scolpite nella timechain.

Dove si può osservare la Mempool?

Il divertente sito TxStreet propone una metafora coinvolgente per illustrare il processo delle transazioni Bitcoin. Le transazioni vengono paragonate a persone che arrivano alla stazione di un treno, rimanendo in attesa di trovare il loro posto in un vagone. Ogni vagone, a sua volta, rappresenta un blocco della timechain, in attesa di essere minato dai miner. Un’idea interessante che utilizza un approccio intuitivo per spiegare il processo delle transazioni Bitcoin.

Un secondo sito web che vi consiglio è Mempool.space. Il sito è uno strumento utilissimo per tutti i Bitcoiner perchè offre una panoramica completa dello stato attuale della “sala d’attesa” di Bitcoin, consentendo agli utenti di monitorare in tempo reale l’attività e la congestione nella rete.

Con Mempool.space, gli utenti valutano la mempool monitorando le transazioni in attesa, le tariffe medie e il tempo medio di conferma.

Mempool.space è uno strumento indispensabile da comprendere e per questo motivo, ora che abbiamo capito cos’è la Mempool, verrà trattato nel prossimo articolo del blog.

Restate con noi!!

Fonti e approfondimenti

Condividi questo post

Altri articoli

Come installare Python

Come installare Python 3.0

Python è un linguaggio di programmazione ad alto livello orientato agli oggetti. E’ stato creato da un programmatore olandese, Guido van Rossum,

Come usare Mempool Space

Come usare Mempool Space

In questo periodo di commissioni Bitcoin elevate, è essenziale che ogni appassionato di Bitcoin acquisisca competenze nell’utilizzo di strumenti appropriati. Tra questi,

Se apprezzi il lavoro che facciamo puoi aiutarci a mantenere i contenuti sempre di più aggiornati donandoci qualche Satoshi

CONTATTACI

Compila il form per qualsiasi richiesta di assitenza.