Contenuti
introduzione
Cos'è un DAG?
Come funziona un DAG?
Vantaggi e svantaggi dei grafi aciclici diretti
I vantaggi dei DAG
Gli svantaggi dei DAG
Concludere
introduzione
Quando si pensa alle criptovalute, probabilmente vengono in mente i termini “blockchain” o “registro distribuito”. Dal lancio di Bitcoin sono state create centinaia di altre criptovalute. La maggior parte di essi si basa su un'architettura di rete simile. Le loro strutture dati consentono agli utenti di trasferire valore o interagire con applicazioni decentralizzate.
In una blockchain, un nuovo blocco viene periodicamente aggiunto a una catena di blocchi in espansione. Ogni blocco è collegato al precedente tramite una sorta di collegamento crittografico (più precisamente, un hash). In ciascuno di questi blocchi ci sono le transazioni recenti trasmesse dagli utenti.
Ma spesso c’è un periodo di attesa tra la trasmissione di una transazione e la sua inclusione in un blocco. Immaginatelo come aspettare un treno alla stazione. A seconda delle dimensioni dei vagoni (dimensione del blocco) e di quante altre persone stanno aspettando (transazioni in sospeso), potresti non riuscire nemmeno a prendere il treno successivo. O anche quello dopo. Puoi attendere da pochi secondi a qualche ora affinché la transazione venga confermata.
Per molti, questo è un saggio compromesso. Dopotutto, offre un livello di sicurezza molto elevato senza fare affidamento su un coordinatore centralizzato. Per altri, la tecnologia blockchain ha una data di scadenza. I critici ritengono che, a lungo termine, i problemi di scalabilità affrontati dalla tecnologia blockchain ne impediranno l’adozione di massa.
Alcuni credono che il futuro delle reti di pagamento in criptovaluta risieda in un’architettura completamente diversa: i grafici aciclici diretti (o DAG).
Cos'è un DAG?
Un DAG è un diverso tipo di struttura dati, come un database che collega diverse informazioni. “Grafico aciclico diretto” è un termine complesso, quindi iniziamo analizzandolo.

Grafico aciclico diretto.
Concettualmente, i DAG assomigliano a quanto descritto sopra. Sono composti da vertici (le sfere) e bordi (le linee che li collegano). Sono diretti perché vanno in una sola direzione (puoi vedere le frecce). Sono aciclici (cioè non ciclici) perché i vertici non formano un anello su se stessi. Se inizi da un punto e segui il grafico, non puoi tornare allo stesso punto. Tutto questo sarà presto più chiaro.
Queste strutture dati vengono generalmente utilizzate per modellare i dati. Puoi fare affidamento su un DAG in ambito scientifico o medico per osservare la relazione tra le variabili e determinarne l'impatto reciproco. Ad esempio, potresti prendere elementi come l'alimentazione, i cicli del sonno e i sintomi fisici, in modo da poter creare collegamenti tra loro per determinare come influenzano un paziente.
Da parte nostra, siamo più interessati a come possono contribuire a raggiungere il consenso in una rete di criptovalute distribuita.
Come funziona un DAG?
In una criptovaluta basata su DAG, ogni vertice della struttura rappresenta una transazione. Non esiste il concetto di blocco qui, né è necessario eseguire il mining per espandere il database. Quindi, invece di mettere insieme le transazioni in blocchi, ogni transazione è costruita sopra un’altra. Tuttavia, quando un nodo invia una transazione viene eseguita una piccola operazione di prova. Ciò garantisce che la rete non sia inquinata e convalida le transazioni precedenti.
Per aggiungere una nuova transazione, è necessario basarsi su transazioni precedenti. Supponiamo che Alice crei una nuova transazione. Per essere presa in considerazione, questa transazione deve fare riferimento a transazioni precedenti. Un po’ come un blocco Bitcoin fa riferimento a quello precedente, ma con più transazioni referenziate.
In alcuni sistemi, un algoritmo seleziona le transazioni (o “tips”) sulle quali dovrebbe essere effettuata una nuova transazione. I suggerimenti con più probabilità di essere selezionati sono quelli con maggior peso accumulato: una misura del numero di conferme nel percorso verso il suggerimento.
Le transazioni che Alice aggiungerà non sono confermate. Ma una volta che Alice li farà riferimento, verranno confermati. La transazione di Alice ora non è confermata. Qualcun altro deve aggiungere una nuova transazione affinché venga accettata.
È più probabile che gli utenti confermino transazioni con un peso “maggiore” in modo che il sistema continui a crescere. Altrimenti, non ci sarebbe nulla che impedirebbe a un utente di aggiungere continuamente nuove transazioni a quelle precedenti.
Con le blockchain è abbastanza facile proteggersi dalla doppia spesa. Gli stessi fondi non possono essere spesi due volte in un blocco: i nodi possono facilmente rilevare eventuali tentativi e rifiutare eventuali blocchi contenenti transazioni in conflitto. Poiché la produzione di blocchi è così costosa per i minatori, sono incentivati ad essere onesti.
I DAG dispongono anche di un meccanismo per evitare la doppia spesa. È un po' lo stesso, ma senza i minori. Quando un nodo conferma le transazioni più vecchie, valuta un intero percorso fino alla primissima transazione nel DAG per garantire che il mittente abbia un saldo sufficiente. Potrebbero esserci più percorsi, ma solo uno deve essere verificato.

Se gli utenti utilizzano un percorso non valido, corrono il rischio che la propria transazione venga ignorata. La loro potrebbe essere legittima, ma poiché la precedente non lo era, nessuno vorrà continuare su questa strada.
All'inizio questo non è intuitivo: non potresti trovarti in una situazione in cui esistono più rami che non sono consapevoli l'uno dell'altro? Non sarebbe quindi possibile spendere gli stessi fondi in questi diversi rami?

Questa è sì una possibilità, ma viene risolta da un algoritmo di selezione che privilegia le operazioni con maggior peso cumulato. Ciò significa che col tempo ti ritroverai con un ramo molto più forte degli altri. Quelli più deboli verranno abbandonati e la rete continuerà a svilupparsi su quelli più pesanti.
Come per le blockchain, non esiste una finalità assoluta: non si può mai essere sicuri al 100% che una transazione non verrà annullata. È incredibilmente improbabile, ma in teoria puoi ripristinare un blocco Bitcoin o Ethereum, invertendo tutte le transazioni al suo interno. Più blocchi aggiungi dopo la transazione, maggiore sarà la fiducia che potrai avere nella transazione. Ecco perché si consiglia di attendere sei conferme prima di spendere fondi.
In un DAG come Tangle di IOTA, esiste un concetto di fiducia di conferma. L'algoritmo di selezione viene eseguito 100 volte e conti quante volte la tua transazione è stata approvata direttamente o indirettamente nei forum selezionati. Più alta è la percentuale, più sarai sicuro che la tua transazione rimarrà saldata.
Potrebbe sembrare che ciò si traduca in un'esperienza utente scadente. Ma non è così. Se Alice invia a Bob 10 MagicDAGToken, non deve preoccuparsi di selezionare le transazioni giuste dal grafico. In background, il suo portafoglio può eseguire le seguenti operazioni:
Seleziona le transazioni più pesanti (ricorda, queste sono quelle con più conferme accumulate).
Seguire la procedura per restituire le transazioni precedenti per garantire che le transazioni abbiano un saldo sufficiente per le spese.
Fatto ciò, aggiunge la sua transazione al DAG confermando le transazioni su cui è stata effettuata.
Ad Alice, questa sembrerà semplicemente la solita procedura per una criptovaluta. Inserisce l'indirizzo di Bob e l'importo che desidera spendere, quindi preme Invia. L'elenco sopra è la prova del lavoro che ciascun partecipante esegue quando crea una transazione.
➟ Vuoi iniziare con le criptovalute? Acquista Bitcoin su Binance!
Vantaggi e svantaggi dei grafi aciclici diretti
I vantaggi dei DAG
Velocità
Senza essere limitato da tempi di blocco, chiunque può trasmettere e far elaborare le proprie transazioni in qualsiasi momento. Non esiste alcun limite al numero di transazioni che gli utenti possono inviare, a condizione che confermino quelle precedenti quando lo fanno.
Nessuna estrazione mineraria
I DAG non utilizzano algoritmi di consenso PoW come di solito accade. La loro impronta di carbonio è quindi una frazione di quella delle criptovalute che si affidano al mining per proteggere la propria rete blockchain.
Nessuna commissione di transazione
Poiché non ci sono minatori, gli utenti non devono pagare alcuna commissione per trasmettere le proprie transazioni. Detto questo, alcuni richiedono il pagamento di una piccola tariffa per particolari tipologie di nodi. Commissioni basse (o meglio, nessuna commissione) sono interessanti per i micropagamenti, perché non sono possibili su reti con commissioni elevate.
Nessun problema di scalabilità
Senza vincoli temporali di blocco, i DAG possono elaborare molte più transazioni al secondo rispetto alle tradizionali reti blockchain. Molti sostenitori ritengono che ciò li renderà preziosi nei casi d’uso dell’Internet delle cose (IoT), in cui tutti i tipi di oggetti e macchine interagiranno tra loro.
Gli svantaggi dei DAG
Non completamente decentralizzato
I protocolli che si basano sui DAG hanno diversi elementi di centralizzazione. Per alcuni, questa è probabilmente una soluzione a breve termine per avviare la rete, ma resta da vedere se i DAG potranno prosperare senza l’intervento di terze parti. In caso contrario, si prestano ad attaccare vettori che potrebbero, alla fine, paralizzare le loro reti.
Non testato su larga scala
Sebbene le criptovalute basate su DAG siano in circolazione da alcuni anni, hanno ancora molta strada da fare prima di vedere un uso diffuso. Pertanto, è difficile prevedere quali incentivi potrebbero ricevere gli utenti per la manutenzione del sistema in futuro.
Per concludere
I grafici aciclici diretti sono sicuramente una tecnologia interessante per costruire reti di criptovalute. Finora sono relativamente pochi i progetti che utilizzano questa struttura dati e non si sono ancora completamente evoluti.
Detto questo, se riuscissero a sfruttare il loro potenziale, potrebbero alimentare ecosistemi estremamente scalabili. La tecnologia DAG presenta una miriade di casi d’uso in aree che richiedono un throughput elevato e nessuna commissione, come nell’Internet delle cose (IoT) e nei micropagamenti.

