Costruire Ergo: UTXO vs Account
3 marzo 2020

Ergo prende le caratteristiche più sicure e consolidate di Bitcoin e implementa avanzate nuove funzionalità crittografiche sulle sue solide fondamenta. Questa serie esplora le scelte che abbiamo fatto nella creazione di Ergo, con il primo articolo che analizza i vantaggi del modello UTXO.
Quando si tratta di valore finanziario, non si possono correre rischi. Ogni decisione architettonica in una piattaforma di criptovaluta ha delle implicazioni. Anche se ci sono modi diversi per risolvere lo stesso problema, alcune soluzioni sono meglio testate e più affidabili di altre.
Come Bitcoin, Ergo utilizza il modello ‘UTXO’ (output di transazione non spesi), piuttosto che il modello Account utilizzato da piattaforme come Ethereum. Ci sono diverse ragioni per cui abbiamo fatto questa scelta, ma prima vale la pena spiegare un po' come funziona il modello UTXO o ‘Box’.
La maggior parte delle persone pensa che il saldo di un account sia un numero semplice che viene aggiornato quando si inviano o ricevono fondi. Questo è il modo ovvio di affrontare il problema; dopotutto, è effettivamente come funziona il denaro nel mondo reale. Il tuo conto bancario ha un saldo che aumenta o diminuisce quando vengono effettuati trasferimenti in entrata e in uscita. Questo è il modo in cui opera il modello ‘Account’: il tuo saldo sulla blockchain viene modificato da transazioni verso e dall'account.
Quanto impasto?
Il modello UTXO, pionierato da Bitcoin, è piuttosto diverso. Puoi pensare a questo un po' come a una persona che tiene una serie di pezzi di impasto per pane. Il loro saldo è la somma di questi pezzi, o UTXO. I pezzi possono essere divisi o combinati, prima di essere inviati a un nuovo indirizzo, ma sai sempre da dove provengono. Ad esempio:
Alice ha 100g di impasto per pane (100 ERG). Rompe un pezzo di 75g e lo dà a Bob, tenendo 25g di ‘resto’ per sé.
Charlie ha 250g di impasto. Rompe 150g e li dà a Bob, tenendo 100g di resto per sé.
Bob rompe 20g di impasto dal pezzo di 150g che ha ricevuto da Charlie e combina i 130g risultanti con i 75g che ha ricevuto da Alice. Dà il totale di 205g a Dave, tenendo i 20g di resto per sé.
Dave ora ha 205g di impasto per pane, che apparteneva a Charlie. Prima che Charlie lo possedesse, 75g appartenevano ad Alice, mentre 130g appartenevano a Bob.
Nel modello UTXO, i ‘pezzi’ di monete possono essere combinati e divisi, ma a differenza dell'impasto per pane, non vengono mescolati insieme. Puoi seguire la storia dei fondi fino alla transazione coinbase in cui quelle monete sono state estratte per la prima volta. Questo è molto diverso dal modello Account, dove il saldo di ciascun account viene semplicemente modificato. (Puoi, ovviamente, controllare la blockchain per assicurarti che l'Account dica ciò che dovrebbe, ma non è intrinsecamente necessario come nel caso dell'approccio UTXO.)
Perché UTXO?
Il modello UTXO ha diverse implicazioni. Per cominciare, ogni oggetto è immutabile: i pezzi di monete non possono essere ‘modificati’ come viene modificato un saldo di Account quando viene effettuata una transazione. Il saldo è calcolato dalla cronologia delle transazioni, fino al punto in cui quelle monete sono venute per la prima volta in esistenza.
Questo rende la sicurezza molto più semplice, perché o un UTXO esiste nella forma che ti aspetti, o non esiste affatto. Con il modello account, devi controllare attentamente che l'account con cui stai trattando sia nello stato in cui dovrebbe essere (e gli sviluppatori di solito non lo fanno correttamente). Questo rende anche gli UTXO più amichevoli per i protocolli offchain, come le sidechain e il Lightning Network.
Gli account rendono più facile memorizzare lo ‘stato’, ma facile non significa sempre migliore. Con il modello UTXO esteso di Ergo, le transizioni di stato sono più esplicite e quindi più pulite: non ci sono sorprese indesiderate. Potrebbe essere un po' più gravoso da gestire, ma è molto meglio e più diretto in termini di sicurezza.
Share post
13 agosto 2025
9 luglio 2025
12 maggio 2025
7 agosto 2022




















