Cosa Sono gli eUTXOs?
6 febbraio 2024

Gli eUTXOs, o Extended Unspent Transaction Outputs, offrono un modo distinto di creare smart contract e costruire dApp su blockchain simili a Bitcoin. Il modello eUTXO è fondamentalmente diverso dal modello basato su account di Ethereum e da molte altre catene di smart contract, e presenta vari vantaggi e compromessi.
Cos'è un UTXO?
Un UTXO è un Unspent Transaction Output, o un blocco di monete che sono il risultato di una transazione e che non sono state successivamente spese dall'indirizzo ricevente. Gli UTXO sono un concetto importante per Bitcoin e blockchain simili, incluso Ergo.
In tali sistemi, il saldo di un indirizzo non è memorizzato sulla blockchain come un singolo valore. Invece, è la somma di una collezione di singoli "output" spendibili da transazioni nell'indirizzo, ognuno dei quali rappresenta una certa quantità di monete. Questi output individuali sono gli UTXO.
Come Funzionano gli UTXO?
Gli UTXO sono un mezzo per tracciare i saldi sulla blockchain. Quando un utente avvia una transazione, sta essenzialmente spendendo uno o più UTXO che controlla nel proprio wallet. Gli output di una transazione creano nuovi UTXO per i destinatari e, potenzialmente, un saldo di "cambio" di monete UTXO per il mittente se c'è qualcosa di avanzato.
Ad esempio, Alice vuole inviare a Bob 20 ERG. Il suo indirizzo contiene UTXO di 15, 10, 7, 6 e 3 ERG. Seleziona gli UTXO di 15 e 6 ERG (è importante notare che questo passaggio è tipicamente gestito automaticamente dal wallet crypto, ma può essere fatto manualmente) e invia 20 ERG a Bob. Bob ora ha un UTXO di 20 ERG nel suo wallet, e Alice riceve "cambio" sotto forma di un UTXO di 1 ERG.
Alice avrebbe potuto combinare qualsiasi numero di UTXO per un totale di almeno 20 ERG da inviare a Bob, ma più UTXO vengono utilizzati, maggiore è la quantità di dati che devono essere memorizzati sulla blockchain e più alta è la commissione di transazione.
Gli UTXO inviati nelle transazioni sono considerati non spesi fino a quando non vengono utilizzati in una transazione futura. A questo punto, diventano parte di un nuovo UTXO.
Gli UTXO sono quindi un po' come buste di denaro. Un utente può detenere molte di queste buste e può combinarle in transazioni. Qualsiasi nuovo cambio (fondi in eccesso rispetto all'importo della transazione) risultante dalle transazioni va in una nuova busta e viene trattenuto dal mittente.
Gli utenti pagano anche una piccola commissione di transazione ai miner, che è semplicemente la differenza tra l'input totale e gli output totali, incluso il cambio. (Su Ergo, questo è tipicamente 0.0011 ERG per una transazione semplice.)
Ogni moneta sulla blockchain appartiene quindi a un UTXO. Qualsiasi moneta può essere tracciata attraverso i precedenti blocchi di monete UTXO, fino alla transazione in cui è stata creata per la prima volta (cioè quando è stata estratta).
Questo è il modo in cui le blockchain simili a Bitcoin tracciano i saldi e garantiscono l'affidabilità delle transazioni. Ogni transazione deve fare riferimento a UTXO validi e non spesi per essere considerata legittima. Il modello UTXO fornisce trasparenza e consente a chiunque di verificare indipendentemente la proprietà e la validità dei bitcoin ispezionando la blockchain.
Gli UTXO rappresentano quindi i mattoni della proprietà e delle transazioni nei sistemi simili a Bitcoin.
Cos'è il Modello Basato su Account?
L'alternativa principale al modello UTXO è l'approccio basato su account. Questo è utilizzato da molte blockchain, incluso Ethereum. Un modello basato su account funziona in un modo completamente diverso rispetto alle catene UTXO per tracciare lo stato della blockchain.
Come Funziona il Modello Basato su Account?
In una blockchain basata su account, le transazioni sono gestite attraverso account associati a indirizzi. Ogni utente ha un account con un saldo, proprio come un conto bancario ha un saldo, e le transazioni comportano addebiti e accrediti di questi saldi.
Lo stato del libro mastro viene aggiornato per riflettere le modifiche nei saldi degli account dopo che le transazioni sono state eseguite. Questo modello offre un controllo più granulare sui saldi degli utenti (poiché non c'è bisogno di output di cambio) ma ha proprietà diverse, e vari pro e contro.
UTXO Vs Account: Vantaggi e Svantaggi
Come in qualsiasi sistema, ci sono vantaggi e svantaggi nell'utilizzare il modello UTXO o l'approccio basato su account.
Vantaggi del modello UTXO:
- Tracciamento semplificato dello stato: Ogni UTXO rappresenta una specifica quantità di criptovaluta e la sua proprietà, rendendo il tracciamento dello stato della blockchain diretto.
- Privacy: Il modello UTXO può migliorare la privacy se utilizzato correttamente, poiché le singole transazioni non sono direttamente collegate alle identità degli utenti.
- Elaborazione parallela: Gli UTXO possono essere elaborati in parallelo, consentendo una verifica e una validazione più rapide delle transazioni, contribuendo potenzialmente alla scalabilità.
- Tracciamento chiaro della proprietà: È semplice risalire all'origine e al detentore attuale di una specifica quantità di monete.
- Riduzione del bloat della blockchain: Poiché gli UTXO spesi vengono rimossi dal set UTXO, l'utilizzo del modello UTXO può aiutare a ridurre il bloat della blockchain, portando a uno storage più efficiente.
Svantaggi del modello UTXO:
- Sfide di scripting: A causa della natura del modello UTXO, lo scripting funziona in modo diverso rispetto alle piattaforme basate su account, quindi può essere più difficile costruire dApp se gli sviluppatori sono abituati a un approccio più convenzionale.
- Smart contract meno espressivi: La semplicità del modello UTXO può limitare la complessità degli smart contract, anche se ci sono modi per affrontare questo.
- Scalabilità: Man mano che il numero di UTXO detenuti sulla blockchain cresce, possono sorgere sfide di scalabilità.
- Utilizzo delle risorse: Il modello UTXO può portare a un utilizzo delle risorse meno efficiente, poiché spendere monete comporta il consumo di interi UTXO, anche se l'importo della transazione è basso.
Cosa Sono gli eUTXOs?
Come esplorato sopra, nel modello UTXO standard (come utilizza Bitcoin), ogni transazione richiede UTXO esistenti come input e crea nuovi UTXO come output.
Il modello UTXO esteso o "eUTXO" espande questo concetto consentendo agli UTXO di contenere informazioni aggiuntive, come scripting complesso o logica di smart contract.
Il vantaggio di questo approccio è che gli utenti possono comunque godere dei benefici del modello UTXO, inclusi sicurezza e semplicità, ma la piattaforma può anche fornire capacità di smart contract. Cardano è una blockchain ben nota che sfrutta il modello eUTXO per abilitare smart contract sulla sua rete. Anche Ergo è un'altra.
Come Funzionano gli eUTXOs?
Il modello eUTXO estende il modello standard delle monete UTXO in due modi:
- Gli indirizzi possono contenere logica aggiuntiva negli script che forniscono ulteriori condizioni e informazioni. Quando la transazione viene estratta da un nodo, il nodo controlla ed esegue lo script se le condizioni sono soddisfatte.
- Gli output possono includere dati aggiuntivi, consentendo script più potenti e flessibili.
Tutto ciò consente una logica complessa che può contenere molte condizioni e informazioni diverse. Questa logica arbitraria viene applicata a una transazione dal validatore e viene elaborata se la transazione è autorizzata a utilizzare un determinato input.
Vantaggi e Svantaggi degli eUTXO
Come si può vedere dalla panoramica sopra, utilizzare UTXO come base per smart contract ha varie implicazioni. Alcune di queste offrono vantaggi significativi rispetto agli smart contract basati su account, ma come in qualsiasi sistema, ci sono compromessi.
Una caratteristica del modello eUTXO è che una transazione viene convalidata solo in base alla transazione stessa e ai suoi input, senza richiedere nient'altro sulla blockchain. Un'implicazione interessante e utile di questo è che una transazione può essere controllata per validità off-chain prima che la transazione venga inviata per la validazione. Dopo essere stata controllata, la transazione sarà garantita per avere successo (finché un'altra transazione non ha consumato i suoi input nel frattempo). Gli eUTXO sono quindi più prevedibili e affidabili rispetto alle transazioni di smart contract basate su account, che possono fallire mentre vengono elaborate. Su Ethereum, ad esempio, è possibile che una transazione consumi gas significativo e fallisca comunque, costando all'utente senza alcun beneficio.
Un'altra implicazione di questa affidabilità è che tutte le commissioni richieste per la transazione possono essere calcolate prima che la transazione venga inviata. I sistemi basati su account come Ethereum sono indeterministici, il che significa che non solo la transazione può fallire, ma che anche se ha successo, il costo esatto non è noto. Con il modello eUTXO, le commissioni sono predeterminate e prevedibili.
La privacy tende a essere migliore con il modello eUTXO e la logica delle transazioni tende a essere più semplice perché un UTXO può essere consumato solo una volta (e nella sua interezza). Aumenta anche la possibilità di elaborazione parallela, poiché più UTXO possono essere elaborati insieme (purché non tentino di utilizzare lo stesso input UTXO). La gamma di possibili risultati è molto più limitata rispetto a un sistema basato su account, rendendo l'esecuzione più prevedibile e sicura.
Contro tutto ciò, il modello eUTXO è abbastanza diverso da un modello basato su account, che è quello con cui la maggior parte degli sviluppatori è familiare (poiché Ethereum adotta questo approccio). Le dApp create per Ethereum e blockchain simili non possono essere facilmente adattate per l'uso su piattaforme eUTXO.
Differenze Chiave Tra eUTXO Vs UTXO Vs Modello Basato su Account
Gli UTXO rappresentano output semplici non spesi che possono essere utilizzati in nuove transazioni. Questo è un modello contabile semplice e sicuro utilizzato dalla blockchain di prima generazione: Bitcoin.
eUTXO estende questo approccio e lo generalizza, in modo che i validatori possano prendere una decisione su se un UTXO è speso in base a una vasta gamma di condizioni – consentendo la costruzione di smart contract ampi e espressivi, mantenendo la semplicità e la sicurezza della base UTXO.
Eseguire smart contract su un sistema basato su account può essere più complicato e potenzialmente meno sicuro, a causa del modo in cui i dati sono memorizzati e delle modifiche apportate.
In un sistema eUTXO, le monete UTXO sono o spese o non spese nella loro interezza. In un sistema basato su account, ogni account è mutabile e gli smart contract possono modificare il loro stato durante l'esecuzione. Questo può portare a interazioni complesse e talvolta difficili da prevedere tra diversi contratti. Le modifiche allo stato di uno smart contract possono influenzare altri, quindi potrebbero esserci potenziali conflitti da considerare. Questo non è possibile con il modello eUTXO. Poiché gli UTXO sono indipendenti, sono isolati e l'esecuzione degli smart contract è più deterministica e sicura - le modifiche a una parte del libro mastro non influenzano direttamente le altre. Le condizioni di spesa sono chiare e facili da verificare. Allo stesso modo, il calcolo del gas è noto e prevedibile.
Contro tutto ciò, le blockchain basate su account offrono generalmente maggiore flessibilità per smart contract complessi e applicazioni decentralizzate, poiché lo sviluppo è tipicamente più semplice e i contratti possono accedere e interagire facilmente con altri contratti – anche se questo comporta un rischio maggiore e la possibilità che vulnerabilità possano essere introdotte involontariamente. Un approccio basato su eUTXO è spesso preferibile, a parità di condizioni, per determinati tipi di dApp.
Conclusione
Gli eUTXOs offrono un modo fondamentalmente diverso di affrontare smart contract e applicazioni decentralizzate rispetto al modello basato su account prevalente. Sebbene in alcuni aspetti possa sembrare più limitato, il modello eUTXO è generalmente più sicuro e prevedibile, rimuovendo alcune delle vulnerabilità più gravi associate agli smart contract.
Share post
13 agosto 2025
9 luglio 2025
12 maggio 2025
7 agosto 2022




















