Protocollo RBF

Pubblicato da Matteo il

In questo articolo diamo una prima introduzione al protocollo #RBF (Replace-By-Fee). Tale protocollo è stato introdotto nello standard BIP-0125 e sostanzialmente permette di sostituire una transazione, non ancora confermata con un’altra transazione che abbia una fee maggiore della precedente, in modo tale da essere presa in carico dai miner nel minor tempo possibile.

Ma come funziona…

nella struttura di ogni transazione ci sono vari valori che la determinano, tra questi c’è anche l’ nSequence che determina la versione di quella transazione. tale valore può essere impostato dalla maggior parte dei client Bitcoin, di default il valore è impostato al massimo (0xffffffff). Una transazione può essere sostituita solo se rispetta i seguenti requisiti:

  • Il numero di conferme ricevute deve essere 0.
  • Il valore dell’attributo nSequence deve essere inferiore al valore massimo (0xffffffff -1).

Se questi requisiti vengono coperti, la transazione è sostituibile a tutti gli effetti.

Capiamo come..

Utilizzando un client come Electrum questa operazione si traduce in una spunta nelle impostazioni, pertanto andando a riprendere la transazione in questione puoi sostituire il valore della fee con uno superiore e tale transazione verra sostituita con una nuova riportando la nuova fee.

Se sei un utente PRO, saprai bene che l’utilizzo di un client ti limita molto nella gestione del tuo wallet. Di fatti tale operazione può essere fatta manualmente. Utilizzando un approccio manuale c’è la possibilità di determinare un indirizzo di destinazione diverso da quello prestabilito nella transazione che verrà sostituita.

Chiaramente è un arma a doppio taglio, in quanto nel caso in cui il corrispettivo della transazione è un bene o servizio e questo viene erogato prima che si abbiano conferme della transazione, il mittente potrebbe attuare il protocollo RBF sostituendo l’indirizzo di destinazione inserendone uno proprio e quindi effettuando una truffa ai datti del destinatario oltre che un cosi detto #doublespend.

Ma approfondiremo come effettuare una transazione manuale utilizzando il protocollo RBF nel successivo articolo!