Nel mondo delle criptovalute, comprendere il funzionamento interno di una blockchain è essenziale non solo per cogliere il vero valore dell’ecosistema, ma anche per interagirci con cognizione di causa.
Uno degli elementi chiave, spesso poco conosciuto ma assolutamente centrale nel protocollo di Bitcoin, è il concetto di UTXO, acronimo di Unspent Transaction Output.
In questa guida esploreremo in modo semplice ma approfondito cosa sono gli UTXO, come funzionano nelle transazioni, perché rappresentano una scelta tecnica fondamentale, e come si confrontano con altri modelli contabili.
Punti Chiave:
Gli UTXO (Unspent Transaction Outputs – Prodotto non Speso della Transazione) sono unità discrete di valore in Bitcoin costituiti da output di transazioni non ancora spesi.
Funzionano come “banconote digitali” che si trasferiscono interamente da un utente all’altro per garantire fungibilità, sicurezza, trasparenza e integrità della rete.
In Bitcoin non esistono saldi ma solo UTXO. Il saldo di un wallet è in realtà la somma degli UTXO associati. Ogni transazione spende interamente i suoi input e genera nuovi output.

Introduzione:
Nel mondo di Bitcoin e di altre criptovalute simili, il concetto di UTXO (Unspent Transaction Output) è fondamentale per capire come vengono gestite le transazioni.
Un UTXO – letteralmente “output di transazione non speso” – rappresenta una quantità discreta di criptovaluta risultante da una transazione e ancora non spesa.
In altre parole, ogni volta che si riceve Bitcoin, ciò che realmente si ottiene è uno o più UTXO accreditati al proprio indirizzo: il saldo di un wallet Bitcoin è semplicemente la somma di tutti gli UTXO non spesi associati a quell’indirizzo.
A differenza dei conti bancari tradizionali (o dei modelli basati su conto usati in alcune blockchain), la blockchain di Bitcoin non memorizza direttamente i saldi degli account. Invece, traccia gli UTXO e i relativi proprietari, ossia gli indirizzi a cui questi output sono associati.
Questo approccio particolare è alla base della visione di Bitcoin come “contante digitale”: come vedremo, gli UTXO funzionano in modo simile a monete o banconote digitali che passano di mano in mano, assicurando che nessuno possa spendere due volte la stessa moneta.
Gli UTXO sono importanti nel design di Bitcoin perché risolvono elegantemente il problema della doppia spesa e semplificano la verifica delle transazioni.
Ciascun UTXO può essere speso una e una sola volta. Una volta utilizzato come input in una nuova transazione, cessa di esistere come non speso e viene sostituito eventualmente da nuovi UTXO di resto.
Questo modello fornisce un registro chiaro di tutte le transazioni e consente una verifica molto semplice: per ogni transazione, un nodo Bitcoin deve solo controllare che gli input corrispondano a UTXO esistenti e non ancora spesi.
In questo modo è difficile manipolare i dati o spendere due volte lo stesso output. La sicurezza deriva dal fatto che la rete mantiene collettivamente l’elenco aggiornato di tutti gli UTXO disponibili (il cosiddetto UTXO set) e rifiuta automaticamente qualsiasi transazione che tenti di consumare un output già speso in precedenza.
Oltre alla sicurezza, questo modello offre anche benefici in termini di trasparenza: ogni “moneta” (UTXO) ha una propria storia tracciabile sulla blockchain, costituendo una vera e propria catena di proprietà dal miner che l’ha creata (coinbase) fino all’attuale detentore.
Tale cronologia completa – unita al fatto che tutti gli importi e indirizzi sono pubblici – rende Bitcoin un sistema al contempo molto trasparente e verificabile in ogni momento da chiunque. Basti pensare che l’insieme di tutti gli UTXO in un dato momento corrisponde matematicamente alla quantità totale di Bitcoin in circolazione.
Non a caso, gli sviluppatori di Bitcoin nel whitepaper originale descrivono una moneta elettronica proprio come “una catena di firme digitali” che passa da un proprietario al successivo – un’idea che si concretizza esattamente attraverso il modello UTXO.
In sintesi, gli UTXO sono i mattoni fondamentali con cui Bitcoin rappresenta e trasferisce valore sulla sua blockchain.
Nelle sezioni seguenti esploreremo nel dettaglio come funzionano le transazioni basate su UTXO, perché questo modello è stato scelto (analizzandone vantaggi e svantaggi), e come si confronta con l’altro grande paradigma delle criptovalute, il modello basato su conti (Account-Based) utilizzato ad esempio da Ethereum.
Vedremo inoltre alcuni esempi pratici e citeremo altre blockchain moderne (come Cardano, Ergo e Nervos) che hanno adottato o esteso il modello UTXO nelle loro architetture.

Cosa Sono gli UTXO e Come Funzionano:In Bitcoin ogni transazione nasce dall’utilizzo di output non spesi precedenti e genera a sua volta nuovi output.
Possiamo immaginare la struttura delle transazioni Bitcoin come una serie di nodi e frecce: ogni nodo-transazione “consuma” uno o più UTXO in ingresso e crea uno o più UTXO in uscita.
Gli UTXO in uscita di una transazione diventeranno poi gli ingressi (input) di qualche transazione futura, e così via, formando una catena continua di passaggi di valore.
Un UTXO rimane non speso (rimane cioè parte del saldo di qualcuno) fino a quando non viene referenziato come input di una transazione successiva.
Per rendere tutto più concreto, consideriamo un esempio pratico con importi simulati. Ipotizziamo che Anna abbia nel proprio wallet un singolo UTXO da 10 BTC.
Anna vuole trasferire 1,5 BTC all’amica Beatrice. Nel modello UTXO, Anna non può semplicemente “sottrarre” 1,5 dal suo saldo come farebbe in un conto bancario.
Invece, deve spendere l’UTXO da 10 BTC per intero, utilizzandolo come input di una nuova transazione.
Questa transazione avrà due output distinti: il primo output di 1,5 BTC destinato all’indirizzo di Beatrice (il pagamento), e un secondo output di 8,5 BTC che torna ad un indirizzo di Anna come resto.
Quei due output appena creati sono a loro volta UTXO (uno ora controllato da Beatrice, l’altro nuovamente da Anna) e potranno essere spesi in futuro in ulteriori transazioni.
In questo modo, anche se Anna ha speso il suo UTXO da 10 BTC, non ha “perso” il valore eccedente: semplicemente lo ha trasformato in un nuovo UTXO di resto da 8,5 BTC a suo favore.
Dal punto di vista formale, la transazione di Anna conterrà un input che riferisce l’UTXO da 10 BTC (indicando l’ID della transazione precedente e l’indice dell’output che contiene quel BTC) insieme alla firma digitale di Anna che sblocca quell’output.
Inoltre conterrà due output: uno contenente 1,5 BTC con l’indirizzo di Beatrice come destinatario, e uno contenente 8,5 BTC con un indirizzo di resto controllato da Anna.
La somma degli importi degli output (1,5 + 8,5 = 10 BTC) equivale all’importo dell’input, al netto di eventuali commissioni di transazione. In questo esempio per semplicità abbiamo ignorato le fee (abbiamo considerato 8,5 BTC interi come resto).
In realtà Bitcoin richiede che la differenza fra input e output venga riconosciuta ai miner come commissione, quindi Anna potrebbe ad esempio inviare 1,5 BTC a Beatrice, 8,4999 BTC a se stessa come resto e pagare 0,0001 BTC di fee al miner.
In ogni caso, la regola di conservazione è sempre rispettata: la somma dei valori degli input deve essere pari alla somma dei valori degli output più le eventuali commissioni.
Questo meccanismo impedisce che “nasca” dal nulla valore extra durante una transazione e fornisce un incentivo economico ai validatori (miner) per includere la transazione nel blocco.
Possiamo pensare agli UTXO come a banconote digitali: se abbiamo solo un “biglietto” da 10 BTC e dobbiamo pagarne 1,5, dovremo dare il taglio intero e ricevere il resto indietro.
L’analogia col contante è spesso utilizzata per spiegare il modello UTXO, ed è molto calzante.
Proprio come non è possibile tagliare a metà una banconota fisica da 50€ per ottenere due pezzi da 25€, così non si può dividere arbitrariamente un UTXO: o lo si spende per intero, oppure lo si conserva intatto.
Quando si effettua un acquisto in contanti, se non si ha l’esatto importo, si consegna una banconota di valore superiore e si riceve del resto.
Nel nostro esempio, Anna ha consegnato 10 BTC e ha ricevuto 8,5 BTC di resto. Se invece Anna avesse avuto già nel portafoglio un UTXO esattamente da 1,5 BTC (ottenuto magari da una transazione precedente), avrebbe potuto usarlo direttamente come pagamento a Beatrice senza bisogno di resto.
Viceversa, se Anna volesse inviare 10 BTC ma non disponesse di un singolo UTXO di quell’importo, il suo wallet potrebbe combinare più UTXO (ad esempio uno da 7 e uno da 3 BTC) come input nella stessa transazione per raggiungere la cifra desiderata.
Bitcoin permette infatti di aggregare più input UTXO – un po’ come mettere insieme più banconote – per ottenere l’importo necessario a un pagamento più grande. Anche in questo caso, se il totale degli input supera l’importo da inviare, si otterrà un output di resto.
Dal punto di vista dell’utente finale, tutta questa gestione “a monete” è automatizzata dal software del wallet, che si occupa di selezionare di volta in volta gli UTXO migliori da usare (processo chiamato coin selection) e di calcolare l’eventuale resto e commissione.
L’utente quindi vede semplicemente un saldo totale e può inviare l’ammontare desiderato, mentre dietro le quinte il wallet spezzetta e combina UTXO secondo necessità.
Questa gestione a UTXO presenta sia vantaggi che alcune complessità, come vedremo in dettaglio più avanti. Prima però, ricapitoliamo i punti chiave del modello UTXO:
-
Nessun saldo “di conto”: in Bitcoin non esistono conti con un saldo incrementale, esistono solo UTXO che rappresentano “pezzi” di bitcoin. Il saldo di un indirizzo è la somma di tutti gli UTXO ad esso associati.
-
Transazioni = input + output: ogni transazione consuma uno o più UTXO esistenti (input) e crea uno o più nuovi UTXO (output). Gli input referenziano transazioni passate e portano le firme che autorizzano l’uso di quegli output. Gli output specificano nuovi destinatari e importi.
-
Spesa intera e resto: ogni UTXO può essere speso solo per intero. Se il suo valore eccede quanto serve pagare, il surplus deve tornare al mittente come nuovo UTXO di resto. Questo è analogo al funzionamento del contante con il meccanismo del resto.
-
Un UTXO, un’unica spesa: un output non speso diventa consumato solo quando viene usato come input in una transazione. Dopo di che, quell’output non esiste più come tale e non può essere riutilizzato altrove. Ciò rende semplice verificare la legittimità delle transazioni e prevenire doppie spese – ogni output può avere esito spent oppure unspent, senza ambiguità.
Chiarito il funzionamento di base, possiamo ora esaminare più da vicino quali vantaggi offre il modello UTXO e quali compromessi o limiti porta con sé, soprattutto in confronto ad altri approcci.

Vantaggi del Modello UTXO:Il design UTXO di Bitcoin è stato scelto non a caso, ma perché presenta diversi vantaggi chiave in termini di sicurezza, flessibilità e integrità del sistema.
Riassumiamo i principali benefici:
-
Sicurezza e integrità elevata: Il modello UTXO fornisce un registro chiaro di tutte le transazioni e rende molto semplice verificare la validità degli spend. Ogni nodo della rete può controllare autonomamente che un certo UTXO non sia mai stato speso prima, semplicemente vedendo se è presente nel set degli UTXO non ancora spesi. Ciò impedisce a monte tentativi di doppia spesa, una delle minacce principali nei sistemi di moneta digitale. Inoltre, la natura decentralizzata del set UTXO (ogni full node ne mantiene una copia aggiornata) aumenta la robustezza: non esiste un singolo punto di errore per la tenuta dei saldi, ma l’intera rete contribuisce a mantenerli corretti. In breve, il modello UTXO garantisce sicurezza e integrità al cuore delle attività finanziarie su blockchain.
-
Trasparenza e tracciabilità: Poiché ogni UTXO è un’entità separata con un’origine precisa, il modello UTXO offre un’ottima tracciabilità dei fondi. È possibile seguire lo storico di ogni singolo satoshi attraverso la catena di transazioni, dal momento in cui è stato creato (come ricompensa di mining) fino all’ultimo trasferimento, usando un blockchain explorer. Questo livello di dettaglio dà luogo a un sistema fortemente trasparente e verificabile. Ad esempio, per verificare la quantità totale di Bitcoin in circolazione basta sommare tutti gli UTXO esistenti nel set UTXO pubblico in un dato istante. Tale proprietà di contabilità verificabile è un vantaggio rispetto ai tradizionali registri bancari (dove bisogna fidarsi di un’autorità centrale per conoscere la massa monetaria) ed è anche uno dei motivi per cui Bitcoin viene talvolta descritto come un sistema a contabilità tripla. Anche l’anonimato ne beneficia: non essendoci conti legati a identità del mondo reale ma solo indirizzi e output, gli utenti godono di un certo livello di privacy integrata (ma vedremo più avanti i limiti di questa privacy).
-
Parallelismo e scalabilità delle verifiche: Un aspetto spesso citato a favore del modello UTXO è la possibilità di elaborare transazioni in parallelo in modo più agevole. Dal momento che ogni UTXO è indipendente dagli altri, i nodi (e i miner) possono validare più transazioni contemporaneamente finché esse non consumano lo stesso output. In un modello a conti, invece, due transazioni che interessano lo stesso account devono essere processate in ordine, perché condividono e aggiornano uno stato globale comune. Il modello UTXO, separando nettamente ogni “pezzo” di stato (ogni output), si presta a una maggiore parallelizzazione delle operazioni di verifica e di costruzione di transazioni, caratteristica utile per la scalabilità futura. Non a caso diverse blockchain orientate alle performance hanno adottato o esteso UTXO per sfruttare questo parallelismo (si pensi all’eUTXO di Cardano, di cui diremo più avanti).
-
Semplicità delle regole di spesa: La logica di una transazione UTXO è molto semplice. Un output può essere speso solo una volta e per intero. Questa regola rende la verifica automatica delle transazioni estremamente diretta (basta un controllo sullo status di ogni UTXO).
-
Privacy migliorata attraverso il controllo degli output: In Bitcoin gli utenti possono adottare pratiche per migliorare la loro privacy sfruttando il modello UTXO. Alcune analisi sostengono che il modello UTXO offra un livello di anonimato maggiore rispetto al modello account, perché incoraggia l’uso di indirizzi multipli e rende meno immediato tracciare un “saldo” legandolo a una sola identità. In pratica la privacy di Bitcoin non è completa (essendo una rete pubblica), ma è corretto dire che il design UTXO fornisce anonimato: le transazioni non sono direttamente collegate a identità personali, e ogni UTXO è solo un valore su un indirizzo senza nome.
In sintesi, il modello UTXO unisce robustezza e trasparenza in modo elegante: garantisce sicurezza (anti-manomissione e anti-doppia-spesa), consente un alto grado di parallelismo nelle operazioni e rende il sistema analizzabile con facilità.
Questi punti di forza spiegano perché Satoshi Nakamoto abbia optato per questo schema nel definire Bitcoin come contante elettronico peer-to-peer.
Tuttavia, nessuna soluzione è priva di compromessi: vediamo ora quali sono i principali svantaggi o limiti legati al modello UTXO.

Svantaggi e Limiti:Nonostante i numerosi benefici, il modello UTXO presenta anche alcune criticità e complessità che vale la pena evidenziare.
Ecco i principali svantaggi e limiti associati a questo sistema di gestione delle transazioni:
-
Complessità gestionale per wallet e utenti: Per chi è abituato ai tradizionali conti, il modello UTXO può risultare meno intuitivo. Il wallet deve gestire molte “banconote” (gli UTXO) al posto di un saldo unico, e ciò comporta operazioni extra come la coin selection (selezione degli output da spendere) e la gestione del resto. Dal lato utente, concetti come input, output e UTXO possono creare una barriera iniziale di comprensione. Mentre un account tradizionale mostra semplicemente quanto possiedi, un wallet Bitcoin deve calcolare il saldo aggregando più output. Fortunatamente i wallet moderni automatizzano quasi tutto, ma rimane il fatto che dietro le quinte il modello UTXO è più complesso da implementare correttamente.
-
Frammentazione e “dust”: Col tempo, un utente può accumulare molti UTXO di piccolo importo (detti dust, polvere) – ad esempio ricevendo tanti pagamenti minori o resti spezzettati. Questa frammentazione può diventare problematica: usare decine di input piccoli aumenta la dimensione (in byte) della transazione e quindi le commissioni da pagare ai miner. Inoltre, se un UTXO è talmente piccolo che la fee per spenderlo eccede il suo valore, di fatto diventa inutilizzabile (rimane lì come polvere inattiva). Ciò crea inefficienze e sporcizia nel set UTXO. Alcuni wallet permettono di consolidare automaticamente i dust UTXO quando le fee sono basse, unendo più piccoli output in uno più grande, ma non tutti gli utenti lo fanno. La presenza di tanti UTXO minuscoli inoltre appesantisce il database UTXO globale che ogni full node deve tenere.
-
Crescita del set UTXO e requisiti di spazio: Il set di tutti gli UTXO non spesi tende a crescere nel tempo, almeno finché nuovi utenti e transazioni si aggiungono al sistema. Questo significa che i full node devono conservare e gestire un database (ovvero l’intera blockchain) sempre più grande man mano che aumentano le transazioni storiche e gli output in circolazione. L’occupazione di storage può diventare significativa: nel 2025 il numero di UTXO Bitcoin è dell’ordine di diverse decine di milioni, e la blockchain occupa oltre 800 gigabyte di spazio per essere memorizzata. Un UTXO set molto grande può anche rallentare leggermente la verifica delle transazioni, perché controllare l’esistenza di un output in un database più vasto è meno efficiente. Per mitigare questo Bitcoin Core ha introdotto tecniche di UTXO set pruning (potatura) che permettono a un nodo di scartare dalla propria copia locale della blockchain gli UTXO più vecchi, riducendo l’impronta su disco.
-
Limitata possibilità di smart contract: Il modello UTXO “puro”, come implementato in Bitcoin, è poco flessibile in termini di programmabilità. Ogni output può includere uno script di blocco (con il famoso linguaggio Bitcoin Script) che definisce le condizioni per poterlo spendere, ma questi script non hanno memoria tra transazioni né la capacità di eseguire logiche troppo complesse. Questo è ottimo per transazioni semplici e per la sicurezza (Bitcoin Script è non Turing-complete di proposito), ma significa che non si possono creare facilmente applicazioni smart contract complesse su un modello UTXO standard come quello di Bitcoin. Per esempio, in Ethereum (modello a account) un contratto intelligente può mantenere uno stato interno e aggiornarlo ogni volta che viene invocato, mentre in Bitcoin ogni output è indipendente e “senza memoria” di ciò che è successo prima se non ricostruendo esternamente la catena di eventi. Alcune blockchain hanno affrontato questo limite introducendo estensioni al modello UTXO (vedi Extended UTXO di Cardano o il cell model di Nervos) per supportare smart contract avanzati – di fatto combinando il meglio dei due mondi.
-
Privacy non perfetta: Sebbene abbiamo citato l’anonimato come un vantaggio, è giusto menzionare anche il rovescio della medaglia. L’uso degli UTXO non garantisce anonimato completo: attraverso tecniche di chain analysis, gli osservatori possono spesso collegare più indirizzi come appartenenti alla stessa persona facendo ricerche incrociate. Ad esempio, se più UTXO vengono spesi insieme come input nella stessa transazione, è molto probabile che appartenevano allo stesso proprietario. Inoltre, se un utente riutilizza gli stessi indirizzi per più transazioni l’analisi diventa ancora più semplice. In un modello a conti ogni account è pubblicamente identificato con un indirizzo, il che è trasparente ma almeno separa nettamente gli utenti. Nel modello UTXO invece un utente può avere molte decine di indirizzi sparsi, ma le correlazioni tra di essi possono comunque tradirne l’identità. In pratica, società di analisi forense su blockchain sono in grado di catalogare gli UTXO e attribuirli a entità note (exchange, servizi o individui) con un certo grado di sicurezza, riducendo il livello di privacy effettiva. In sintesi, anche se il modello UTXO offre strumenti per migliorare la privacy, richiede disciplina nell’utilizzo (ad esempio cambiare indirizzo ad ogni transazione, non combinare fondi di provenienze diverse se non necessario, usare coinjoin ecc.) e non garantisce anonimato totale automaticamente.
Riassumendo, i principali punti deboli del modello UTXO riguardano la gestione della complessità (sia a livello utente che di implementazione), alcuni costi aggiuntivi in termini di spazio e frammentazione, e una minore immediatezza nel supportare funzioni avanzate come smart contract complessi.
Molti di questi limiti derivano da scelte progettuali fatte per massimizzare sicurezza e semplicità del nucleo di Bitcoin – ragion per cui alcuni li considerano compromessi accettabili.
Sta di fatto che, col maturare dell’ecosistema, si sono esplorati modi per mitigare questi svantaggi, come ad esempio software wallet più intelligenti per la gestione UTXO, protocolli di privacy come CoinJoin, o modelli ibridi per smart contract.
Nel prossimo paragrafo, approfondiremo proprio la ragione d’essere del modello UTXO nel contesto della visione originale di Bitcoin come “digital cash”, per capire perché questi compromessi furono ritenuti favorevoli rispetto ad un modello alternativo.

UTXO Contante Digitale:L’adozione del modello UTXO da parte di Bitcoin è strettamente legata alla sua missione di essere contante elettronico peer-to-peer.
Satoshi Nakamoto, nel whitepaper del 2008, delineò Bitcoin come un sistema di pagamento che emula molte delle proprietà della moneta contante tradizionale ma in forma digitale: pagamenti diretti tra pari, finalità immediata, nessuna fiducia in terze parti e impossibilità di spendere due volte lo stesso denaro.
Per realizzare tutto ciò in un contesto decentralizzato, era necessario un modello transazionale che garantisse l’impossibilità di ripudiare una transazione (non-repudiation) e allo stesso tempo si prestasse a controlli autonomi da parte dei nodi.
Il modello UTXO soddisfa brillantemente questi requisiti perché, come il contante, traccia l’unità di valore stessa (la singola moneta) invece che il saldo di un conto.
In Bitcoin, una moneta è rappresentata proprio dall’UTXO, e la sua identità è unica sulla blockchain: si può seguire il percorso di quell’unità di valore attraverso ogni scambio, un po’ come potremmo seguire il numero seriale di una banconota se fosse registrata ogni volta che passa di mano.
Quando trasferiamo un UTXO a qualcuno, stiamo in effetti trasferendo la proprietà di quella specifica unità, esattamente come nel consegnare del contante.
Questo rende ogni transazione isolata, senza dipendere da uno stato precedente di un conto, se non l’esistenza dell’output. Infatti Satoshi afferma “definiamo una moneta elettronica come una catena di firme digitali”: ogni proprietario firma un hash della transazione precedente più la chiave pubblica del successivo proprietario, trasferendo così la coin.
In tale descrizione è implicito il modello UTXO, ancor prima che il termine venisse coniato: la “coin” è rappresentata dalla catena di transazioni, e non da una voce su un conto.
Un altro aspetto della visione “contante digitale” è la fungibilità: idealmente ogni unità di Bitcoin dovrebbe essere intercambiabile e indistinguibile, come lo sono due banconote da 10€.
Il modello UTXO contribuisce alla fungibilità in quanto ogni output è indipendente: se Alice ha due UTXO da 5 BTC ciascuno, poco importa quali siano le loro origini, entrambi valgono 5 BTC e può usarli indifferentemente.
In un certo senso, il modello UTXO è agnostico: non importa “chi” possiede quanti bitcoin in totale, interessa solo che certi output esistano e siano spendibili da chi dimostra di avere la chiave. Questo si allinea bene con l’etica del cash elettronico senza intermediari.
Bitcoin doveva inoltre essere semplice e affidabile come infrastruttura di base, lasciando eventualmente livelli superiori o varianti per funzioni più complesse.
L’UTXO model ha il pregio di essere deterministico e senza complicate interdipendenze. Una transazione o è valida o non lo è, indipendentemente dall’ordine relativo di arrivo e senza condizioni variabili.
Ciò rientra nell’idea di contante: il contante non ha condizioni d’uso incorporate (a differenza di un contratto), è “al portatore” e chi ce l’ha può usarlo.
In conclusione, la scelta del modello UTXO è intimamente legata alla filosofia di Bitcoin: “Be your own bank” – ogni utente può verificare e controllare le proprie monete, che sono oggetti digitali concreti (output) e non meri numeri su un conto gestito da altri.
Questa impostazione getta le basi di un sistema di cash digitale decentralizzato, con proprietà di sicurezza e trasparenza superiori a quelle ottenibili in un modello centralizzato.
Naturalmente, altri progetti blockchain con obiettivi differenti (ad esempio massimizzare la flessibilità dei contratti smart) hanno preferito modelli alternativi. Nel prossimo paragrafo confronteremo esplicitamente il modello UTXO con il modello basato su account adottato da Ethereum, evidenziando differenze, pro e contro di ciascuno.

Il Modello Account-Based di Ethereum:Con Bitcoin e Ethereum come principali esponenti delle criptovalute, si sono affermati due diversi modelli contabili nelle blockchain pubbliche: UTXO vs Account-Based.
Bitcoin utilizza UTXO come abbiamo ampiamente descritto, mentre Ethereum (lanciato nel 2015) ha introdotto un modello basato su account e saldo, più simile a un registro bancario.
Entrambi i modelli hanno vantaggi specifici e sono adatti a determinati utilizzi. Vediamo le differenze principali:
-
Rappresentazione dello stato: Nel modello UTXO lo stato è l’insieme di tutti gli output non spesi esistenti. Non esiste un concetto diretto di “conto” o “indirizzo con saldo”, sebbene possiamo calcolare il saldo di un indirizzo sommando gli UTXO a esso associati. Nel modello Account-Based, lo stato consiste in account ciascuno con un saldo aggiornato. Ogni nodo mantiene una mappa globale degli indirizzi e dei rispettivi saldi, aggiornata transazione dopo transazione.
-
Modalità di spesa/trasferimento: In UTXO, una transazione spende output precedenti e crea nuovi output. In un account model, una transazione sottrae un importo dal saldo dell’account mittente e lo aggiunge al saldo del destinatario, modificando direttamente lo stato senza creare “oggetti” di output separati. Ciò significa che nel modello account si può spendere un saldo parzialmente senza generare resto.
-
Parallelismo e conflitti: UTXO consente di verificare transazioni in parallelo fintanto che non tentano di spendere lo stesso output. Nel modello account, qualsiasi transazione che incide sullo stesso account deve essere eseguita in sequenza secondo un ordine globale, poiché alterano la stessa unità di stato. Ethereum risolve la coerenza introducendo un nonce per ogni account, così da numerare le transazioni ed evitare la possibilità di doppie spese concorrenti.
-
Dimensione delle transazioni e costi: Le transazioni UTXO devono elencare esplicitamente tutti gli input (ognuno con firma) e gli output, e la loro dimensione in byte dipende dal numero di input/output. Una transazione account invece contiene solo il mittente, il destinatario, l’importo e la firma (oltre a eventuali dati per contratti), e il costo computazionale dipende più dal tipo di operazione che dal numero di fonti di fondi. Se si effettuano molti micro-pagamenti, l’account model tende ad essere più efficiente perché i fondi si accumulano in un unico saldo, mentre in Bitcoin quei micro-pagamenti generano tanti UTXO che poi vanno tutti spesi insieme (transazione più grande, quindi più fee). Inoltre, un pagamento di 100 destinatari in Bitcoin richiede 100 output, in Ethereum richiede 100 transazioni separate. Ci sono quindi pro e contro in entrambi i casi. Ethereum aggiunge anche il concetto di gas per ogni operazione, il che rende il confronto complesso.
-
Semplicità vs programmabilità: Il modello account è generalmente più intuitivo. Per utenti e programmatori è naturale ragionare in termini di “conti con saldi”. Questo facilita lo sviluppo di smart contract complessi. Ethereum ha scelto il modello account proprio perché rendeva più semplice implementare una macchina virtuale con contratti che modificano lo stato globale. D’altro canto, il modello UTXO è molto più semplice a livello transazionale di base – spendi input, crea output. In sintesi i sistemi account-based sono più adatti ad utilizzi come DeFi, NFT, DApp complesse, mentre UTXO eccelle nei pagamenti puri e semplici e può gestire funzionalità avanzate solo tramite protocolli di secondo livello o estensioni del modello.
-
Privacy e anonimato: Dal punto di vista della privacy, nessuno dei due modelli offre anonimato di default essendo registri pubblici, ma ci sono differenze di approccio. Nel modello UTXO, come detto, si può ottenere un certo livello di anonimità spezzando le transazioni in output multipli e usando nuovi indirizzi, complicando il tracciamento. Nel modello account, tutto ciò che accade su un account è per definizione legato a quell’indirizzo, rendendo più facile tracciare il comportamento finanziario di un ente nel tempo. Se vedo l’account 0xABC… inviare fondi a vari altri, so che è sempre la stessa entità che lo fa: le relazioni sono esplicite per ciascun account. In generale un account model espone più chiaramente le informazioni, mentre il modello UTXO distribuisce l’informazione su molti output, rendendo alcune analisi più ardue ma non impossibili. Dal punto di vista normativo, i sostenitori di UTXO notano che è più semplice implementare funzionalità di privacy avanzata sul modello UTXO (si veda ad esempio Zcash, che basa su UTXO le sue transazioni blindate), mentre Ethereum sta ancora studiando soluzioni di privacy on-chain compatibili col modello account.
In definitiva, UTXO vs Account non è una gara con un vincitore assoluto, ma una scelta di design legata agli obiettivi del progetto. Bitcoin tramite UTXO privilegia sicurezza, semplicità e analogia col cash, Ethereum tramite accounts privilegia flessibilità, velocità di sviluppo e capacità computazionale interna. La tabella seguente riassume alcune differenze chiave tra i due modelli:
| Aspetto | Bitcoin – Modello UTXO | Ethereum – Modello Account-Based |
|---|---|---|
| Unità di valore | UTXO (output non speso), entità discreta con importo e condizione di spesa. Il saldo di un utente è la somma degli UTXO controllati dal suo insieme di chiavi. | Account con balance globale. Ogni account ha un saldo che viene incrementato o decrementato dalle transazioni. Non esistono “output” separati, solo trasferimenti di saldo. |
| Modalità di transazione | Consuma UTXO esistenti come input e crea nuovi UTXO come output. È necessario spendere interamente gli output; se l’importo eccede, si genera resto. Ogni transazione ha almeno un input e un output, potenzialmente multipli. | Aggiorna saldi: sottrae dal mittente e aggiunge al destinatario. Si può spendere qualsiasi importo fino al saldo disponibile (parzialmente). Non c’è resto, la transazione modifica direttamente due (o più) voci di saldo. |
| Parallellismo | Elevato: transazioni indipendenti (che non condividono UTXO) possono essere validate in parallelo. Minore rischio di conflitti, tranne quando due tx competono per lo stesso output (doppia spesa). | Limitato: transazioni sullo stesso account devono essere serializzate (uso di nonce). Il throughput risente di conflitti se molti tx coinvolgono un account “hot”. Più difficile parallelizzare a livello di singolo account. |
| Sicurezza | Double-spending prevenuto a livello strutturale: un UTXO può essere speso solo una volta, i nodi rifiutano automaticamente tentativi duplicati. | Double-spending prevenuto tramite il meccanismo di nonce e validazione del saldo sufficiente. Richiede attenzione all’autenticazione e alla sicurezza delle chiavi private degli account (se una chiave è compromessa, l’attaccante può trasferire tutto il saldo dell’account in un colpo solo). |
| Dimensione dello stato | L’UTXO set può crescere (molti output piccoli). Richiede gestione da parte dei nodi (pruning, ottimizzazioni). La dimensione della blockchain + UTXO set definisce lo storage necessario. | Il database cresce col numero di account e contratti e con la complessità dei dati memorizzati nei contratti. |
| Programmabilità | Limitata on-chain: script semplici e stateless. Difficile implementare logiche complesse che richiedano memoria o interdipendenze. Necessarie soluzioni off-chain o layer2 per funzionalità avanzate come Lightning Network per pagamenti istantanei, e sidechain per smart contracts. | Altissima: supporto nativo per smart contract Turing-complete. Possibilità di mantenere stato arbitrario in un contratto. Ideale per DApp, DeFi, NFT, ma con costi di gas e potenziali problemi di complessità (bug, exploit nei contratti). |
| Privacy | Anonimo: gli indirizzi non sono legati all’identità, e usando sempre nuovi indirizzi per gli output si può ottenere un certo grado di anonimato. Tuttavia, analisi forensi possono correlare UTXO e indirizzi comuni riducendo la privacy. Esistono estensioni come Coinjoin o UTXO riservati per migliorare la privacy. | Trasparente: ogni account ha un indirizzo fisso e tutte le transazioni in uscita da quell’account sono ovviamente collegate a esso. Più facile tracciare il comportamento di un singolo indirizzo nel tempo. La privacy deve essere ottenuta tramite mixer, trasferimenti off-chain o futuri protocolli di privacy. |
Non sorprende che Bitcoin ed Ethereum abbiano fatto scelte diverse: servono scopi diversi. Interessante notare come negli ultimi anni ci sia anche convergenza e contaminazione: Ethereum sta esplorando soluzioni per migliorare parallelismo e privacy (come sharding e zkRollups), mentre blockchain derivate da Bitcoin stanno introducendo programmabilità maggiore (Script più avanzati, o modelli UTXO estesi).

Blockchain con il Modello UTXO:Oltre a Bitcoin, esistono diverse altre blockchain che utilizzano un modello UTXO o sue varianti, spesso per sfruttarne i vantaggi di sicurezza e scalabilità.
Eccone alcune tra le più note:
-
Litecoin, Bitcoin Cash e altre derivate di Bitcoin: Molte criptovalute nate come fork del codice di Bitcoin (Litecoin, Bitcoin Cash, Dash, Dogecoin, etc.) impiegano lo stesso identico modello UTXO di Bitcoin. La scelta in questi casi è storicamente dovuta alla parentela tecnica con Bitcoin – adottando il suo protocollo, hanno ereditato UTXO nativamente. I vantaggi sono dunque gli stessi di Bitcoin (robustezza e affidabilità provata), con modifiche altrove (ad esempio Litecoin punta su blocchi più rapidi ma la logica delle transazioni resta UTXO).
-
Cardano (ADA): Cardano ha adottato un modello Extended UTXO (eUTXO), una versione generalizzata dell’UTXO di Bitcoin progettata per supportare smart contract e asset multi-valuta. La scelta di Cardano è stata guidata dal desiderio di unire il meglio di entrambi i modelli: la sicurezza, la prevedibilità e il parallelismo del modello UTXO, con la programmabilità dei contratti intelligenti tipica del modello account. In Cardano, ogni output può trasportare non solo un valore in ADA ma anche dati arbitrari e logica di validazione (script), consentendo contratti più complessi ma mantenendo la transazionalità in stile UTXO.
-
Ergo (ERG): Anche Ergo adotta un modello UTXO esteso simile a Cardano. In effetti, Ergo è stata una delle prime piattaforme a implementare smart contract su UTXO con il cosiddetto Extended UTXO model, influenzando anche la direzione presa poi da Cardano. La filosofia di Ergo è fornire una blockchain altamente sicura e decentralizzata, orientata a dApp finanziarie, con enfasi su funzionalità avanzate come contratti estesi, privacy e scalabilità.
-
Nervos CKB (CKB): Nervos è una blockchain layer1 che implementa il Cell model, sostanzialmente un modello UTXO generalizzato. Le cell di Nervos funzionano come UTXO che possono contenere dati arbitrari e codice, fungendo da base sia per semplici trasferimenti sia per contratti più complessi. La scelta di Nervos deriva dalla volontà di progettare una base multi-asset e multi-layer che massimizzi sicurezza e flessibilità. Il team Nervos sostiene che il modello UTXO offre privacy migliorata e parallelismo, mentre il modello account offre semplicità, e il loro cell model mira a combinare il meglio di entrambi.
-
Bitcoin SV, e altre varianti scale-up UTXO: Vale la pena citare che anche progetti come Bitcoin SV (un fork di Bitcoin Cash) hanno mantenuto UTXO e anzi puntano a dimostrare che il modello UTXO può scalare on-chain con blocchi enormi e throughput elevati. BSV ad esempio sostiene di poter processare migliaia di transazioni al secondo mantenendo UTXO grazie a implementazioni molto ottimizzate e hardware scalabile, enfatizzando così l’efficienza dell’elaborazione parallela del modello UTXO.
-
Monero: usa un modello UTXO con forti modifiche per la privacy (ring signatures, decoy UTXO), dimostrando ancora la versatilità di questa struttura nel supportare caratteristiche aggiuntive come l’anonimato.
In generale, molte blockchain di terza generazione stanno rivalutando il modello UTXO per i loro ledger: progetti in ambito interoperabilità e layer 2 spesso preferiscono UTXO perché più facile da gestire in parallelo e più vicino al modello di validazione UTXO di Bitcoin che è ben collaudato.
Anche alcune implementazioni di sidechain o drivechain di Bitcoin manterranno il paradigma UTXO. Insomma, l’UTXO model non è affatto relegato al solo Bitcoin, ma viene scelto da chi vuole costruire su un’idea di “bitcoin 2.0” migliorando alcuni aspetti ma senza stravolgerne il funzionamento di base.
Tale tendenza ha portato anche alla creazione di una sorta di UTXO Alliance fra progetti (Cardano, Ergo, Nervos, ecc.) per collaborare su standard e ricerca comune, segno che c’è convinzione sulle potenzialità future di questo modello.

Conclusioni:Il modello UTXO di Bitcoin ha introdotto un vero e proprio cambio di paradigma nel modo di pensare le transazioni digitali, passando da una logica basata sui conti a una logica basata sugli output non spesi, analoga al maneggiare monete contanti.
Una riflessione che emerge è che non esiste un modello unico perfetto per tutti gli usi: UTXO e Account-Based coesistono e probabilmente continueranno a farlo, ognuno ottimizzato per determinati scenari.
Per gli appassionati di criptovalute, comprendere UTXO significa afferrare l’essenza di come Bitcoin mantiene le sue promesse di decentralizzazione e sicurezza.
Significa anche apprezzare le scelte di design che hanno influenzato e continuano a influenzare molti altri ecosistemi.
Che il futuro veda più blockchain adottare UTXO, o magari nuove forme ibride, resta il fatto che questo modello ha lasciato un segno indelebile nell’informatica delle criptovalute.
In un’epoca in cui si parla di contratti programmabili, sharding e soluzioni layer 2, il concetto di un semplice elenco di “output non spesi” su cui si basa tutto rimane sorprendentemente elegante e potente.
Cos’è Bitcoin, Come Funziona, i Vantaggi, i Limiti, Cosa Permette di Fare e Perché è Importante
Come Recuperare Bitcoin BTC Inviati per Sbaglio a Indirizzo Bitcoin Cash BCH
Come Comprare Bitcoin e Custodirlo al Sicuro in un Wallet Hardware per Criptovalute
Come Creare un Nodo Bitcoin Personale. E Diventare Node Operator a Costo Zero – Guida Gratuita













