UTreeXO è una proposta di miglioramento ideata da Tadje Dryja, che cerca di migliorare la gestione dell'UTXO della blockchain di Bitcoin, comprimendolo in un semplice hash riproducibile da tutti gli attori della rete.
UUno dei miglioramenti in preparazione Bitcoin (BTC) è noto come UtreeXO, un progetto che cerca di aiutarci a ridurre i problemi che si verificano con la gestione del uscite non spese (UTXO) all'interno blockchain. Ma cosa fa effettivamente UtreeXO? Come puoi aiutarci? Bene, questo è esattamente ciò che saprai dopo.
UtreeXO, migliorare il controllo di UTXO in Bitcoin
Gli UTXO sono un meccanismo progettato per identificare le monete inutilizzate all'interno di un indirizzo Bitcoin. Per vederlo più facilmente, tieni presente questo esempio:
María ha deciso di pagare Juan per un vecchio debito, corrispondente a 200€ in Bitcoin. Per fare questo, Maria apre la sua borsa, prepara la transazione e invia il saldo a Juan. A quel punto, Juan può vedere la transazione non confermata e, una volta confermata, Juan ha finalmente il suo saldo e Maria il suo debito pagato. In questo esempio ci sono tre punti:
- Maria usa il saldo disponibile per pagare Juan. Questo saldo disponibile fa parte dell'UTXO (monete in suo possesso che non sono state spese) che Maria ha a sua disposizione.
- Il pagamento è effettuato, Maria passa la proprietà di quelle monete a Juan, creando una transazione con un'entrata (usando il suo saldo disponibile, l'UTXO) e un'uscita (che assegna le monete a Juan) e nel caso ci sia un cambiamento è crea un secondo output che restituisce detto equilibrio a Maria.
- Juan riceve il pagamento da María e i biglietti di María (il saldo UTXO che aveva a sua disposizione) diventano ora il saldo disponibile di Juan, essendo ora i suoi futuri UTXO.
Questo modello UTXO è la base della contabilità dei pagamenti Bitcoin, ed è un modo intelligente per impedire che le monete escano dal nulla all'interno di Bitcoin o che qualcuno utilizzi monete che non sono realmente in loro potere. Cioè, gli UTXO sono fondamentali in Bitcoin.
Il problema con il modello UTXO di Bitcoin
Tuttavia, questo modello genera anche un problema, e cioè che genera un'enorme quantità di informazioni che alla fine fa crescere in modo sproporzionato le dimensioni della blockchain. Non solo, rende sempre più complesso e difficile la verifica completa della blockchain, rallentando il processo di sincronizzazione dei nodi.
Per risolvere questo problema e ridurre la dimensione delle informazioni UTXO all'interno della blockchain, Tadje Dryja, co-creatore di Lightning Network, ha presentato UtreeXO. L'idea alla base di questo miglioramento è quella di fornire a Bitcoin un sistema che permetta di sfoltire correttamente, e verificabile crittograficamente, il set di dati UTXO della blockchain di Bitcoin in un hash.
Cioè, UtreeXO è un accumulatore basato su hash. Per raggiungere questo obiettivo, UTreeXO prende i dati UTXO dalla blockchain e trasforma quei dati in un enorme albero (simile a albero di merkle). Questo albero viene quindi sintetizzato in un hash radice che sintetizza tutto quel set di dati. Il sistema è cumulativo, quindi la creazione di un nuovo hash richiede semplicemente una copia dell'hash precedente, con i dati UTXO precedenti, generando il processo di accumulo e di conseguenza si ottiene il nuovo hash.
Questo compito sarebbe nelle mani dei cosiddetti nodi di compattazione, e consentirebbero di mantenere la rete sincronizzata rispetto ai dati UTXO e UtreeXO come richiesto. Ciò garantisce che il sistema non possa essere manomesso, che possa essere verificato pubblicamente e che il sistema non interrompa l'attuale funzionamento di Bitcoin.
Come funziona UtreeXO?
Il problema della scalabilità in Bitcoin diventa sempre più serio. Prima di tutto, abbiamo che ogni giorno sempre più persone creano i loro portafogli e iniziano a utilizzare la rete Bitcoin. Questo maggiore afflusso di persone all'interno della rete Bitcoin aumenta il volume delle informazioni (più transazioni e informazioni all'interno della rete), informazioni che i nodi devono gestire e che devono essere registrate sulla blockchain. Tra questi dati vi è l'informazione dell'UTXO (Unspent Transaction Output).
Detto questo, i nodi compatti di UtreeXO iniziano il loro ruolo quando viene creata una nuova transazione e viene trasmessa attraverso la rete. A quel punto il nodo prende la transazione, esegue una prova crittografica del fatto e rigenera l'albero UTXO della catena, per ottenere l'hash finale. La prova di inclusione (la prova crittografica dell'UTXO) viene quindi inviata insieme alla transazione e archiviata sulla blockchain.
Da quel momento in poi, ogni nodo compatto UtreeXO inoltra la transazione e la prova crittografica ad altri nodi compatti. In questo modo viene generato un consenso sull'albero UTXO della catena, e viene abilitata la verifica pubblica di tutte queste informazioni. Alla fine, quando la transazione è inclusa in un blocco, tutti i dati del test vengono scartati. Ciò significa che i nodi compatti possono mantenere transazioni e test nella loro memoria. Pertanto, non ci sono informazioni da scrivere sul disco rigido.
Una soluzione intensificata
Oltre ai nodi compatti di UTreeXO, ci sono anche i nodi bridge di UTreeXO. La funzione di questi nodi è quella di ricevere dalla rete le transazioni standard (quelle che inizialmente non sono formattate per utilizzare UtreeXO) ed eseguire tutte le operazioni necessarie per essere incluse nell'albero. Per raggiungere questo obiettivo, i nodi bridge contengono l'intera storia della blockchain e l'elenco completo di UTXO. Quindi il suo ruolo è quello di ricevere le informazioni dai nodi completi e creare una prova dell'esistenza di fondi non spesi sulla base dell'elenco UTXO. Fatto questo punto, questa informazione viene inoltrata con il rispettivo test ai nodi compatti.
A questo punto è necessario sottolineare che la presenza del nodo bridge è necessaria solo quando un full node standard invia dati ad un nodo compact. D'altra parte, il nodo compatto invia solo i dati della transazione al nodo completo standard bypassando la prova crittografica dei fondi. In breve, questo sistema consente l'implementazione di UTreeXO in un ambiente retrocompatibile, in cui i nodi standard e UtreeXO possono funzionare senza problemi.
Obiettivi di UtreeXO
L'obiettivo principale di UtreeXO è ridurre la quantità di informazioni necessarie ai nodi per verificare la disponibilità degli UTXO. In questo modo, dovrebbero solo memorizzare una copia delle informazioni sulla proprietà della transazione. E accanto a queste informazioni, una prova crittografica delle informazioni sugli UTXO. Di conseguenza, la potenza di calcolo e i requisiti di archiviazione dei dati dei nodi vengono drasticamente ridotti, migliorando al contempo la disponibilità di risorse e larghezza di banda in tutta la rete.
Allo stesso tempo, consente di offrire una maggiore scalabilità alla rete Bitcoin in alcuni punti. Ciò è possibile grazie alla riduzione del flusso di dati all'interno della rete, che riduce notevolmente l'utilizzo della larghezza di banda e, allo stesso tempo, riduce i tempi di verifica delle transazioni.
Pro e contro di UtreeXO
Vantaggi
- Tra i suoi pro, c'è il miglioramento della velocità delle transazioni in Bitcoin. Questo fornendo una maggiore scalabilità a fronte dell'enorme quantità di informazioni che viene gestita in rete a causa dell'aumento del volume delle transazioni.
- Riduzione della quantità di informazioni memorizzate nei nodi della rete Bitcoin.
- Mantiene la sicurezza e la privacy delle transazioni. Ciò è possibile in quanto viene trasmessa solo la prova dell'esistenza dei fondi senza includere ulteriori dettagli. In questo modo si evita che la privacy e la sicurezza degli utenti possano essere violate.
Svantaggi
- L'implementazione di UtreeXO richiede la creazione di nodi intermedi o nodi bridge. Questi nodi fungeranno da punto di transizione delle informazioni da un nodo completo standard a un nodo compatto. Il flusso di informazioni in questi nodi bridge deve essere completo. Cioè, devono mantenere la blockchain e l'elenco UTXO, per creare i test di cui i nodi compatti hanno bisogno per la convalida delle transazioni.
- La presenza di nodi ponte nella rete potrebbe creare situazioni contrarie al decentramento. Questo nel caso in cui UtreeXO sia ampiamente utilizzato in rete.
- La creazione di nuove commissioni che servano da incentivo ai nodi bridge. Questa è una possibilità che potrebbe verificarsi nel caso di implementazione della tecnologia UtreeXO sulla rete Bitcoin. Ciò comporterebbe un aumento del costo delle commissioni di transazione.
Quanto sai, Cryptonuta?
UtreeXO porta a problemi di sicurezza in Bitcoin?FALSO!
UtreeXO è stato creato per mantenere lo stesso livello di sicurezza di UTXO. Infatti, non sostituisce questo sistema, implementa semplicemente una serie di miglioramenti laterali che consentono di ottimizzare la sincronizzazione dei nodi a livello UTXO. L'obiettivo è quello di migliorare e ottimizzare l'utilizzo della rete e l'archiviazione dei dati all'interno dei nodi.
Una soluzione ancora in sviluppo
Tuttavia, UTReeXO è un progetto in fase altamente sperimentale. Qui abbiamo spiegato le cose che propone, ma questo non funziona sulla rete principale di Bitcoin. È una proposta che, forse, non sarà mai messa in atto all'interno della mainnet di Bitcoin, o che qualcun altro la prenda e, modificando alcuni punti, crei una nuova, migliore proposta. Questa è la magia di questo ecosistema aperto e libero.
Sul sito principale della proposta è possibile leggere lo stato di avanzamento del progetto, e nella sua Repository GitHub è possibile scaricare il software di test per eseguire il codice di test per questo sviluppo. È importante notare che c'è un enorme interesse per questo progetto, che può essere visto chiaramente nell'enorme attività di sviluppo su GitHub, che potrebbe aprire nuove opportunità per gli imprenditori, chissà.
D'altra parte, l'ideatore della proposta avverte che:
Il software funziona su testnet, il testnet Bitcoin, e non è raccomandato per l'uso con denaro reale. Ci sono ancora molti bug noti e inefficienze nel codice, ma lo stiamo migliorando rapidamente.