UTXO: capire le uscite di transazione non consumate

UTXO: capire le uscite di transazione non consumate

Michele D'Angelo Settembre 26, 2023
4 min di lettura

Se sei nel settore da abbastanza tempo, molto probabilmente hai sentito parlare del termine UTXO, abbreviazione di “Unspent Transaction Output“, e probabilmente ti sei chiesto cosa diavolo sia questa cosa e cosa abbia a che fare con il Bitcoin?

In questo articolo cercheremo di spiegartelo in modo che tu possa avere una comprensione di base degli UTXO e del loro funzionamento.

Che cos’è un output di transazione non speso (UTXO)?

Gli output di transazione non spesi, o UTXO in breve, sono una componente fondamentale del modello di transazione di Bitcoin. In parole povere. Gli UTXO rappresentano la quantità di Bitcoin che un utente detiene, non come saldo, ma come risultato di transazioni precedenti che non sono state spese.

Quando un utente decide di effettuare una nuova transazione, prende uno o più UTXO (ne parleremo più avanti) e fa riferimento a questi output non spesi come input della transazione, “spendendoli” nel processo.

L’insieme degli UTXO esistenti in un determinato momento è chiamato set di UTXO.

L’insieme UTXO è come un grande barattolo digitale che contiene tutte le monete non spese (o UTXO) di ogni utente Bitcoin. È un registro di tutte le monete che non sono ancora state utilizzate. Quando vuoi sapere quanti Bitcoin possiedi tu o chiunque altro, puoi guardare in questo barattolo e contare le monete relative a quell’indirizzo specifico. I nodi Bitcoin tengono traccia dell’insieme per determinare quante monete esistono e chi può spenderle. Questo è fondamentale per prevenire il problema della doppia spesa.

Questo modello UTXO garantisce la sicurezza, la trasparenza e l’integrità delle transazioni all’interno della rete decentralizzata Bitcoin.

Come vengono creati gli UTXO?

Ogni transazione bitcoin è composta da entrate e uscite.

Per creare un ingresso, una transazione deve consumare un UTXO esistente, creando un nuovo UTXO e così via.

Potresti chiederti: “Ma se i vecchi UTXO devono essere distrutti per creare un nuovo UTXO, come vengono creati gli UTXO?”

Transazione Coinbase

Una transazione Coinbase è la prima transazione di ogni blocco.

In media ogni 10 minuti circa viene creato un nuovo blocco. Ogni nuovo blocco è composto da bitcoin freschi appena estratti, il che viene chiamato ricompensa di blocco. Attualmente le ricompense di blocco sono pari a 6,25 BTC cumulative di tutte le transazioni del blocco.

La transazione coinbase è l’unica transazione valida senza input e può creare nuovi output, uno o più, il che significa che NON richiede che vengano spesi Bitcoin dalla transazione precedente.

È così che vengono creati nuovi UTXO.

Come funziona UTXO? Ingressi, uscite e loro relazione.

Facciamo un esempio, utilizzando l’oro.

Immagina di ricevere una moneta d’oro da 10 once, ma di voler acquistare un’auto che costa 3 once d’oro.

Dovresti fondere la moneta d’oro da 10 once che hai ricevuto inizialmente e creare due monete. Una moneta da 7 once e una da 3 once. Pagherai quindi l’auto con la moneta da 3 once e terrai per te quella da 7 once.

Il Bitcoin è simile. Se qualcuno ti invia 10 BTC nel tuo portafoglio, otterrai un output di transazione non speso (UTXO) del valore di 10 BTC.

Ora, supponiamo che tu voglia acquistare un’auto del valore di 3 BTC.

Dovrai “spezzare” i 10 BTC UTXO e spenderne solo una parte. Il modo per farlo è quello di inserirli in una transazione come Input. Con la transazione, puoi dividere quei 10 BTC come vuoi e inviarli a tutti gli indirizzi che vuoi.

È qui che entra in gioco il concetto di “resto”.

Per spendere 3 BTC per un’auto, prendi i 10 BTC come input della transazione e fai due output: uno come pagamento (3 BTC) e un altro (7 BTC) come resto a uno dei tuoi indirizzi.

Ecco un esempio di come potrebbe apparire la transazione.

Nota: per semplicità non includeremo le commissioni di transazione della rete

one-input

Il bitcoin di Bob che si trova in uno dei suoi indirizzi è stato diviso in due parti. L’indirizzo del rivenditore di auto ha ricevuto 3 Bitcoin e Bob riceve il resto di 7 Bitcoin.

Vediamo un altro esempio:

Immaginiamo che tre tuoi amici (che chiameremo John, Dan e Alice) decidano di inviarti dei Bitcoin

John ti invia 0,2 BTC

Dan ti invia 0,5 BTC

Alice ti invia 0,01 BTC

Nel tuo portafoglio vedrai che hai una somma totale di 0,71 BTC, ma in realtà hai 3 diversi output di transazione non spesi (UTXO)

UTXO1 : 0,2 BTC

UTXO2 : 0,5 BTC

UTXO3 : 0,01 BTC

Se ora vuoi pagare 0,6 BTC a qualcuno, la tua transazione prenderà gli UTXO da 0,2 e 0,5 bitcoin e li metterà insieme (lasciando l’UTXO da 0,01 bitcoin da solo). La transazione avrebbe due risultati: 0.6 BTC come pagamento e 0,1 come resto. L’aspetto sarà il seguente.

two-inputs

Al termine della transazione, il tuo portafoglio avrà un UTXO da 0,1 bitcoin e un UTXO da 0,01 bitcoin. Due “monete” con un saldo totale di 0,11 BTC.

Vantaggi del modello UTXO per la privacy

Gli utenti di Bitcoin possono detenere ogni UTXO separatamente, memorizzando ogni UTXO in un nuovo indirizzo bitcoin diverso e unico. In questo modo, gli utenti possono nascondere la connessione tra i loro UTXO al pubblico e rendere davvero difficile per le persone esterne sapere quali UTXO appartengono a quali utenti.

Vantaggi del modello UTXO

Trasparenza: Il modello UTXO consente ai nodi bitcoin di verificare in modo semplice ed efficiente ogni transazione sulla blockchain e di verificare se l’UTXO speso è valido e non viene speso, risolvendo così il problema della doppia spesa.

Sicurezza: Poiché gli UTXO sono completamente spesi o non spesi, non ci sono ambiguità sullo stato dei fondi, riducendo le vulnerabilità.

Privacy: La combinazione di più UTXO in un’unica transazione può garantire una maggiore privacy.

Proprietà chiara: Gli UTXO definiscono una proprietà esplicita, rendendo chiaro chi possiede quale importo in qualsiasi momento.

Conclusioni:

Come spero tu possa dedurre da questo articolo, il modello UTXO è un concetto molto importante di Bitcoin e dietro ogni semplice transazione c’è un’intera struttura che garantisce la validità delle transazioni.

Ci auguriamo che, dopo aver letto l’articolo, tu abbia capito meglio cosa sono gli UTXO, come funzionano e perché sono importanti per il Bitcoin.

Se vuoi saperne di più sul Bitcoin, puoi visitare il nostro Bitcoin Hub, dove puoi trovare molti articoli utili.

Author: Michele D'Angelo

Michele è sempre stato appassionato di tecnologia, in particolare del lato tecnico delle cose. Quando si tratta di tecnologia blockchain, ama approfondire gli aspetti di bitcoin, blockchain e criptovalute in generale. È un introverso che ama passare il tempo da solo a ricercare e scrivere su questi argomenti.