Un Directed Acyclic Graph (DAG) è una struttura dati composta da vertici collegati da archi unidirezionali che non formano mai un ciclo. Nei registri distribuiti, i vertici possono rappresentare transazioni, eventi o blocchi, e i loro collegamenti registrano dipendenze o riferimenti alla storia precedente. Più rami possono crescere contemporaneamente invece di costringere ogni aggiornamento in un'unica catena lineare di blocchi.

Un DAG descrive come è organizzata l'informazione, non un meccanismo di consenso completo. Una rete necessita comunque di regole per ammettere eventi, rilevare conflitti, ordinare le transazioni rilevanti, resistere agli attacchi Sybil e raggiungere la finalità. L'hashgraph di Hedera, i protocolli block-DAG, i sistemi transaction-DAG e le architetture ad account chain utilizzano le strutture a grafo in modo diverso, quindi il termine blockchain DAG non dovrebbe implicare un unico modello condiviso di sicurezza o prestazioni.

Che cos'è un'architettura DAG?

Un Directed Acyclic Graph (DAG) è un'architettura di registro che organizza transazioni o blocchi come una rete di voci collegate anziché come un'unica catena lineare. Directed significa che i collegamenti seguono una direzione definita, mentre acyclic significa che tali collegamenti non possono tornare a un punto precedente. Ciò consente di elaborare e referenziare più transazioni o blocchi in parallelo.

Non tutte le reti basate su DAG sono tecnicamente blockchain. Alcuni sistemi DAG registrano singole transazioni come voci del grafo, mentre altri organizzano i blocchi in un DAG prima di determinarne l'ordine definitivo. Il funzionamento di una rete DAG dipende quindi dalle sue regole di consenso, dall'ordinamento delle transazioni, dalla protezione dalla doppia spesa e dal meccanismo di finalità.

Come funziona un registro distribuito DAG?

Un registro DAG aggiunge nuove transazioni o blocchi come vertici che referenziano voci precedenti, invece di estendere un'unica catena lineare. Poiché vertici diversi possono essere creati contemporaneamente, l'attività indipendente può essere elaborata e condivisa in parallelo attraverso la rete.

1. Le nuove voci referenziano quelle precedenti: ogni transazione o blocco si collega a uno o più vertici precedenti.

2. I nodi condividono il grafo: i partecipanti si scambiano le nuove voci e ricostruiscono la cronologia delle transazioni della rete a partire da quei riferimenti.

3. Il consenso interpreta il DAG: il protocollo determina come ordinare o ponderare rami o transazioni in competizione.

4. I conflitti vengono risolti: se due transazioni tentano di spendere gli stessi fondi, regole di consenso predefinite determinano quale viene accettata.

5. Le transazioni raggiungono la finalità: a seconda della rete, la finalità può derivare da votazioni, peso accumulato, regole di ordinamento o un altro meccanismo di consenso.

Quali sono i principali vantaggi e i casi d'uso dei registri DAG?

Le strutture DAG sono utili quando un protocollo vuole registrare attività concorrente prima di derivare l'ordine finale accettato. I loro vantaggi dipendono dalla rete e non possono essere dedotti dalla sola forma del grafo.

1. Gli aggiornamenti concorrenti possono entrare nella cronologia. Più nodi possono creare eventi o transazioni che referenziano la cronologia recente senza attendere un'unica punta di blocco globale, riducendo un punto di serializzazione strutturale.

2. Le relazioni di gossip possono trasportare informazioni di consenso. In hashgraph, i collegamenti tra eventi registrano chi ha comunicato con chi, consentendo ai nodi di calcolare voti virtuali dalla cronologia condivisa invece di trasmettere voti separati per ogni decisione.

3. I record ad alta frequenza possono essere organizzati in modo efficiente. Pagamenti, timestamp, messaggi, eventi di supply chain e attività delle macchine possono trarre vantaggio da un'acquisizione basata su grafo quando il protocollo è in grado di risolvere le relative dipendenze e i conflitti.

4. Il grafo può esporre la cronologia causale. I riferimenti mostrano quali eventi erano noti prima che ne fosse creato un altro, fornendo informazioni che un algoritmo di consenso può usare per l'ordinamento o la conferma.

Quali sono esempi di registri distribuiti basati su DAG?

Le reti basate su DAG variano ampiamente. Confrontarle richiede di esaminare consenso, permissioning, modello di transazione, finalità e supporto agli smart contract, invece di raggrupparle soltanto in base alla terminologia del grafo.

• Hedera Hashgraph. I nodi di Hedera si scambiano tramite gossip eventi firmati contenenti transazioni e hash degli eventi padre, costruendo un hashgraph che supporta il voto virtuale e i timestamp di consenso.

• IOTA architetture Tangle. IOTA ha storicamente utilizzato un DAG di transazioni chiamato Tangle, sebbene la sua architettura e il suo consenso si siano evoluti, quindi la documentazione attuale del protocollo deve orientare qualsiasi affermazione di implementazione.

• Avalanche famiglia di consenso. Avalanche ha introdotto un design di consenso orientato al DAG per il voto ripetuto su sottocampioni, mentre le catene e le macchine virtuali distribuite possono esporre cronologie blockchain lineari per specifici carichi di lavoro.

• Nano block-lattice. Nano organizza gli aggiornamenti di ogni account in una propria account chain all'interno di un grafo più ampio, consentendo ai titolari degli account di aggiornarsi in modo indipendente mentre il voto dei rappresentanti risolve i conflitti.

Quali sono i limiti e i rischi dei registri DAG?

Un DAG può ammettere una cronologia concorrente, ma la concorrenza rende difficili l'ordinamento, la risoluzione dei conflitti, l'archiviazione, la potatura e la sincronizzazione della rete. La sicurezza deriva dal protocollo completo e dal modello dei partecipanti, non dall'assenza di una catena lineare.

1. Il consenso resta necessario. Il grafo da solo non può decidere tra doppie spese, rami malevoli o eventi incompatibili, quindi la rete necessita comunque di votazioni, ponderazione, leader, comitati o un altro processo di accordo.

2. La crescita del grafo può aumentare la pressione sulle risorse. I nodi potrebbero dover conservare, attraversare, indicizzare e sincronizzare molti vertici e relazioni, rendendo la potatura e una rappresentazione efficiente dello stato importanti per il funzionamento a lungo termine.

3. La finalità può essere difficile da spiegare. Gli utenti devono distinguere la ricezione di un evento, l'inclusione nel grafo, la confidenza, l'ordinamento di consenso e la finalità irreversibile, perché queste fasi differiscono tra i protocolli DAG.

4. La resistenza Sybil varia da rete a rete. Un protocollo può dipendere da stake, appartenenza permissioned, voto dei rappresentanti, reputazione, proof of work, o controlli di frequenza, ciascuno dei quali crea costi di attacco e presupposti di governance diversi.

5. L'interoperabilità può essere più limitata. Wallet, explorer, sistemi di custodia e strumenti per smart contract creati per blockchain basate su account possono richiedere integrazioni specializzate per il grafo e il modello di transazione di una rete.

Un DAG è la stessa cosa di una blockchain?

Un DAG non è automaticamente uguale a una blockchain. Una blockchain tradizionale è di per sé una struttura diretta limitata, perché i blocchi referenziano blocchi precedenti, ma la sua cronologia canonica viene di solito presentata come un'unica catena ordinata. Un DAG generico può mantenere diversi rami concorrenti o cronologie di account e in seguito derivare l'ordine accettato. Alcuni protocolli sono block-DAG, altri sono DAG di transazioni, altri ancora usano un DAG internamente esponendo però una vista lineare del registro. Sono le regole del protocollo in materia di dati e consenso a determinare l'etichetta corretta.

Concetti correlati

1. Che cos'è la blockchain?

2. Che cos'è il consenso?

3. Che cos'è un hash?

4. Che cos'è la tolleranza ai guasti bizantini?

Letture di approfondimento

1. Che cos'è Hedera (HBAR) e come il consenso aBFT alimenta l'ecosistema Hashgraph?

2. Come mettere in staking Hedera (HBAR) e ottenere ricompense passive nel 2026

3. Che cos'è l'ETF di Hedera (HBAR) e come funziona?

4. Che cos'è uno smart contract? Un pilastro del mondo blockchain