introduzione
Quando si pensa alle criptovalute, probabilmente vengono in mente i termini “blockchain” o “tecnologia di contabilità distribuita”. 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 di interagire con applicazioni decentralizzate.
In una blockchain, un nuovo blocco viene periodicamente aggiunto a una catena crescente di blocchi. Ogni blocco è collegato al precedente con una sorta di collegamento crittografico (nello specifico, 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 delle carrozze (dimensione dei blocchi) e del numero di altre persone in attesa (transazioni in sospeso), potresti non riuscire nemmeno a prendere il treno successivo. O anche quello dopo. Puoi attendere da secondi a ore affinché la transazione venga confermata.
Per molti, questo è un buon compromesso. Dopotutto, fornisce un livello di sicurezza molto elevato senza fare affidamento su un coordinatore centralizzato. Per altri, la tecnologia blockchain ha una data di scadenza. I detrattori 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 tipo diverso di struttura dati: pensalo come un database che collega insieme diverse informazioni. "Grafico aciclico diretto" è un termine pesante, quindi iniziamo scomponendolo.

Un grafico aciclico diretto.
Concettualmente, i DAG assomigliano a quanto sopra. Sono costituiti da vertici (le sfere) e bordi (le linee che li collegano). Sono diretti perché vanno in una direzione (puoi vederlo illustrato con le frecce). Sono aciclici (cioè non ciclici) perché i vertici non ritornano su se stessi: se inizi da un punto e segui il grafico, non puoi tornare allo stesso punto. Ciò diventerà più chiaro a breve.
Tali strutture dati vengono generalmente utilizzate per modellare i dati. Potresti fare affidamento su un DAG in campo scientifico o medico per osservare la relazione tra le variabili e per determinare il modo in cui si influenzano a vicenda. Ad esempio, potresti prendere elementi come l'alimentazione, i cicli del sonno e i sintomi fisici, in modo da poter tracciare collegamenti tra loro per stabilire come influenzano un paziente.
Per i nostri scopi, siamo più interessati a come possono aiutare a raggiungere il consenso in una rete di criptovaluta distribuita.
Come funziona un DAG?
In una criptovaluta basata su DAG, ogni vertice nella struttura rappresenta una transazione. Non esiste la nozione di blocchi qui, né è necessario il mining per estendere il database. Quindi, invece di raggruppare le transazioni in blocchi, ogni transazione è costruita sopra un’altra. Tuttavia, esiste una piccola operazione Proof-of-Work che viene eseguita quando un nodo invia una transazione. Ciò garantisce che la rete non venga sottoposta a spam e convalida anche le transazioni precedenti.
Affinché una nuova transazione possa essere aggiunta, deve basarsi su quelle precedenti. Supponiamo che Alice crei una nuova transazione. Per essere riconosciuta, questa transazione deve fare riferimento a quelle precedenti. Un po’ come un blocco in Bitcoin fa riferimento a quello precedente, ma ci sono più transazioni a cui si fa riferimento.
In alcuni sistemi, un algoritmo selezionerà su quali transazioni (o "suggerimenti") deve basarsi una nuova transazione. I suggerimenti che hanno maggiori probabilità di essere selezionati sono quelli che hanno un peso accumulato maggiore, una misura di quante conferme ha il percorso verso il suggerimento.
Le transazioni su cui Alice costruirà non sono confermate. Ma una volta che Alice li fa riferimento, vengono confermati. La transazione di Alice ora non è confermata, quindi qualcun altro deve basarsi su di essa prima che 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 agli utenti di basarsi continuamente su transazioni più vecchie.
Con le blockchain, la protezione dalla doppia spesa è abbastanza semplice. Gli stessi fondi non possono essere spesi due volte in un blocco: i nodi possono facilmente rilevare qualsiasi tentativo e rifiuteranno qualsiasi blocco contenente transazioni in conflitto. Dato che per i minatori è così costoso produrre blocchi, sono incentivati a comportarsi in modo corretto.
I DAG dispongono anche di un meccanismo per prevenire la doppia spesa. È un po' simile, ma senza minatori. Quando un nodo conferma le transazioni più vecchie, valuta un intero percorso fino alla primissima transazione del DAG per essere sicuri 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à estendere quella particolare strada.
All'inizio sembra poco intuitivo: non potresti finire in una situazione in cui esistono più rami che non sono consapevoli l'uno dell'altro? Quindi, le persone non potrebbero spendere gli stessi fondi in questi diversi rami?

Questa è sì una possibilità, ma viene risolta con un algoritmo di selezione che privilegia le punte con un peso accumulato maggiore. 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 costruire su quella più pesante.
Come con le blockchain, non esiste una finalità assoluta: non puoi mai essere sicuro al 100% che una transazione non verrà annullata. È incredibilmente improbabile, ma in teoria potresti "annullare" un blocco Bitcoin o Ethereum, invertendo tutte le transazioni al suo interno. Più blocchi verranno aggiunti dopo quello in cui si trova la transazione, maggiore sarà la fiducia che potrai avere in essa. Questo è il motivo per cui ti consigliamo di attendere sei conferme prima di spendere fondi.
In un DAG come Tangle di IOTA, c'è un'idea 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 suggerimenti selezionati. Più alta è la percentuale, maggiore sarà la certezza che la transazione rimarrà "risolta".
Potrebbe sembrare che ciò porti a un'esperienza utente negativa. Ma non è così. Se Alice invia a Bob 10 MagicDAGToken, non deve preoccuparsi di selezionare i suggerimenti giusti del grafico. Sotto il cofano, il suo portafoglio potrebbe fare quanto segue:
Seleziona i suggerimenti pesanti (ricorda, questi sono quelli con il maggior numero di conferme accumulate).
Segui il percorso a ritroso attraverso le transazioni precedenti per assicurarti che le mance abbiano un saldo sufficiente da spendere.
Una volta soddisfatti, aggiungono la transazione al DAG, confermando le transazioni su cui sono basate.
Per Alice, questo sembrerà proprio il normale flusso di lavoro della criptovaluta. Inserisce l'indirizzo di Bob e l'importo che desidera spendere, quindi preme Invia. L'elenco sopra è la Proof of Work che ogni partecipante esegue quando crea una transazione.
➠ Vuoi iniziare con la criptovaluta? Acquista Bitcoin su Binance!
Pro e contro dei grafi aciclici diretti
Pro dei DAG
Velocità
Senza limiti di orari di blocco, chiunque può trasmettere e far elaborare le proprie transazioni in qualsiasi momento. Non c'è limite al numero di transazioni che gli utenti inviano, a condizione che confermino quelle più vecchie come fanno.
Nessuna estrazione mineraria
I DAG non utilizzano algoritmi di consenso PoW nel modo in cui siamo abituati. 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 commissioni per trasmettere le proprie transazioni. Detto questo, alcuni richiedono che venga pagata una piccola tariffa per tipi speciali di nodi. Commissioni basse (o meglio, commissioni pari a zero) sono allettanti per i micropagamenti, poiché il loro scopo viene vanificato con commissioni di rete significative.
Nessun problema di scalabilità
Non vincolati dai tempi 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 macchine interagiranno tra loro.
Contro dei DAG
Non del tutto decentralizzato
I protocolli che si basano sui DAG hanno vari elementi di centralizzazione. Per alcuni, si tratta presumibilmente di 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 eventualmente 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 utilizzo diffuso. Pertanto, è difficile prevedere quali incentivi gli utenti potrebbero avere per sfruttare il sistema in futuro.
Pensieri conclusivi
I grafici aciclici diretti sono sicuramente una tecnologia interessante per costruire reti di criptovaluta. Finora sono relativamente pochi i progetti che utilizzano la struttura dati e devono ancora evolversi completamente.
Detto questo, se riescono a sfruttare il loro potenziale, potrebbero alimentare ecosistemi estremamente scalabili. La tecnologia DAG ha una miriade di casi d'uso in aree che richiedono un throughput elevato e nessuna commissione, come l'Internet delle cose (IoT) e i micropagamenti.



