Viaggio all’interno dei DAG di Universa

Tuffiamoci più in profondità nella Blockchain Universa. Nei precedenti articoli hai potuto apprendere quanto il protocollo sia veloce, economico e sicuro. Ma qual’è la vera essenza del Protocollo della Blockchain Universa e che sembianze ha la sua architettura?

D’altronde “Blockchain” è ormai diventato un termine collettivo per diversi sistemi digitali piuttosto che riferirsi meramente ad una catena di blocchi. Partiamo allora con la primissima blockchain: Bitcoin.

La blockchain lineare di Bitcoin

Più di dieci anni or sono, Satoshi Nakamoto creò l’idea alla base della prima blockchain digitale. In effetti è molto semplice: è una catena di blocchi che contengono tutte le transazioni al loro interno.

Al momento la blockchain Bitcoin è formata da oltre 620.000 blocchi. Ogni blocco è seguito da uno nuovo ogni 10 minuti circa. Un miner che ha il diritto di generare uno specifico blocco, sceglie delle transazioni dal mempool e le aggiunge nel blocco.

Grazie a questo processo, la blockchain consiste in una struttura dove ogni blocco viene seguito dal successivo in una singola catena. Le nuove transazioni vengono costantemente processate dai miners in nuovi blocchi che vengono aggiunti alla coda della catena. Il nuovo blocco ha una correlazione con quello che viene immediatamente prima, il che rende lo storico delle transazioni immutabile.

Ogni blocco in effetti ha ben più di una semplice correlazione col precedente, infatti ne conserva l’hash e pertanto si riferisce direttamente ai contenuti “hashati”. Oltretutto, una cosa molto interessante è che non puoi modificare un blocco, perché se lo modifichi, il suo hash cambierebbe; questo farebbe si che l’hash memorizzato nel blocco seguente non coinciderebbe più. E se provassi a modificare anche il blocco seguente (facendo così coincidere i due Hash), l’Hash del blocco seguente cambierebbe di conseguenza. E così via. Quindi semplicemente non puoi cambiare niente, perché gli Hash dei dati sono memorizzati nei blocchi susseguenti. Questa catena di Hash rende lo storico immutabile.

Blockchain 2.0

Bitcoin è stato inventato e progettato per essere il nuovo denaro digitale. Il suo scopo in effetti è proprio questo. Dopo qualche tempo, fioccarono molte iniziative innovative che tentavano di utilizzare la blockchain per scopi differenti.

Non specificatamente per il denaro, ma come parte di una rete distribuita per il trattamento efficiente e sicuro dei dati. Molte di queste si occupavano di “condivisione e archiviazione” di informazioni digitali in modo sicuro e senza la garanzia da parte di terzi.

Questo portò ad un nuovo tipo di blockchain con parametri e ipotesi differenti. Dopo la blockchain di Bitcoin, venne l’era di Ethereum. L’architettura di questa blockchain può essere comparata a quella della blockchain di Bitcoin: anche questa ha una struttura lineare.

Col passare del tempo però divenne chiaro che con questa infrastruttura per qualsiasi tipo di processo digitale (che va al di là della mera trasmissione di denaro), la struttura lineare stava causando problemi in termini di scalabilità ed efficienza.

Per risolvere questo problema sorsero diverse soluzioni per l’architettura della blockchain:

  • Sharding: dividere la singola struttura lineare in diverse (ed indipendenti) catene (shards);
  • Sidechains: usando le sidechains che sono sostenute dalla catena principale (come il Sun network in Tron, per esempio) come estensione della catena principale stessa
  • Grafici Aciclici Diretti (DAG): registrano le transazioni in blocchi non lineari indipendenti connessi tra loro.

Ma la soluzione usata da Universa è ancora più unica e nessuna di queste. Il Protocollo della Blockchain Universa usa una soluzione addirittura migliore: una moltitudine di DAG. Nel mondo di Universa, lo storico di ogni singolo contratto è un DAG completamente indipendente.

Grafico Aciclico Diretto

Con Bitcoin/Ethereum, abbiamo una singola, lineare struttura grafica che memorizza tutte le transazioni. Con una blockchain basata sui DAG, questi combinano tutte le transazioni in un singolo grafico non lineare. In Bitcoin ed Ethereum, ogni blocco può avere solo 1 genitore e 1 figlio. In un DAG, ogni blocco può avere genitori multipli e anche figli multipli.

Come potrai leggere negli articoli precedenti, ogni transazione nella Blockchain Universa è una revisione dello Smart Contract originale. Quindi con Universa, ogni Smart Contract ha il suo DAG relativo allo storico di questo documento/contratto.

Il più delle volte potrebbe essere considerato come un grafico lineare all’interno di questo particolare DAG. Quando fai una transazione, lo stato del contratto passa a “revocato”, e quello della nuova versione ad “approvato”. Tutto questo avviene all’interno di un DAG in una struttura lineare che non ha effetti su altri Smart Contract.

In Universa è possibile vedere al lavoro migliaia di DAG lavorare indipendentemente senza interferire con la catena di altri Smart Contracts.

Quando metti insieme tutti questi DAG in un network mantenuto da nodi, ottieni la Blockchain Universa.

Ma nonostante sia un singolo DAG, è ancora solo uno storico dello stesso contratto. La modifica simultanea di contratti multipli, potrebbe essere perfino registrata in una singola transazione, nonostante si riferisca a e da differenti DAG, Questa rende possibile utilizzare la Blockchain Universa come collante tecnico tra sistemi IT già esistenti, per esempio all’interno di una Smart City.

In questo modo, ogni DAG (e quindi ogni contratto), è assolutamente indipendente dagli altri.

Molti DAG

In blockchain collegate questo aspetto diventa meno importante. Ma in Universa, con questa “giungla di DAG”, due storici di due contratti sono indipendenti al 100%. Questi contratti non possono interferire l’uno con l’altro.

Come ricorderai dall’articolo sulla velocità, la Blockchain Universa:

  1. non memorizza le informazioni di ogni blocco (pubblicamente)
  2. non memorizza affatto blocchi non finali. Questo accresce l’anonimato e risparmia tantissimo spazio migliorando la performance.

Quindi ogni “blocco” non si connette ad un pacchetto di transazioni nei blocchi precedenti, ma ad una singola revisione dello smart contract. Puoi trovare maggiori informazioni a riguardo sulla nostra Knowledge Base.

Con queste premesse, arriviamo ad un’interessante conclusione: registrando un singolo smart contract in Universa, in effetti costruisci una vera e propria nuova blockchain. Questo sarà un nuovo DAG nello sciame degli altri Grafici Aciclici Diretti.

Universa Today è gestito e tradotto da membri della community. Contatta @starnold se desideri partecipare e aiutare a spargere la voce.

Tradotto da Marco Cominato

Help translating this post to Inglese Tedesco Francese Olandese Spagnolo Croato Russo. Contact @starnold to participate!

Related posts

Identità degli Smart Contracts Universa (e Ricardiani)

Arnold

Cosa rende la Blockchain Universa così economica?

Arnold

Crittografia Asimmetrica nella Blockchain Universa

Arnold

Leave a Comment