Che cos’è GhostDAG di Kaspa e come funziona?

Che cos’è GhostDAG?
GhostDAG (Greedy Heaviest Observed SubTree Directed Acyclic Graph) è un meccanismo di consenso utilizzato da Kaspa. GhostDAG è stato sviluppato come estensione del classico modello di consenso Proof-of-Work di Bitcoin, sviluppato da Satoshi Nakamoto. La differenza principale: GhostDAG viene applicato a un Directed Acyclic Graph (DAG) invece che a una blockchain lineare. Un Directed Acyclic Graph (DAG) è una struttura dati in cui i blocchi non vengono collocati in un’unica catena lineare, ma come una rete di nodi con molteplici connessioni, in cui ogni nuovo blocco può fare riferimento a più blocchi precedenti senza che si creino connessioni cicliche (ricorrenti). Se ciò accadesse, un blocco finirebbe indirettamente per riferirsi a se stesso. Questo renderebbe poco chiaro l’ordine in cui sono avvenute le transazioni e la rete non potrebbe più mantenere una cronologia affidabile.
Nelle blockchain tradizionali viene accettato un solo blocco per unità di tempo (detta anche block time), mentre i blocchi concorrenti vengono scartati come “orphans”. GhostDAG rompe questo modello consentendo blocchi paralleli e integrandoli in un’unica struttura dati condivisa (blockDAG). In questo modo Kaspa può raggiungere velocità di transazione più elevate con meno potenza di calcolo e quindi meno energia. Inoltre, la decentralizzazione viene mantenuta e persino rafforzata, perché i miner non competono più tra loro per poter validare un singolo blocco, ma praticamente tutti i blocchi prodotti contribuiscono alla rete, abbassando la barriera d’ingresso e riducendo la concentrazione del potere presso grandi mining pool.
Di conseguenza, GhostDAG rappresenta una chiara interpretazione diversa di come il consenso Proof-of-Work possa essere applicato.
In breve
- GhostDAG è l’attuale protocollo di consenso della rete Kaspa e costituisce la base del suo funzionamento.
- Utilizza un parametro k fisso per raggiungere il consenso all’interno della rete.
- Il protocollo rende possibile elaborare più blocchi in parallelo all’interno di una struttura BlockDAG.
- In questo modo la rete può elaborare le transazioni più velocemente e in modo più efficiente rispetto alle blockchain tradizionali.
- GhostDAG mantiene un solido modello di sicurezza, in cui la rete rimane sicura finché un attaccante controlla meno del 50% della hashpower.
- Viene usato quotidianamente nella pratica e si è dimostrato una soluzione stabile e scalabile.
Come funziona GhostDAG?
GhostDAG funziona sulla base di una struttura blockDAG, in cui i blocchi possono avere più “genitori” (blocchi precedenti) ed essere aggiunti simultaneamente alla rete. Invece di una catena lineare di blocchi, nasce una rete di blocchi collegati tra loro. Questo rende possibile gestire in modo molto più efficiente i blocchi trovati contemporaneamente.
Il fatto che i blocchi possano avere più blocchi precedenti è immediatamente la grande differenza rispetto alle blockchain tradizionali come Bitcoin, Ethereum e Solana. Qui esiste sempre un solo ordine e può essere aggiunto alla blockchain un solo blocco alla volta.
Esempio: quando due miner trovano un blocco nello stesso momento, si crea un conflitto e alla fine uno dei due blocchi viene scartato (un orphan block).
Con GhostDAG possono esistere più blocchi contemporaneamente, i nuovi blocchi possono fare riferimento a più blocchi precedenti e i blocchi non vengono scartati. Questo garantisce un sistema efficiente in cui si sfrutta al meglio la potenza di calcolo impiegata dai miner.
In breve: un blockDAG e una blockchain sono entrambi tipi di registro distribuito, ma differiscono per struttura ed elaborazione: una blockchain funziona come una catena lineare di blocchi aggiunti uno per uno, mentre un blockDAG utilizza una struttura a rete in cui più blocchi possono essere aggiunti contemporaneamente e in parallelo.
Algoritmo Greedy Heaviest Subtree
La domanda logica è: come determina la rete quale blocco viene “prima” quando vengono creati più blocchi contemporaneamente?
Questo viene gestito dall’algoritmo Greedy Heaviest Subtree (GhostDAG). Questo algoritmo, integrato nel codice di Kaspa, aiuta i nodi a mettere ordine in tutti i blocchi in arrivo.
In pratica funziona così: i nodi raccolgono tutti i blocchi che ricevono e poi osservano quale gruppo di blocchi, nel complesso, ha richiesto la maggiore potenza di calcolo (hashpower) per essere creato. Ogni blocco contiene infatti una certa quantità di lavoro (proof-of-work) e, sommando questi lavori, si ottiene un totale. Più alto è questo totale, più è difficile replicare o attaccare quella struttura, e quindi più viene considerata affidabile.
Su questa base, ogni nodo determina autonomamente qual è l’ordine migliore dei blocchi. Poiché tutti i nodi seguono le stesse regole, alla fine arrivano quasi alla stessa sequenza. In questo modo si crea consenso nella rete.
Blue set vs red set
Un altro componente importante di GhostDAG è che i blocchi vengono classificati in due categorie, cioè blue blocks e red blocks:
- Blue blocks: sono blocchi che si inseriscono bene nella struttura principale della rete e sono sufficientemente connessi ad altri blocchi.
- Red blocks: sono blocchi che si allineano meno bene, ad esempio perché divergono troppo o hanno troppo poche connessioni.
A differenza delle blockchain tradizionali, i red blocks non vengono scartati come orphans, ma restano parte della rete e giocano un ruolo minore nell’ordine finale delle transazioni.
Questa classificazione aiuta la rete a determinare rapidamente quali blocchi sono “abbastanza affidabili” da ricevere priorità, senza che si perdano informazioni preziose.
La whitepaper di GhostDAG
La whitepaper di GhostDAG costituisce la base teorica del meccanismo di consenso utilizzato in Kaspa e ha l’obiettivo di affrontare il trilemma della blockchain: la sfida di raggiungere contemporaneamente scalabilità, sicurezza e decentralizzazione.
Si basa sul precedente protocollo PHANTOM, una proposta accademica che per prima ha provato a ordinare in modo sicuro un blockDAG. Sebbene PHANTOM fosse forte dal punto di vista teorico, nella pratica si è rivelato difficile da implementare in modo efficiente. GhostDAG è stato sviluppato come una variante pratica ed efficiente, che mantiene gli stessi principi ma è più scalabile in una rete reale.
Raggiungere il consenso
Uno dei contributi più importanti della whitepaper è l’estensione del classico modello di consenso di Nakamoto, raggiungendo il consenso con l’aiuto di una struttura DAG invece di una singola catena lineare di blocchi. Ciò significa che possono essere prodotti più blocchi contemporaneamente, senza sprecare potenza di calcolo, anche grazie all’uso dei cosiddetti blue e red blocks. Le blockchain tradizionali infatti possono elaborare un solo blocco alla volta, per cui altri blocchi trovati vengono scartati come orphan blocks.
Mantenimento dell’affidabilità dei blocchi
Un elemento centrale in GhostDAG è il cosiddetto parametro k. Questo parametro determina quanti blocchi simultanei vengono ancora considerati “sicuri” e affidabili all’interno della rete. In altre parole: indica quanta deviazione (a causa della latenza di rete o della produzione simultanea di blocchi) sia ancora accettabile senza mettere a rischio la sicurezza. La scelta di k dipende da fattori come la latenza della rete e la velocità di produzione dei blocchi e gioca un ruolo importante nell’equilibrio tra velocità e sicurezza.
Sicurezza
Come per Bitcoin, il modello di sicurezza di GhostDAG resta basato sull’assunzione che un attaccante controlli meno del 50% della potenza di calcolo totale (hashpower). Finché questa condizione è rispettata, per un attaccante è estremamente difficile manipolare l’ordine delle transazioni o riscrivere la rete.
Miglioramento della throughput
Un obiettivo importante di GhostDAG è aumentare la throughput (il numero di blocchi e transazioni che possono essere elaborati al secondo). Poiché i blocchi non competono più tra loro ma vengono combinati, la rete può produrre blocchi molto più rapidamente.
A differenza delle blockchain tradizionali, una frequenza di blocchi più elevata qui non porta automaticamente a più fork o a blocchi sprecati. Di conseguenza, GhostDAG può raggiungere una scalabilità significativamente più alta senza compromessi sulla sicurezza.
Differenza tra GhostDAG e DAGKnight
DAGKnight può essere visto come la prossima evoluzione di GhostDAG. Mentre GhostDAG utilizza un parametro k fisso (basato su assunzioni come la latenza di rete), DAGKnight è progettato senza un parametro fisso e si adatta dinamicamente alle condizioni di rete attuali.
Questo rende DAGKnight più flessibile e più resistente alle fluttuazioni della rete, come ritardi o picchi di attività. Entrambi i protocolli mantengono lo stesso modello di sicurezza, in cui la rete rimane sicura finché un attaccante controlla meno del 50% della hashpower totale.
Al momento GhostDAG costituisce la base attiva della rete Kaspa e viene utilizzato quotidianamente per elaborare transazioni e raggiungere il consenso. DAGKnight è ancora in fase di sviluppo ed è considerato un futuro aggiornamento del protocollo.
In breve: GhostDAG è il motore attuale di Kaspa, mentre DAGKnight viene sviluppato come un successore più flessibile e scalabile che si adatta dinamicamente alle condizioni di rete.
Che ruolo svolge GhostDAG all’interno di Kaspa?
1. Infrastruttura core:
GhostDAG costituisce la base della rete Kaspa e determina come funziona tutto. Assicura che le transazioni vengano messe nell’ordine corretto, valida i nuovi blocchi e fa sì che tutti i nodi della rete si trovino d’accordo tra loro (consenso).
2. Alta velocità e scalabilità:
Grazie a GhostDAG, più blocchi possono essere elaborati contemporaneamente, consentendo a Kaspa di produrre più blocchi al secondo. Ciò porta a un’elevata velocità di elaborazione (throughput) senza che la rete si centralizzi.
3. Nessun mining sprecato:
A differenza delle blockchain tradizionali, i blocchi non vengono buttati via se vengono trovati nello stesso momento. Praticamente tutti i blocchi vengono utilizzati all’interno del blockDAG, sfruttando in modo più efficiente la potenza di calcolo (hashpower) impiegata.
4. Mantenimento dei principi Proof-of-Work:
GhostDAG garantisce che Kaspa mantenga le proprietà più importanti del Proof-of-Work, come decentralizzazione, sicurezza basata sulla hashpower e una rete aperta (permissionless). Allo stesso tempo, aggiunge la scalabilità di una struttura DAG.
In conclusione
GhostDAG costituisce il nucleo della rete Kaspa e mostra come una struttura BlockDAG possa funzionare in modo efficiente e sicuro nella pratica. Utilizzando un parametro k fisso, il protocollo riesce a trovare un buon equilibrio tra velocità, sicurezza e consenso, anche in una rete con molti blocchi simultanei.
Sebbene siano in arrivo nuovi sviluppi come DAGKnight, GhostDAG dimostra già oggi di essere una soluzione robusta e scalabile per l’elaborazione delle transazioni. Rappresenta quindi un passo importante nell’evoluzione delle reti distribuite e getta le basi per ulteriori innovazioni all’interno dell’ecosistema Kaspa.