Vai al contenuto
buybitcoinsmart

Glossario / Transazioni e commissioni

Politica della mempool

Noto anche come Relay policy.

Che cos'è la politica della mempool?
La politica della mempool è l'insieme aggiuntivo di regole che un nodo applica prima di accettare e ritrasmettere una transazione, più rigoroso del consenso e regolabile da chi gestisce il nodo.

Il consenso decide cosa un blocco può contenere legalmente; la politica decide cosa viene trasmesso prima. Bitcoin Core limita una transazione standard a 400.000 unità di peso e rifiuta tutto ciò che paga al di sotto della sua soglia di trasmissione, e nessuno dei due limiti compare nelle regole di consenso. Una transazione può essere perfettamente valida e comunque non viaggiare da nessuna parte.

Come funziona

La politica è un secondo cancello davanti al controllo di consenso. Una transazione che arriva a un nodo deve essere valida e deve anche somigliare al tipo di transazione che l'operatore è disposto a conservare e inoltrare. Se non supera il primo test, la transazione è invalida ovunque; se non supera il secondo, è solo indesiderata qui, e può essere perfettamente accettabile per il nodo accanto.

I valori predefiniti di Bitcoin Core coprono diversi tipi di limite. Le regole di standardità restringono quali tipi di script vengono trasmessi, così condizioni di spesa nuove o malformate non si propagano prima che la rete le comprenda. I limiti di dimensione fissano una transazione standard a 400.000 unità di peso, un quarto di un blocco. I limiti di commissione stabiliscono la soglia di trasmissione, ridotta da 1 sat/vB a 0,1 nella versione 30.0, e la soglia della polvere sui singoli output, rimasta al suo vecchio prezzo di 3 sat/vB. I limiti di topologia fissano i gruppi collegati di transazioni non confermate a 64 membri e 101 kilobyte di dimensione virtuale, le regole sui cluster che nella versione 31.0 hanno sostituito i vecchi conteggi di 25 antenati e 25 discendenti.

Ognuno di quei numeri è un'impostazione, non una legge. Un operatore può alzare la soglia di trasmissione con -minrelaytxfee, cambiare quanti dati può portare un output OP_RETURN con -datacarriersize, oppure eseguire Bitcoin Knots, che distribuisce valori predefiniti deliberatamente più severi. Il limite di 83 byte sugli output che trasportano dati è diventato il dibattito più acceso degli ultimi anni sulle regole della mempool e si è chiuso con Bitcoin Core 30.0 che ha alzato il valore predefinito a 100.000 byte, di fatto eliminandolo, pur lasciando -datacarriersize=83 disponibile a chi vuole il vecchio comportamento.

La politica si muove anche più in fretta del consenso. Il replace-by-fee completo è diventato il comportamento predefinito in Bitcoin Core 28.0 a ottobre 2024, e la stessa versione ha aggiunto la trasmissione opportunistica di una transazione padre e una figlia insieme; entrambe le modifiche sono entrate in vigore appena gli operatori hanno aggiornato, senza alcun fork.

Dove lo vedi

La politica si manifesta come un messaggio di errore del tuo wallet, molto prima che entri in gioco qualsiasi miner. I rifiuti che citano la commissione di trasmissione, gli output di polvere, un cluster troppo grande di spese non confermate o uno script non standard sono tutti la politica che parla, e ognuno significa che la transazione non è mai stata consegnata a un solo peer.

Spiega anche perché a volte una transazione esiste su un explorer e non su un altro. Gli explorer riportano la mempool del proprio nodo, quindi una transazione filtrata dalla politica di quel nodo è invisibile lì mentre si conferma normalmente altrove. Ai miner si possono inviare transazioni direttamente tramite endpoint di invio, aggirando del tutto la trasmissione, ed è così che transazioni non standard compaiono occasionalmente nei blocchi senza essere mai state viste in attesa.

Per chi compra e conserva, la conclusione pratica è limitata ma utile. La politica è il motivo per cui un wallet rifiuta di creare un output da 300 satoshi, per cui una catena di spese non confermate prima o poi smette di accettare un'altra transazione figlia e per cui una transazione bloccata a volte va ritrasmessa invece di aumentarne la commissione.

Politica della mempool vs regole di consenso

Infrangere una regola di consenso rende un blocco invalido e lo fa rifiutare dall'intera rete, in modo permanente. Infrangere una regola di politica significa solo che la tua transazione aspetta, o non viaggia affatto, mentre resta perfettamente lecito minarla. La politica è anche il luogo in cui si provano i soft fork: i nuovi tipi di spesa di solito vengono resi standard per la trasmissione prima o insieme all'attivazione, così la rete può trasportarli in sicurezza. Il consenso è la costituzione; la politica è lo stile di casa di ogni nodo.

Da non confondere con

Domande frequenti

Una transazione può essere valida e comunque essere rifiutata?

Sì, e accade ogni giorno. La politica sta davanti al consenso, quindi a una transazione che non infrange nessuna regola di consenso può comunque essere negata la trasmissione perché paga al di sotto della soglia, crea un output di polvere o estende un cluster non confermato oltre il suo limite.

Chi decide la politica della mempool?

Ogni operatore di nodo, scegliendo software e impostazioni. Bitcoin Core distribuisce un insieme di valori predefiniti e Bitcoin Knots ne distribuisce uno più severo, ed entrambi possono essere modificati con opzioni della riga di comando senza cambiare quali blocchi il nodo accetta.

Termini correlati

Altro in Transazioni e commissioni

Leggi questa pagina in inglese