Bitcoin: come decidere il costo di transazione?
Come si decide il costo di transazione bitcoin?
Dopo aver scelto il nostro wallet bitcoin ideale, ed aver imparato a fare e ricevere pagamenti in bitcoin, è il momento di capire come funzionano i costi di transazione e di decidere quale “fee”, ossia quale tariffa pagare al miner che scriverà la nostra transazione nella blockchain.
Normalmente i wallet decidono in automatico una fee media in base al traffico del momento, e possono prevedere 2 o più diversi livelli di costo a seconda della velocità con cui vogliamo che il pagamento sia confermato. Più sarà alta la fee che saremo disposti a pagare, più velocemente la nostra transazione verrà inserita in un blocco e registrata per l’eternità: in teoria possiamo anche impostarla pari a 0, ma è abbastanza sconsigliabile farlo. Ci sono poi wallet che permettono di usare una fee predefinita o impostarne una a nostro piacere: cerchiamo di capire da cosa dipendono le fee ed in seguito come decidere quanto pagare per una transazione.
Costo di transazione bitcoin: da cosa dipende?
La Blockchain, o catena di blocchi, non è altro che un registro contabile su cui vengono annotate tutte le transazioni che avvengono in bitcoin: basta andare su un block explorer, ossia i siti che permettono di visualizzare (tra le altre cose) il contenuto dei blocchi, aprire uno degli ultimi blocchi chiusi e visualizzare tutte le transazioni che sono avvenute nel mondo nei 10 minuti in cui è stato scritto il blocco in questione. Per fare in modo che anche la nostra transazione, ossia il nostro pagamento, venga annotato quanto prima in un blocco, dobbiamo fare in modo che ai miner convenga annotarlo, e la convenienza sta in quanto alta è la fee, ossia la “tassa” volontaria che paghiamo a chi scriverà la transazione. E’ quindi evidente che in periodi di elevato traffico, ossia in cui ci sono moltissime transazioni, il costo medio della Fee si alzi, perché più transazioni “competono” tra loro per essere verificate sulla blockchain. Se la fee diventa equivalente a decine di €, non è più conveniente fare transazioni per l’equivalente di decine o di poche centinaia di €: solo se faccio una transazione che equivale a migliaia di €, posso “trascurare” una fee pari a magari 30 € o anche più. Per questo motivo è necessario prendersi un attimo per capire come si possono calcolare i costi di transazione e come decidere per un costo di transazione che ci assicuri un tempo ragionevole per la conferma del pagamento, pur non essendo troppo elevato.
Come si calcolano le fee di bitcoin?
La fee di bitcoin non dipende dall’ammontare del pagamento che stiamo facendo, ma dallo spazio che occuperà la transazione stessa nella memoria della blockchain, ossia nel blocco in cui la scriveremo, e si tratta di uno spazio pari a circa 200 bytes, in media 225 bytes. La fee si calcola moltiplicando questo numero di bytes per quanto siamo disposti a pagare per ciascun byte. Il pagamento per ogni byte si imposta normalmente in satoshi, e per satoshi si intende un centesimo di bit, e per bit un milionesimo di bitcoin. Se per esempio impostiamo un pagamento pari a 100 satoshi/byte, vuol dire che stiamo impostando un pagamento pari a 1 bit/byte, ossia un milionesimo di bitcoin per ogni byte della transazione, e ciò vuol dire che pagheremo la transazione media, 1 bit X 225 bytes, ossia 225 bit, o 225 milionesimi di bitcoin. Quanto vale questo in €? Se il valore del Bitcoin quando facciamo la transazione è pari a 10.000 €, vorrà dire che 1000 bit (ossia 1000 milionesimi di bitcoin) saranno pari a 10 €, e che quindi 225 bit saranno pari a 2,25 €.
Come capire quale è la fee bitcoin più adatta da impostare?
Per capire qual è la fee più adatta in un dato momento, in relazione al traffico, esistono siti che mostrano la situazione del momento, come ad esempio Bitcoinfees.Earn.com di cui per semplicità riproduciamo una schermata.
La prima colonna mostra dei diversi livelli di fee, in “satoshi per byte”, e ricordiamo che ogni satoshi è un centesimo di bit e ogni bit un milionesimo di bitcoin. Nelle due colonne sulla destra vediamo invece il numero di blocchi che dobbiamo attendere, per veder scritta la nostra transazione, in corrispondenza di ciascun livello di fee. Ad esempio, mentre scriviamo questo articolo, se impostiamo una fee compresa tra 21 e 30 satoshi per byte, dovremo aspettare probabilmente che si chiuda un blocco per vedere scritta il nostro pagamento, mentre per tutti i pagamenti superiori a 31 satoshi per byte, non avremo alcun ritardo. L’ultima colonna sulla destra ci dice il tempo in minuti che dovremo aspettare per la nostra conferma, ossia tra 0 e 30 minuti se non dobbiamo aspettare alcun blocco.
Se vogliamo tradurre 31 satoshi per byte in €, dobbiamo prima di tutto calcolare il costo complessivo della transazione: come detto prima una transazione occupa 225 bytes, quindi il costo complessivo sarà pari a 31 satoshi x 225 bytes, ossia in totale 6975 satoshi, o 69,75 bit. Mentre scriviamo un bitcoin vale 8832 €, quindi 1000 bit valgono 8,832 €, ed un singolo bit vale 0,008832 €. Moltiplichiamo 0,008832 € per 69,75 bit ed otteniamo 0,61 € come costo di transazione ottimale. Mentre scriviamo il costo di transazione medio si situa a oltre 2 €: come si può vedere, sapendo come calcolare un costo di transazione ottimale, si può più che dimezzare il costo di un pagamento rispetto alla media del momento, pur ottenendo la massima efficienza.