I DAG o Acyclic Directed Graphs sono una costruzione matematica e computazionale che consentirebbe la creazione di sistemi e reti distribuiti con molte somiglianze funzionali a quelle offerte con la tecnologia blockchain.
Lalla creazione della tecnologia blockchain by Satoshi Nakamoto È stata una rivoluzione tecnologica senza eguali e da allora molti sviluppi hanno cercato di posizionarsi come il prossimo grande passo, uno di quei tentativi è rappresentato dai DAG.
La sigla GIORNO mezzi Grafico aciclico diretto o Grafico aciclico diretto, è una costruzione conosciuta da molti anni nel mondo della matematica e dei computer. In effetti, sono di gran lunga più vecchi della tecnologia blockchain. Ma recentemente hanno catturato l'attenzione grazie alla possibilità tecnica di costruire sistemi distribuiti identici a quelli creati oggi utilizzando la tecnologia blockchain.
Interessante, non credi? Questa tecnologia “sconosciuta” ed entusiasmante è intesa da alcune persone come uno strumento in grado di offrirci le funzionalità della blockchain, promettendo anche importanti miglioramenti. Ma cosa c'è di vero in tutto questo? Cosa sono realmente i DAG? Quali sono le sue origini? I DAG sono davvero l'evoluzione della tecnologia Blockchain? Perché Satoshi Nakamoto in tutta la sua bellezza non li ha usati in primo luogo? Risponderemo a queste e ad altre domande di seguito.
Corso elementare NFT
Livello di baseÈ chiaro che nulla sarà lo stesso dagli NFT, e quindi è fondamentale conoscere tutti gli aspetti basilari che contiene questo tipo di token.
Cos'è DAG e qual è la sua origine?
Prima di tutto, dovresti sapere che i DAG non sono un nuovo concetto. In effetti, i DAG sono noti sin dallo sviluppo di Teorie dei grafi in matematica e che sono stati successivamente utilizzati nell'informatica a causa della loro enorme utilità in questo campo. Come abbiamo discusso, quando parliamo di DAG parliamo di un grafico con due proprietà molto interessanti: sono diretti e aciclici. Ma cosa significa questo?
Primo, un grafo è diretto, quando tutti i nodi (o vertici) che fanno parte del grafo sono collegati da spigoli che indicano una direzione ben definita.
Secondo si parla di grafo aciclico, quando ci troviamo di fronte a un grafo per il quale non esistono cicli di viaggio. In altre parole, è impossibile passare da un vertice del grafo, passare attraverso il resto dei suoi vertici e terminare nel vertice in cui è iniziato il viaggio.
Grazie a questi concetti di base, possiamo quindi dire che:
Un grafo diretto aciclico, o DAG per il suo acronimo in inglese, è un grafo diretto finito senza cicli diretti. Ciò significa che i suoi vertici sono collegati da spigoli con una direzione specifica e il percorso dell'intero grafo ci porta dal punto A al punto B, senza avere la possibilità di tornare in alcun modo al punto in A.
Lo studio di questo tipo di strutture iniziò nel 1878, quando James Joseph Sylvester, un famoso matematico inglese, ha iniziato i suoi studi di grafici. Da allora, la teoria dei grafi si è dedicata allo studio e alla classificazione di questi tipi di strutture particolarmente utili in matematica, fisica, informatica, linguistica e altre aree della scienza.
Matematica e grafici Cosa c'entra questo con le criptovalute?
Ora che conosci l'origine e il concetto di un DAG, ti starai sicuramente chiedendo, cosa è legato a tutto questo alle criptovalute e alla blockchain? Come possiamo utilizzare un DAG per fare lo stesso della blockchain?
Bene, entrambe le domande sono molto valide e le risposte sono altrettanto valide e ti daranno una nuova prospettiva su come la blockchain può o potrebbe evolversi. Per fare ciò, immaginiamo quanto segue:
Una blockchain o catena di blocchi è ciò che dice il suo nome: le informazioni raggruppate in set sono correlate in modo ordinato e crittografico con il set precedente. E quella relazione non può essere interrotta in nessun punto precedente della catena senza sovrascrivere immediatamente i blocchi successivi.
Qualcosa di simile a ciò che è mostrato nel grafico seguente in cui vediamo una catena senza modifiche nella sua storia e un'altra con modifiche in detta storia.
Bene, questa struttura di unire i blocchi in un modo specifico per creare una cronologia immutabile con loro, e che se viene modificata, viene generato un fork (come mostrato nel grafico sopra), possiamo farlo anche con un DAG.
Per quello guarda il seguente esempio:
Se guardi da vicino vedrai che esiste una relazione tra i vertici (che in blockchain sono blocchi) e quella relazione è data dai bordi (il hash e il Merkle Root di blocchi in blockchain). Se nel DAG modifichiamo un edge, qualunque esso sia, la sua relazione viene riscritta, generando un nuovo DAG, e quindi una storia diversa (un fork nella blockchain).
Questo altro DAG modificato è un fork o riscrittura del DAG dell'esercizio originale e ci mostra che è possibile ricreare la stessa relazione data nella blockchain, utilizzando questo tipo di grafico.
Proprietà DAG
Ora, i DAG hanno determinate proprietà che sono vitali per funzionare così come sono:
- Hanno un punto di partenza (origine) e un punto di arrivo o di arrivo (discendente). Essendo diretti, questo garantisce che il nostro percorso vada sempre da un punto di origine a un punto finale e non possiamo tornare indietro su quel percorso. Se la costruzione di questa struttura viene applicata consecutivamente, creeremo una cronologia incrementale all'interno del DAG, come accade in una blockchain.
- La modifica di una relazione tra i vertici riscrive l'intero DAG, poiché la sua struttura e il suo peso sono cambiati. Questo è equivalente a quello se modifichiamo un blocco nella blockchain, il risultato è una blockchain diversa da quel punto in poi.
- Sono parallelizzabili. Un gruppo di disponibilità del database può avere generazione parallela e percorsi di valore diverso tra vertici diversi. Ciò ottimizza la sua generazione e la capacità di verificare la relazione tra i vertici e le informazioni che possono contenere.
- Sono riducibili. Una proprietà unica dei DAG è che la loro struttura può essere ridotta a un punto ottimale in cui il loro viaggio incontra tutte le relazioni ivi specificate senza alcuna perdita. In pratica significa che è possibile ridurre le relazioni dei vertici (o blocchi) ad un punto minimo in cui tale riduzione non pregiudichi la capacità di verificare le informazioni di qualsiasi vertice in qualsiasi momento. Ciò è particolarmente utile ad esempio in portafoglio leggero (light wallets) o SPV.
DAG vs Blockchain quale è meglio?
Ora, poiché sappiamo cosa sono i DAG, le loro proprietà e che possono fare lo stesso lavoro di una blockchain o di una catena di blocchi, possiamo porci la domanda, quale è meglio?
Ebbene, la risposta a questa domanda è complessa e rispondere dipende dal prendere diverse cose in prospettiva. Primo. Sebbene la struttura blockchain possa essere considerata, ancora oggi a più di 10 anni dalla sua creazione, una tecnologia sperimentale, i DAG sono una tecnologia attualmente altamente sperimentale nel contesto delle criptovalute.
D'altra parte, la creazione di un sistema di mining e consenso è molto più complessa in un DAG. Il modo in cui i blocchi possono essere generati, creare relazioni tra di loro, ridurre tali relazioni senza perdite, tra le altre funzioni aggiunge un livello più elevato di complessità algoritmica.
Questa maggiore complessità porta anche a errori di programmazione o fallimenti nella strutturazione del funzionamento del sistema. E se c'è qualcosa di peggio di un grave errore del software, è un guasto nella struttura di un sistema che implica alterare completamente il suo funzionamento per ripararlo, e se ciò è possibile.
È possibile che Satoshi Nakamoto abbia visto e affrontato questo problema e abbia invece deciso di progettare una soluzione molto più semplice e altrettanto efficace, creando così la blockchain. Senza dubbio, questo è qualcosa che non sapremo mai, poiché non ne esiste una registrazione pubblica.
Pro e contro
Vantaggi
- In un DAG un nodo può emettere e convalidare una transazione da solo. Per ottenere ciò, la transazione e la sua convalida devono essere collegate e aggiungere la verifica ad almeno due transazioni precedenti all'interno del DAG.
- Sono altamente scalabili grazie al modo decentralizzato e parallelo del loro funzionamento. Ciò è possibile perché le transazioni in un DAG sono indipendenti. Altrettanto indipendenti sono i processi di convalida per esso.
- Le transazioni in un DAG creano uno schema noto come "Transazioni con doppia conferma". Ciò significa che in qualsiasi schema, una transazione con solo due conferme può essere considerata irreversibile, un fatto che può richiedere alcuni secondi grazie al lavoro parallelo della rete.
- Non ci sono minatori nei DAG, quindi non ci sono pagamento di tasse o commissioni di grande pregio. Grazie alla facilità di convalida crittografica e alle sue elevate prestazioni, i profitti dei nodi dalle transazioni confermate vengono recuperati dal volume totale di transazioni assistite tra gli altri servizi che il nodo può fornire.
Svantaggi
- DAG è complesso da sviluppare, soprattutto a causa del suo complesso algoritmo di consenso e delle protezioni necessarie per evitare che la sua debolezza di parallelismo venga sfruttata.
- I gruppi di disponibilità del database richiedono sistemi di coordinamento. Questi sistemi di coordinamento diventano un punto di guasto che può influire negativamente sul funzionamento della rete.
- Molti progetti DAG non utilizzano strumenti crittografici sicuri e questo apre la porta agli attacchi. Questo è stato presentato nella famosa criptovaluta IOTA, dove le protezioni crittografiche della rete sono state aggirate da un generatore di seed online. Gli aggressori hanno utilizzato questo generatore per ottenere l'accesso ai fondi degli utenti IOTA e rubare i loro soldi. In totale, più di 10 milioni di dollari sono andati persi a causa di questo attacco.
- L'utilizzo di deboli tecniche crittografiche rende la generazione di indirizzi praticamente inesistente, essendo questo un serio problema di privacy.
Casi d'uso del DAG
Attualmente ci sono diversi progetti che fanno uso della tecnologia DAG per presentare opzioni reali e funzionali sotto forma di criptovalute. Alcuni di questi progetti sono:
Ethereum
L'algoritmo di mining di EthereumIl noto Ethash (o Ethash Dagger-Hashimoto, come è anche noto), utilizza i DAG per creare una complessa struttura di dati che attualmente può raggiungere 4-5 GB di dati. Questa struttura è creata dall'algoritmo Dagger, progettato da Vitalik Buterine il suo obiettivo è fornire una base di mining per l'algoritmo di Hashimoto.
IOTA
IOTA è un progetto di criptovaluta rivolto al mondo di IoT (Internet of Things), che promette, grazie al suo DAG, transazioni veloci e molto economiche e una scalabilità senza pari. Il progetto è stato avviato nel 2016, con l'intento di offrire ai miliardi di dispositivi connessi all'Internet of Things un'infrastruttura solida e scalabile per trasmettere valore.
Da allora si è distinto per la sua interessante proposta. Tuttavia, è stato influenzato negativamente da gravi problemi di sicurezza che hanno colpito i suoi utenti e hanno portato alla perdita di circa 50 milioni di dollari, una somma significativa che rappresenta circa il 10% della sua attuale capitalizzazione di mercato.
Obyte
Obyte è un progetto incentrato anche sulla generazione di una criptovaluta e altri servizi integrati in un DAG. Il progetto risale al 2016 ed è stato presentato in Bitcointalk. È un piccolo progetto, con una capitalizzazione di mercato di circa 12 milioni di euro. Tuttavia, nonostante ciò, il valore del suo token è di $ 17 USD e la sua offerta è limitata a 1 milione di monete. Questo rende Obyte un token con un valore di mercato stranamente alto. Viene utilizzato, soprattutto, in Russia (il paese da cui proviene il suo creatore, Anton Churyumov).
Corso introduttivo alla DeFi
Livello medioÈ ora di aggiornare. La finanza tradizionale è cambiata, scopri il rivoluzionario ecosistema della finanza decentralizzata (DeFi).