Vai al contenuto
buybitcoinsmart

Glossario / Transazioni e commissioni

Input di transazione

Noto anche come Input, TxIn.

Che cos'è un input di transazione?
Un input di transazione è la metà di un pagamento: quella che indica una specifica moneta che possiedi già e dimostra che sei autorizzato a spenderla, consumandola completamente.

Ogni input è un puntatore più una prova, e quanto costa dipende dal tipo di moneta spesa: circa 57,5 byte virtuali per una moneta Taproot, circa 68 per una nativa SegWit e circa 148 per una legacy. Poiché gli input vengono sempre consumati per intero, un wallet che detiene molti piccoli depositi paga di più per lo stesso pagamento di un wallet che detiene una sola moneta grande. Ogni deposito che ricevi è un input che pagherai in seguito.

Come funziona

Un input ha quattro campi, e solo uno di essi è la firma.

Per primo viene l'outpoint, 36 byte: l'id della transazione che ha creato la moneta, seguito dalla posizione della moneta nell'elenco degli output di quella transazione. Questo è il puntatore, ed è ciò che rende bitcoin verificabile, perché chiunque può seguirlo all'indietro fino al blocco in cui il valore è stato creato.

Il secondo è una lunghezza dello script, e il terzo lo script della firma, che per i tipi di moneta più vecchi contiene la firma e la chiave pubblica che soddisfano il blocco dell'output precedente. SegWit ha cambiato dove risiedono questi dati, non cosa contengono: per una moneta bc1 il campo dello script è vuoto e il materiale di sblocco passa in una sezione witness separata, dove ogni byte conta come un quarto di un'unità di peso. Crittografia identica, un quarto del costo.

Il quarto è il numero di sequenza, 4 byte. In origine era pensato per uno schema di sostituzione all'interno della mempool che non ha mai funzionato, poi è stato riutilizzato. Il BIP68 gli ha dato un senso come timelock relativo, ed è ciò che consente a un canale Lightning di dire "spendibile, ma solo dopo 144 blocchi", e i valori inferiori a 0xfffffffe segnalano anche che la transazione può essere sostituita da una versione con una commissione più alta.

La proprietà che sorprende le persone è il consumo. Gli input sono tutto o niente. Se detieni una sola moneta da 0,4 BTC e vuoi pagare 0,01 BTC, l'input spende l'intera moneta da 0,4 BTC, e il wallet crea un output di resto per restituirti il rimanente. Non esiste la spesa parziale né il concetto di detrarre un importo.

Un input è speciale. Una transazione coinbase, quella che paga il miner, ha esattamente un input il cui outpoint non punta a nulla: 32 byte zero e un indice di 0xffffffff. Il suo script contiene dati arbitrari invece di una firma, ed è lì che va l'altezza del blocco e dove sono stati scritti messaggi come quello del blocco genesi.

Dove lo vedi

Gli input sono la colonna di sinistra in un block explorer, e il motivo per cui la stima delle commissioni del tuo wallet cambia quando non cambi nient'altro.

In una schermata di coin control sono le caselle di selezione. Selezionare una moneta grande invece di quattro piccole è la differenza tra un input e quattro, il che, a 68 byte virtuali ciascuno e con una commissione di 20 sat/vB, è un risparmio di circa 4.080 satoshi su un singolo pagamento.

Rivelano anche informazioni. Due input in una sola transazione dicono a ogni osservatore che un'unica parte aveva il controllo di entrambe le monete, che è il presupposto dietro quasi tutto il clustering sulla blockchain. Scegliere quali input combinare è quindi una decisione di privacy oltre che di costo.

La conclusione pratica per chi accumula con regolarità: raggruppa gli acquisti in meno prelievi. Dodici prelievi mensili lasciano dodici input in attesa, e il loro conto arriva il giorno in cui finalmente spendi, alla tariffa che il mercato applica in quel momento.

Input di transazione vs output di transazione

Un input è una pretesa sul passato e un output è un'offerta al futuro, e la stessa porzione di valore svolge entrambi i ruoli nel corso della sua vita. Nasce come output, resta nell'insieme degli UTXO e muore come input nella transazione che lo spende. L'asimmetria che conta è economica: gli output sono economici da creare, da 31 a 43 byte ciascuno, mentre gli input sono costosi da spendere, da 57,5 a 148 byte virtuali ciascuno. Ricevere non costa quasi nulla e spendere costa denaro reale, che è esattamente il contrario di come la maggior parte delle persone si aspetta che una rete di pagamenti le addebiti.

Da non confondere con

Domande frequenti

Perché il mio wallet spende più monete dell'importo che sto inviando?

Perché gli input non possono essere spesi parzialmente. Spendere una moneta la consuma per intero, quindi il wallet prende le monete che coprono il tuo pagamento più la commissione e restituisce il resto a se stesso in un output di resto.

Più input rendono una transazione più costosa?

Sì, ed è il principale fattore delle commissioni di bitcoin. Ogni input SegWit nativo aggiuntivo aggiunge circa 68 byte virtuali, quindi un pagamento che spende otto piccole monete può costare diverse volte quanto costa lo stesso pagamento che ne spende una sola grande.

Leggi anche

Termini correlati

Altro in Transazioni e commissioni

Leggi questa pagina in inglese