Vai al contenuto
buybitcoinsmart

Glossario / Transazioni e commissioni

Package relay

Che cos'è il package relay?
Il package relay consente a un nodo di accettare insieme un gruppo di transazioni correlate non confermate, così una transazione figlia che paga una commissione alta può portare con sé una transazione madre che la rete altrimenti rifiuterebbe.

Specificato nel BIP-331.

Il package relay è la soluzione a un disallineamento durato anni: i miner valutavano gruppi, mentre la rete che trasportava loro le transazioni le valutava una alla volta. Bitcoin Core 28.0, rilasciato a ottobre 2024, ha introdotto il relay opportunistico per il caso di una madre e una figlia, e il BIP 331 specifica la versione generale. Se ti è mai capitato di aumentare la commissione di un pagamento in entrata bloccato e di vedere l'aumento sparire, questo è il motivo.

Come funziona

Un nodo decide se conservare una transazione nel momento stesso in cui arriva e, per gran parte della storia del bitcoin, ha preso questa decisione senza sapere nulla di ciò a cui la transazione era collegata.

Immagina il guasto. Arriva una transazione madre che paga meno di quanto il nodo richieda in quel momento e viene scartata invece che conservata. Pochi istanti dopo arriva una figlia che spende un output di quella madre e, senza alcuna traccia della madre, il nodo non può validare neppure la figlia, così questa finisce in un piccolo pool di orfane, profondo circa cento transazioni per impostazione predefinita, e viene dimenticata. La commissione che la figlia portava non viene mai conteggiata. Il mining consapevole degli antenati, presente in Bitcoin Core dal 2016, non poteva aiutare, perché nulla arrivava mai a un miner.

Il relay opportunistico di una madre e una figlia chiude la versione comune di quel buco. Quando compare un'orfana la cui madre mancante è stata respinta di recente per aver pagato troppo poco, il nodo riconsidera le due come un'unità, giudicandole sulla commissione complessiva rispetto alla dimensione complessiva, e accetta entrambe se la coppia supera la soglia. L'ambito è deliberatamente ristretto: una madre, una figlia. Un lotto con più madri sotto prezzo resta fuori portata.

Il BIP 331 definisce il meccanismo generale: i peer annunciano il supporto con un messaggio sendpackages durante l'handshake, poi usano ancpkginfo, getpkgtxns e pkgtxns per richiedere l'intero insieme degli antenati di una transazione prima di giudicarne qualsiasi parte. Puoi già consegnare un gruppo al tuo nodo con la chiamata RPC submitpackage, con un limite di 25 transazioni e 101 kvbyte.

I protocolli che ne hanno più bisogno firmano le proprie transazioni molto prima di diffonderle. Un commitment Lightning viene concordato mesi prima del giorno in cui potrebbe essere usato, quando nessuno sa quali saranno le commissioni, perciò il progetto moderno lo firma a commissione zero o quasi e lascia che la parte che ne ha bisogno aggiunga la commissione tramite un output anchor. Questo funziona solo se il commitment e la figlia che paga la commissione viaggiano come un'unità. La stessa versione ha aggiunto le transazioni TRUC, specificate nel BIP 431, che limitano la topologia perché un attaccante non possa seppellire la coppia sotto transazioni spazzatura.

Dove lo vedi

Il package relay è invisibile quando funziona, e ciò che noti è la sua assenza: la domanda che decide le tue opzioni è se la madre bloccata esista da qualche parte.

Se la madre è nelle mempool e si conferma lentamente, basta un normale aumento di commissione e nessun package è coinvolto. Il package relay serve per il caso più difficile, in cui un exchange ha costruito il proprio lotto di prelievi sotto il minimo vigente, nessun nodo ne ha conservato una copia e nulla di ciò che paghi dalla tua parte salva una transazione che la rete non ha mai accettato.

Cerca l'ID della transazione su due o tre explorer indipendenti, dato che ciascuno riporta la mempool del proprio nodo. Se non compare da nessuna parte, non c'è nulla su cui aumentare la commissione, e la soluzione spetta al mittente. Gli utenti Lightning incontrano lo stesso meccanismo nelle chiusure forzate, dove un commitment a commissione zero più la spesa di un anchor è ormai la via d'uscita standard da un canale.

Un avvertimento onesto: i miglioramenti del relay valgono solo tra peer che li eseguono, quindi la propagazione dipende dall'adozione in tutta la rete e non dalla versione del tuo nodo.

Package relay vs child pays for parent

Il child pays for parent è la strategia, e il package relay è l'infrastruttura che la mette in pratica. Il primo descrive l'aggancio di una figlia ben pagata perché un miner prenda entrambe; il secondo è la capacità della rete di spostare e giudicare quella coppia come un unico oggetto. Puoi usare la strategia senza package relay ogni volta che la madre è già nelle mempool, il che copre la maggior parte dei pagamenti bloccati. Il package relay è ciò che fa funzionare la tecnica quando la madre è pagata meno di quanto la rete sia disposta a trasportare.

Da non confondere con

Domande frequenti

Devo attivare il package relay per usarlo?

No. Il package relay è un comportamento del nodo, non un'impostazione del wallet. La tua parte del lavoro non cambia: spendi la tua criptovaluta non confermata a una commissione abbastanza alta. Se la coppia viaggia insieme o no lo decide il software che i tuoi peer si trovano a eseguire.

Perché nessun explorer riesce a trovare la mia transazione in entrata?

Perché nessun nodo l'ha conservata. Una transazione sotto la soglia di relay viene rifiutata all'ingresso invece che conservata, quindi non c'è alcuna copia da consultare e non c'è nulla su cui aumentare la commissione. Il mittente deve trasmetterla di nuovo a una commissione più alta o sostituire la transazione.

Termini correlati

Altro in Transazioni e commissioni

Leggi questa pagina in inglese