Un graf aciclic direcționat (DAG) este o structură de date formată din vârfuri conectate prin muchii unidirecționale care nu formează niciodată o buclă. În registrele distribuite, vârfurile pot reprezenta tranzacții, evenimente sau blocuri, iar legăturile lor înregistrează dependențe sau referințe la istoricul anterior. Mai multe ramuri pot crește simultan, în loc să fie forțată fiecare actualizare într-un singur lanț liniar de blocuri.

Un DAG descrie modul în care este organizată informația, nu un mecanism complet de consens. O rețea are în continuare nevoie de reguli pentru admiterea evenimentelor, detectarea conflictelor, ordonarea tranzacțiilor relevante, rezistența la atacuri Sybil și atingerea finalității. Hashgraph-ul Hedera, protocoalele block-DAG, sistemele transaction-DAG și modelele de lanț de conturi folosesc structurile grafului în moduri diferite, astfel încât termenul de blockchain DAG nu ar trebui să implice un model unic partajat de securitate sau performanță.

Ce este o arhitectură DAG?

Un graf aciclic direcționat (DAG) este o arhitectură de registru care organizează tranzacțiile sau blocurile ca o rețea de intrări conectate, mai degrabă decât ca un singur lanț liniar. Direcționat înseamnă că legăturile urmează o direcție definită, iar aciclic înseamnă că acele legături nu pot reveni la un punct anterior. Acest lucru permite procesarea și referirea în paralel a mai multor tranzacții sau blocuri.

Nu fiecare rețea bazată pe DAG este din punct de vedere tehnic un blockchain. Unele sisteme DAG înregistrează tranzacții individuale ca intrări în graf, în timp ce altele organizează blocuri într-un DAG înainte de a determina ordinea lor finală. Modul în care funcționează o rețea DAG depinde, prin urmare, de regulile sale de consens, de ordonarea tranzacțiilor, de protecția împotriva dublei cheltuieli și de mecanismul de finalitate.

Cum funcționează un registru distribuit DAG?

Un registru DAG adaugă tranzacții sau blocuri noi ca vârfuri care fac referire la intrări anterioare, în loc să extindă un singur lanț liniar. Deoarece diferite vârfuri pot fi create simultan, activitatea independentă poate fi procesată și partajată în paralel în rețea.

1. Intrările noi fac referire la cele anterioare: Fiecare tranzacție sau bloc se leagă de unul sau mai multe vârfuri anterioare.

2. Nodurile partajează graful: Participanții fac schimb de intrări noi și reconstruiesc istoricul tranzacțiilor rețelei din acele referințe.

3. Consensul interpretează DAG-ul: Protocolul stabilește modul în care ramurile sau tranzacțiile concurente ar trebui ordonate sau ponderate.

4. Conflictele sunt rezolvate: Dacă două tranzacții încearcă să cheltuiască aceleași fonduri, regulile de consens predefinite stabilesc care dintre ele este acceptată.

5. Tranzacțiile ating finalitatea: În funcție de rețea, finalitatea poate proveni din votare, pondere acumulată, reguli de ordonare sau un alt mecanism de consens.

Care sunt principalele beneficii și cazuri de utilizare ale registrelor DAG?

Structurile DAG sunt utile atunci când un protocol dorește să înregistreze activitatea concurentă înainte de a deriva ordinea finală acceptată. Avantajele lor depind de rețea și nu pot fi deduse doar din forma grafului.

1. Actualizările concurente pot intra în istoric. Mai multe noduri pot crea evenimente sau tranzacții care fac referire la istoricul recent fără a aștepta un vârf global de bloc, reducând un punct de serializare structurală.

2. Relațiile de tip gossip pot transporta informații de consens. În hashgraph, legăturile dintre evenimente înregistrează cine a comunicat cu cine, permițând nodurilor să calculeze voturi virtuale din istoricul partajat, în loc să difuzeze voturi separate pentru fiecare decizie.

3. Înregistrările de înaltă frecvență pot fi organizate eficient. Plățile, marcajele temporale, mesajele, evenimentele din lanțul de aprovizionare și activitatea mașinilor pot beneficia de ingestia bazată pe graf atunci când protocolul poate rezolva dependențele și conflictele lor.

4. Graful poate expune istoricul cauzal. Referințele arată ce evenimente erau cunoscute înainte de crearea unui alt eveniment, oferind informații pe care un algoritm de consens le poate folosi pentru ordonare sau confirmare.

Care sunt exemple de registre distribuite bazate pe DAG?

Rețelele bazate pe DAG variază foarte mult. Compararea lor necesită examinarea consensului, a permisiunilor, a modelului de tranzacții, a finalității și a suportului pentru contracte inteligente, mai degrabă decât gruparea lor doar după terminologia grafului.

• Hedera Hashgraph. Nodurile Hedera fac gossip cu evenimente semnate care conțin tranzacții și hash-uri ale evenimentelor părinte, construind un hashgraph care susține votarea virtuală și marcajele temporale de consens.

• IOTA Designuri Tangle. IOTA a folosit istoric un DAG de tranzacții numit Tangle, deși arhitectura și consensul său au evoluat, astfel încât documentația actuală a protocolului trebuie să ghideze orice afirmație de implementare.

• Avalanche Familie de consens. Avalanche a introdus un design de consens orientat spre DAG pentru votare repetată prin subeșantionare, în timp ce lanțurile și mașinile virtuale implementate pot expune istorice liniare de blockchain pentru anumite sarcini.

• Nano block-lattice. Nano organizează actualizările fiecărui cont în propriul lanț de conturi într-un graf mai larg, permițând deținătorilor de conturi să actualizeze independent, în timp ce votarea reprezentanților rezolvă conflictele.

Care sunt limitările și riscurile registrelor DAG?

Un DAG poate admite istoric concurent, dar concurența face dificile ordonarea, rezolvarea conflictelor, stocarea, tăierea și sincronizarea rețelei. Securitatea provine din protocolul complet și din modelul participanților, nu din absența unui lanț liniar.

1. Consensul rămâne necesar. Graful singur nu poate decide între duble cheltuieli, ramuri răuvoitoare sau evenimente incompatibile, așa că rețeaua are în continuare nevoie de votare, ponderare, lideri, comitete sau un alt proces de acord.

2. Creșterea grafului poate crește presiunea pe resurse. Nodurile pot avea nevoie să rețină, să parcurgă, să indexeze și să sincronizeze multe vârfuri și relații, ceea ce face ca tăierea și reprezentarea eficientă a stării să fie importante pentru operarea pe termen lung.

3. Finalitatea poate fi dificil de explicat. Utilizatorii trebuie să distingă primirea evenimentului, includerea în graf, încrederea, ordonarea prin consens și finalitatea ireversibilă, deoarece aceste etape diferă între protocoalele DAG.

4. Rezistența la Sybil variază în funcție de rețea. Un protocol poate depinde de miză, apartenență permisă, votare a reprezentanților, reputație, dovada muncii, sau controale de rată, fiecare creând costuri de atac și ipoteze de guvernanță diferite.

5. Interoperabilitatea poate fi mai restrânsă. Portofelele, exploratorii, sistemele de custodie și instrumentele pentru contracte inteligente create pentru  blockchain-uri bazate pe conturi pot necesita integrări specializate pentru graful și modelul de tranzacții al unei rețele.

Este un DAG la fel ca un blockchain?

Un DAG nu este automat același lucru cu un blockchain. Un blockchain tradițional este el însuși o structură direcționată restricționată, deoarece blocurile fac referire la blocuri anterioare, dar istoricul său canonic este de obicei prezentat ca un singur lanț ordonat. Un DAG general poate păstra mai multe ramuri concurente sau istorice de conturi și poate deriva ulterior ordinea acceptată. Unele protocoale sunt block-DAG-uri, unele sunt DAG-uri de tranzacții, iar altele folosesc un DAG la nivel intern expunând în același timp o vedere liniară a registrului. Regulile de date și de consens ale protocolului determină eticheta corectă.

Concepte conexe

1. Ce este blockchain?

2. Ce este consensul?

3. Ce este hash-ul?

4. Ce este toleranța bizantină la erori?

Lecturi suplimentare

1. Ce este Hedera (HBAR) și cum alimentează consensul aBFT ecosistemul Hashgraph?

2. Cum să mizezi Hedera (HBAR) și să câștigi recompense pasive în 2026

3. Ce este ETF-ul Hedera (HBAR) și cum funcționează?

4. Ce este un contract inteligent? O fundație a lumii blockchain