Un grafo aciclico diretto, o DAG (dall'inglese "directed acyclic graph"), è uno strumento di modellazione e organizzazione dei dati usato di frequente nelle criptovalute.
A differenza di una blockchain, composta da blocchi, i grafi aciclici diretti sono fatti di vertici e archi. Le transazioni crypto vengono quindi registrate come vertici, impilati uno sull'altro. Come in una blockchain, però, anche qui le transazioni arrivano al DAG attraverso i nodi. Per inviare una transazione, un nodo deve completare compiti di proof-of-work (PoW).
In sostanza, se un sistema blockchain assomiglia a una catena, quello di un DAG assomiglia di più a un grafo. Oggi il modello DAG viene considerato nel settore un possibile sostituto della blockchain in futuro, grazie alla sua efficienza nell'archiviazione dei dati e nella gestione delle transazioni online.
Il modello DAG è visto anche come una possibile risposta all'attuale problema di decentralizzazione nel mondo crypto. Con questo modello i miner non devono più contendersi i nuovi blocchi da aggiungere alla catena.
Poiché i nodi si sviluppano in parallelo, anche le transazioni possono essere elaborate più rapidamente. Gli sviluppatori guardano al DAG come a una soluzione migliore e più sicura, capace di rendere una rete più utilizzabile man mano che diventa scalabile.
Come funziona un DAG?
Come detto, un grafo aciclico diretto è più efficiente nell'archiviazione dei dati. La sua struttura ricorda un albero, con nodi interconnessi al posto dei 'rami'.
Poiché ogni nodo può avere più di una radice padre, il modello consente di approvare più transazioni contemporaneamente. Gli utenti, infatti, non devono attendere il completamento di una transazione prima di elaborarne un'altra.
In un grafo aciclico diretto, quindi, ogni nuova transazione deve fare riferimento a transazioni precedenti prima di essere accettata dalla rete. È lo stesso principio per cui i blocchi di una blockchain fanno riferimento ai blocchi precedenti. Il ragionamento è questo: una transazione risulta effettivamente confermata solo quando un'altra transazione la referenzia, e così via.
In un DAG ogni vertice rappresenta una transazione. Non ci sono blocchi, quindi non serve nemmeno il mining. Le transazioni si costruiscono una sull'altra anziché essere raggruppate in blocchi. Poi, come appena detto, ogni volta che un nodo invia una transazione vengono eseguiti compiti di proof-of-work, per approvare le transazioni precedenti ed evitare lo spam.
Per impostazione predefinita, in una criptovaluta basata su DAG le nuove transazioni si costruiscono su quelle più vecchie. La differenza principale con la blockchain è che in un DAG si può fare riferimento a più transazioni, e non a una sola per volta.
Alcuni sistemi hanno un algoritmo che sceglie i 'tips', ovvero le transazioni su cui proseguire, in base al peso accumulato (cioè al numero di conferme che portano a quella punta).
La protezione dal double spending nei DAG funziona grazie ai nodi, che confermano le transazioni più vecchie ripercorrendo un cammino fino alla primissima transazione del DAG. In questo modo si verifica se il mittente ha un saldo sufficiente. Se un utente costruisce su un cammino non valido, quella transazione rischia di essere ignorata.
I conflitti che nascono da cammini diversi vengono risolti con un algoritmo di selezione che privilegia le punte con il peso accumulato maggiore.
A cosa servono i DAG?
Il modello DAG punta ad affrontare due debolezze attribuite alla tecnologia blockchain, ovvero decentralizzazione e scalabilità. Cerca inoltre di migliorare sicurezza e facilità d'uso.
In che modo?
- Sulla blockchain di Bitcoin o sulla piattaforma Ethereum i miner possono creare un blocco alla volta. Perciò le nuove transazioni vengono approvate solo quando la precedente è conclusa. Il modello DAG elimina questi blocchi e aggiunge le transazioni direttamente al registro.
Eliminando i blocchi, il modello DAG non ha bisogno del mining. Questo significa meno elettricità per mandare avanti la rete. I DAG offrono anche altri vantaggi, per esempio:
- Alta velocità delle transazioni, non frenata dalla creazione dei blocchi
- Nessun miner significa anche nessuna commissione di transazione
- Minori consumi energetici e benefici ambientali rispetto al mining
Al momento, però, l'uso dei DAG nel mondo crypto è ancora agli inizi. A differenza delle blockchain, non sono ancora del tutto decentralizzati. Per questo vengono usati soprattutto per avviare reti, e non ancora come sistema con cui costruire una rete stabile.
Quali criptovalute usano il DAG?
Un tempo era impensabile parlare di criptovalute senza pensare alla blockchain. Con il modello DAG, però, diverse criptovalute sono già state costruite con successo su questa tecnologia.
Alcuni esempi sono Obyte, IOTA e Nano, per citarne alcuni. Pur essendo ancora piuttosto recente, la struttura DAG mostra un potenziale enorme. Come accennato, diversi progetti l'hanno già sfruttata con buoni risultati. I più noti sono:
Obyte
Obyte, un tempo ByteBall, è una criptovaluta del tutto indipendente dalla blockchain, avendo implementato la struttura DAG. Le transazioni Obyte, però, hanno comunque un costo.
Il motivo è che la rete Obyte usa un sistema di validatori che consente una doppia verifica delle transazioni. Si basa su un algoritmo di consenso fondato sui testimoni (witness): utenti fidati e affidabili che fanno da validatori.
Obyte supporta anche transazioni non tracciabili e gli smart contract.
IOTA
IOTA, pensata per le applicazioni dell'Internet of Things, ha lanciato la sua rete a 'blockchain senza blocchi' nel 2016. L'idea alla base di IOTA è che tutti gli utenti diventino di fatto miner. Per far approvare una transazione, per esempio, un utente deve verificarne due.
IOTA utilizza una rete composta da nodi e tangle, cioè gruppi di nodi, che rendono il processo di approvazione più rapido ed efficiente.
Tutti gli utenti contribuiscono con una piccola quantità di potenza al mantenimento della rete e tutti partecipano anche al consenso. Questo permette alla rete di essere allo stesso tempo molto decentralizzata e scalabile.
Le transazioni hanno costi quasi nulli; per questo IOTA è considerata una criptovaluta alternativa conveniente per i micropagamenti.
Nano
Anche Nano è una criptovaluta che funziona sul sistema DAG. Nano ha blockchain indipendenti collegate dai nodi, in quella che viene chiamata tecnologia block-lattice. In pratica è un misto tra DAG e blockchain.
Ogni utente ha un proprio wallet e una propria blockchain. Solo l'utente può apportare modifiche al proprio wallet o alla propria blockchain. Le transazioni si concludono quando mittente e destinatario eseguono l'operazione ciascuno sulla propria blockchain.
Nano offre ai suoi utenti commissioni di transazione pari a zero e velocità elevate.
Qual è il ruolo del DAG nella blockchain?
Il DAG può essere visto come un'alternativa valida alla blockchain, anche se richiede ancora messa a punto. Il modello DAG cerca di risolvere i problemi tipici della tecnologia blockchain, come costi, velocità e adattabilità.
Di fatto, entrambe le tecnologie registrano le transazioni su un registro digitale e puntano allo stesso obiettivo. A distinguerle è soprattutto la struttura che ciascun modello usa per conservare i dati.
DAG contro blockchain
Blockchain e DAG registrano entrambi le transazioni su un registro distribuito, ma con mezzi diversi.
Ecco un rapido confronto tra i due in termini di vantaggi e svantaggi:
Pro del DAG
- Adatto a microtransazioni e a volumi elevati di operazioni
- Elimina la necessità di hardware per il mining
- Le commissioni possono ridursi in modo significativo
- Consumi energetici più bassi
Contro del DAG
- Vulnerabile agli attacchi a causa del basso volume di transazioni
- Ancora agli inizi; non ha raggiunto livelli significativi di decentralizzazione
Pro della blockchain
- Consolidata e ampiamente usata da criptovalute come Bitcoin ed Ethereum
- Trasparente e immutabile, molto sicura
- Conveniente per transazioni di valore elevato
Contro della blockchain
- Richiede molto spazio di archiviazione e banda di rete
- Consuma enormi quantità di energia
- Commissioni di transazione elevate
Alla fine, la scelta del modello dipenderà dagli obiettivi di business di ciascuno. Come abbiamo visto, ogni modello ha punti di forza e punti deboli, e uno può risultare più adatto a seconda delle esigenze.
