Cuprins
Introducere
Ce este un graf aciclic direcționat?
Cum funcționează un graf aciclic direcționat?
Avantajele și dezavantajele graficelor aciclice direcționate
Avantajele grafurilor aciclice direcționate
Dezavantajele grafurilor aciclice direcționate
Rezuma
Introducere
Când ne gândim la criptomonedă, ne vin imediat în minte concepte precum blockchain sau „tehnologia contabilă distribuită”. De la apariția Bitcoin, sute de criptomonede au apărut pe piață, iar majoritatea au baze similare arhitecturii de rețea. Utilizatorii pot transfera valoare sau pot interacționa cu aplicații descentralizate prin aceste structuri de date.
Într-un blockchain, blocuri noi sunt adăugate în mod regulat la lanțul în creștere. Fiecare bloc este conectat la blocul anterior cu un fel de legătură criptografică (un hash, mai exact). Fiecare bloc conține cele mai recente tranzacții publicate de utilizator.
Cu toate acestea, există de obicei o perioadă de așteptare între publicarea unei tranzacții și includerea acesteia într-un bloc, la fel ca așteptarea unui tren într-o gară. În funcție de dimensiunea mașinii (dimensiunea blocului) și de numărul de persoane care așteaptă (tranzacții în așteptare), este posibil ca pasagerii să nu poată lua următorul tren, sau chiar pe următorul. Timpul de așteptare pentru confirmarea unei tranzacții poate varia de la câteva secunde la câteva ore.
Pentru mulți oameni, aceasta este o afacere bună. La urma urmei, această metodă este foarte sigură și nu se bazează pe o agenție de coordonare centralizată. Alții cred că tehnologia blockchain va deveni în cele din urmă învechită. Oponenții cred că, pe termen lung, problemele de scalabilitate vor împiedica aplicarea și promovarea pe scară largă a tehnologiei blockchain.
Susținătorii cred că viitoarele rețele de plată cu criptomonede vor fi construite pe o arhitectură complet diferită, și anume un grafic aciclic direcționat sau „DAG”.
Ce este un grafic aciclic direcționat?
Un grafic aciclic direcționat este o structură de date complet diferită și poate fi considerată ca o bază de date care conectează diferite informații. „Graficul aciclic direcționat” este un concept foarte informativ, așa că haideți să-l descompunem strat cu strat.

Graficul aciclic dirijat.
Conceptual, un graf aciclic direcționat arată ca cel de mai sus, constând din vârfuri (sfere) și muchii (linii). Ambele sunt direcționale, ambele punctează într-o singură direcție (după cum arată săgețile) și ambele sunt aciclice, adică nu există cicluri, iar vârfurile nu se vor întoarce la punctul de plecare inițial. Cu alte cuvinte, dacă pornim de la un punct și mergem de-a lungul graficului, nu ne putem întoarce la același punct de plecare. Vom continua să explicăm în detaliu mai jos.
Această structură de date este adesea folosită în modelarea datelor. În știință sau medicină, graficele aciclice direcționate sunt folosite pentru a observa relația dintre variabile și pentru a determina influența lor reciprocă. De exemplu, folosim acest grafic pentru a stabili conexiuni între nutriție, ciclurile de somn și simptomele fizice pentru a determina modul în care acești indicatori afectează pacienții.
Suntem mai preocupați de cum să folosim acest grafic pentru a ajunge la un consens într-o rețea de criptomonede distribuite.
Cum funcționează graficele aciclice direcționate?
O criptomonedă bazată pe un grafic aciclic direcționat, în care fiecare vârf din structură reprezintă o tranzacție. Nu există niciun concept de blocuri implicate și nu este necesară minarea pentru a extinde baza de date. Prin urmare, tranzacțiile nu sunt incluse în blocuri în mod colectiv, ci sunt construite una peste alta. Când un nod trimite o tranzacție, există încă o cantitate mică de operațiuni de dovadă a lucrului, care asigură că rețeaua nu este interferată de informațiile de spam, verificând și tranzacțiile anterioare.
Pentru a adăuga o nouă tranzacție, aceasta trebuie să fie construită pe lângă tranzacțiile anterioare. Să presupunem că Alice creează o nouă tranzacție. Pentru ca tranzacția să fie confirmată, trebuie să facă referire la tranzacțiile anterioare, ceea ce este oarecum similar cu referința unui bloc la blocul anterior în Bitcoin, cu excepția faptului că aici trebuie să se facă referire la tranzacții multiple.
În unele sisteme, un algoritm selectează pe ce tranzacții (sau „se încheie”) o nouă tranzacție trebuie să fie construită. Cu cât greutatea cumulată a terminalului este mai mare, cu atât este mai ușor de selectat. Greutatea cumulată măsoară numărul de confirmări de-a lungul drumului până la final.
Tranzacția pe care Alice urmează să o creeze mai sus nu a fost confirmată. Cu toate acestea, odată ce aceste tranzacții sunt menționate de Alice, acestea vor fi confirmate. Tranzacția curentă a lui Alice nu a fost încă confirmată, așa că alții trebuie să creeze tranzacții pe deasupra înainte de a putea fi acceptată.
Utilizatorii sunt mai dispuși să confirme tranzacțiile cu ponderi „mai mari”, astfel încât sistemul să poată continua să se dezvolte. În caz contrar, utilizatorii vor continua să creeze tranzacții pe deasupra tranzacțiilor vechi fără niciun scrupul.
Blockchain poate preveni cu ușurință problema dublei cheltuieli. Aceleași fonduri nu pot fi cheltuite de două ori într-un bloc, iar nodurile pot detecta cu ușurință astfel de încercări și pot respinge toate blocurile care conțin tranzacții conflictuale. Este foarte costisitor pentru mineri să producă blocuri, așa că mecanismul îi stimulează să concureze corect.
Graficele aciclice direcționate pot preveni și problemele de cheltuieli duble, cu un mecanism similar, dar fără implicarea minerilor. Când se confirmă o tranzacție mai veche, un nod evaluează întreaga cale înapoi la prima tranzacție din DAG pentru a se asigura că expeditorul are un echilibru suficient. Pot fi multe căi, dar doar una trebuie verificată.

Dacă un utilizator plasează o tranzacție pe o cale nevalidă, tranzacția sa va fi ignorată. Poate că tranzacțiile acestor utilizatori sunt valide, dar, deoarece tranzacția anterioară a fost invalidă, nimeni nu este dispus să extindă această cale.
Acest lucru poate să nu pară intuitiv la prima vedere - cum ar fi posibil ca diferite ramuri să nu fie complet conștiente de existența celeilalte? Deci, vor cheltui utilizatorii aceleași fonduri pe ramuri diferite?

Este într-adevăr posibil. Cu toate acestea, această problemă poate fi rezolvată prin selectarea unui algoritm pentru a crește greutatea cumulativă la final. Adică, în timp, o ramură va prospera mai mult decât celelalte. Ramurile mai slabe sunt abandonate, iar reteaua continua sa creasca si sa se dezvolte pe ramurile cu cea mai mare greutate.
Ca și în cazul blockchain-ului, nu există o confirmare absolută în această rețea și nu putem fi niciodată complet siguri dacă o tranzacție va fi inversată. Deși extrem de puțin probabil, în teorie un bloc Bitcoin sau Ethereum ar putea fi „anulat”, inversând toate tranzacțiile din cadrul acestuia. Cu cât sunt adăugate mai multe blocuri după o tranzacție, cu atât este mai liniștitor că tranzacția este sigură. Acesta este motivul pentru care recomandăm utilizatorilor să aștepte șase confirmări înainte de a angaja fonduri.
Într-un grafic aciclic direcționat, cum ar fi IOTA Tangle, există un concept numit „încredere de confirmare”. Algoritmul de selecție este rulat de 100 de ori, numărând numărul de tranzacții aprobate direct sau indirect de punctele finale selectate. Cu cât procentul este mai mare, cu atât este mai mare încrederea că tranzacția rămâne „decontată”.
Acest lucru pare să aibă ca rezultat o experiență slabă pentru utilizator. Dar nu este. Dacă Alice îi trimite lui Bob 10 MagicDAGTokens, nu trebuie să-și facă griji dacă a ales sfârșitul corect al graficului, deoarece portofelul ei face următoarele în fundal:
Selectați punctele finale cu cea mai mare pondere (rețineți, acestea sunt cele cu cele mai multe confirmări cumulate).
Urmăriți tranzacțiile anterioare de-a lungul căii pentru a vă asigura că există suficient sold la sfârșit pentru a efectua plata.
Odată ce cerințele de mai sus sunt îndeplinite, tranzacția va fi adăugată la graficul aciclic direcționat și tranzacția creată va fi confirmată.
Pentru Alice, acesta este un proces normal de operare a criptomonedei. Ea introduce adresa lui Bob și suma pe care dorește să o plătească și apasă pe Trimite. Lista de mai sus este dovada muncii pe care fiecare participant o va rula la crearea unei tranzacții.
➠ Vrei să-ți începi călătoria criptomonedei? Bun venit la Binance pentru a cumpăra Bitcoin!
Avantajele și dezavantajele grafurilor aciclice direcționate
Avantajele graficelor aciclice direcționate
viteză
Nu există limită de timp de blocare și oricine poate publica și procesa tranzacții în orice moment. Utilizatorii nu sunt limitati în numărul de tranzacții pe care le pot trimite, atâta timp cât tranzacțiile anterioare sunt confirmate mai întâi.
Nu este nevoie de minerit
Graficele aciclice direcționate nu folosesc algoritmul convențional de consens Proof-of-Work. În comparație cu criptomonede, care se bazează pe minerit pentru a menține rețelele blockchain, amprenta de carbon a graficelor aciclice direcționate este doar o fracțiune.
Fără taxe de tranzacție
Deoarece nu există mineri, utilizatorii nu trebuie să plătească taxe pentru postarea tranzacțiilor, dar uneori sunt necesare taxe mici pentru anumite tipuri de noduri. Taxele mici (gratuit este mai bine) sunt foarte atractive pentru utilizatorii care doresc să facă microplăți, deoarece taxele mari de rețea le-ar face munca în zadar.
Fără probleme de scalabilitate
În comparație cu rețelele blockchain tradiționale, graficele aciclice direcționate nu sunt restricționate de timpul de blocare și pot procesa mult mai multe tranzacții pe secundă. Mulți susținători cred că acest lucru va face DAG-urile mai valoroase pentru cazurile de utilizare a Internetului obiectelor (IoT) în care interacționează toate tipurile de mașini.
Dezavantajele graficelor aciclice direcționate
Nu este complet descentralizat
Protocoalele bazate pe grafice aciclice direcționate au diverse proprietăți centralizate. Unii văd aceasta ca o soluție pe termen scurt pentru pornirea rețelei, dar rămâne de văzut dacă DAG-urile pot prospera fără interferențe terțe. Dacă acest lucru nu reușește, rețeaua este lăsată deschisă la vectori de atac care ar putea duce în cele din urmă la daune grave.
Nu a fost testat pe scară largă
Deși criptomonedele bazate pe DAG există de câțiva ani, va fi nevoie de timp pentru ca acestea să devină utilizate pe scară largă. Prin urmare, este dificil de prezis de ce tip de mecanism de stimulare se vor bucura utilizatorii când vor folosi sistemul în viitor.
Rezuma
Nu există nicio îndoială că graficele aciclice direcționate vor fi o tehnologie interesantă pentru construirea rețelelor de criptomonede. În prezent, există relativ puține proiecte care utilizează această structură de date și nu s-a maturizat încă.
Chiar și așa, dacă DAG-urile își realizează potențialul, ele vor alimenta cu siguranță multe ecosisteme de scalabilitate. Există nenumărate cazuri de utilizare pentru tehnologia DAG în zonele în care este necesar un randament ridicat și gratuit, cum ar fi Internetul obiectelor (IoT) și microplățile.
