Introducere

Când te gândești la criptomonedă, termenii „blockchain” sau „tehnologie de registru distribuit” probabil vin în minte. De la lansarea Bitcoin, au fost create sute de alte criptomonede. Majoritatea dintre ele se bazează pe o arhitectură de rețea similară. Structurile lor de date permit utilizatorilor să transfere valoare sau să interacționeze cu aplicații descentralizate.

Într-un blockchain, un nou bloc este adăugat periodic unui lanț de blocuri în creștere. Fiecare bloc este conectat la cel anterior printr-un fel de legătură criptografică (în special, un hash). În fiecare dintre aceste blocuri sunt tranzacții recente care au fost difuzate de utilizatori.

Dar există adesea o perioadă de așteptare între difuzarea unei tranzacții și includerea acesteia într-un bloc. Gândește-te la asta ca și cum ai aștepta un tren într-o gară. În funcție de dimensiunea vagoanelor (dimensiunea blocului) și de numărul de alte persoane care așteaptă (tranzacții în așteptare), s-ar putea să nu reușiți nici măcar să luați următorul tren. Sau chiar cel de după aceea. Puteți aștepta oriunde de la secunde la ore pentru ca tranzacția să fie confirmată.

Pentru mulți, acesta este un compromis decent. La urma urmei, oferă un grad foarte ridicat de securitate fără a se baza pe un coordonator centralizat. Pentru alții, tehnologia blockchain are o dată de expirare. Detractorii cred că, pe termen lung, problemele de scalabilitate cu care se confruntă tehnologia blockchain vor împiedica adoptarea în masă.

Unii cred că viitorul rețelelor de plăți cu criptomonede se află într-o arhitectură cu totul diferită - grafice aciclice direcționate (sau DAG-uri).


Ce este un DAG?

Un DAG este un alt tip de structură de date – gândiți-vă la el ca la o bază de date care conectează diferite informații. „Graficul aciclic direcționat” este un termen încărcat, așa că să începem prin a-l defalca.

A Directed Acyclic Graph.

Un grafic aciclic direcționat.


Conceptual, DAG-urile arată ceva ca cele de mai sus. Sunt formate din vârfuri (sfere) și margini (liniile care le unesc). Sunt direcționați pentru că se îndreaptă într-o singură direcție (puteți vedea acest lucru ilustrat cu săgeți). Sunt aciclice (adică, nu ciclice), deoarece vârfurile nu se întorc pe ele însele – dacă începi de la un punct și urmărești graficul, nu te poți întoarce la același punct. Acest lucru va deveni mai clar în curând.

Astfel de structuri de date sunt utilizate în general pentru modelarea datelor. S-ar putea să vă bazați pe un DAG în domenii științifice sau medicale pentru a observa relația dintre variabile și pentru a determina modul în care acestea se impactează reciproc. De exemplu, puteți lua lucruri precum nutriția, ciclurile de somn și simptomele fizice, astfel încât să puteți crea legături între ele pentru a stabili modul în care acestea afectează un pacient.

În scopurile noastre, suntem mai interesați de modul în care acestea pot ajuta la obținerea consensului într-o rețea de criptomonede distribuite.


Cum funcționează un DAG?

Într-o criptomonedă bazată pe DAG, fiecare vârf din structură reprezintă o tranzacție. Nu există nicio noțiune de blocuri aici și nici nu este necesară minarea pentru a extinde baza de date. Deci, în loc să adune tranzacțiile în blocuri, fiecare tranzacție este construită peste alta. Totuși, există o mică operațiune de Proof-of-Work care se face atunci când un nod trimite o tranzacție. Acest lucru asigură că rețeaua nu este spam și validează, de asemenea, tranzacțiile anterioare.

Pentru ca o nouă tranzacție să fie adăugată, aceasta trebuie să fie construită peste cele mai vechi. Să presupunem că Alice creează o nouă tranzacție. Pentru ca aceasta să fie recunoscută, această tranzacție trebuie să facă referire la cele anterioare. Un pic asemănător cu modul în care un bloc din Bitcoin face referire la cel care a apărut înainte, dar există mai multe tranzacții la care se face referire.

În unele sisteme, un algoritm va selecta pe ce tranzacții (sau „sfaturi”) trebuie să se bazeze o nouă tranzacție. Sfaturile mai probabil să fie selectate sunt cele care au mai multă greutate acumulată – o măsură a câte confirmări are calea către vârf.

Tranzacțiile pe care le va construi Alice sunt neconfirmate. Dar odată ce Alice le face referire, ele devin confirmate. Tranzacția lui Alice este acum neconfirmată, așa că altcineva trebuie să construiască peste ea înainte de a fi acceptată.

Este mai probabil ca utilizatorii să confirme tranzacțiile cu o pondere „mai mare”, astfel încât sistemul să continue să crească. În caz contrar, nimic nu ar împiedica utilizatorii să construiască continuu pe tranzacții mai vechi.

Cu blockchain-uri, protecția dublu-cheltuială este destul de ușoară. Aceleași fonduri nu pot fi cheltuite de două ori într-un bloc – nodurile pot detecta cu ușurință orice încercare și vor respinge orice bloc care conține tranzacții conflictuale. Deoarece este atât de scump pentru mineri să producă blocuri în primul rând, ei sunt stimulați să joace corect.

DAG-urile au, de asemenea, un mecanism de prevenire a cheltuielilor duble. Este un fel de asemănător, dar fără mineri. Când un nod confirmă tranzacții mai vechi, evaluează o cale întreagă înapoi la prima tranzacție a DAG pentru a se asigura că expeditorul are un sold suficient. Pot exista mai multe căi, dar trebuie verificată doar una.

Animation of a DAG in action


Dacă utilizatorii construiesc pe o cale nevalidă, riscă ca propria lor tranzacție să fie ignorată. Ale lor ar putea fi legitime, dar pentru că cea anterioară nu a fost, nimeni nu va dori să extindă acea cale anume.

Pare neintuitiv la început – nu ai putea ajunge într-o situație în care există mai multe ramuri care nu sunt conștiente una de cealaltă? Atunci, nu ar putea oamenii să cheltuiască aceleași fonduri pe aceste ramuri diferite?

DAG with multiple branches


Aceasta este într-adevăr o posibilitate, dar se rezolvă cu un algoritm de selecție care favorizează vârfurile cu o greutate acumulată mai mare. Asta înseamnă că, în timp, vei ajunge cu o ramură care este mult mai puternică decât restul. Cele mai slabe vor fi abandonate, iar rețeaua va continua să construiască pe cea mai grea.

Ca și în cazul blockchain-urilor, nu există o finalitate absolută – nu poți fi niciodată 100% sigur că o tranzacție nu va fi inversată. Este incredibil de puțin probabil, dar teoretic ați putea „anulați” un bloc Bitcoin sau Ethereum, inversând toate tranzacțiile din interior. Cu cât sunt adăugate mai multe blocuri după cel în care se află tranzacția ta, cu atât poți avea mai multă încredere în el. Acesta este motivul pentru care se recomandă să așteptați șase confirmări înainte de a cheltui fonduri.

Într-un DAG, cum ar fi Tangle de la IOTA, există o idee de încredere de confirmare. Algoritmul de selecție este rulat de 100 de ori și numărați de câte ori tranzacția dvs. a fost aprobată direct sau indirect în sfaturile selectate. Cu cât procentul este mai mare, cu atât poți avea mai multă încredere că tranzacția ta va rămâne „decontată”.

Acest lucru poate părea că duce la o experiență proastă pentru utilizator. Dar nu este cazul. Dacă Alice îi trimite lui Bob 10 MagicDAGTokens, nu trebuie să-și facă griji cu privire la selectarea sfaturilor potrivite ale graficului. Sub capotă, portofelul ei ar putea face următoarele:

  • Selectați sfaturi grele (rețineți, acestea sunt cele cu cele mai multe confirmări acumulate).

  • Urmați calea înapoi prin tranzacțiile anterioare pentru a vă asigura că bacșișurile au un sold suficient de cheltuit.

  • Odată mulțumiți, își adaugă tranzacția în DAG, confirmând tranzacțiile pe care sunt construite.

Pentru Alice, acesta va arăta ca fluxul de lucru obișnuit al criptomonedei. Ea introduce adresa lui Bob și suma pe care vrea să o cheltuiască, apoi apasă pe trimite. Lista de mai sus este Dovada muncii pe care fiecare participant o rulează atunci când creează o tranzacție.


➠ Vrei să începi cu criptomoneda? Cumpărați Bitcoin pe Binance!


Avantaje și dezavantaje ale graficelor aciclice direcționate

Avantajele DAG-urilor

Viteză

Nerestricționat de orele de blocare, oricine poate difuza și își poate procesa tranzacțiile în orice moment. Nu există limită pentru numărul de tranzacții pe care utilizatorii le trimit, cu condiția să confirme pe cele mai vechi așa cum o fac.


Fără minerit

DAG-urile nu folosesc algoritmi de consens PoW în modul în care suntem obișnuiți. Amprenta lor de carbon este, prin urmare, o fracțiune din cea a criptomonedelor care se bazează pe minerit pentru a-și asigura rețeaua blockchain.


Fără taxe de tranzacție

Deoarece nu există mineri, utilizatorii nu trebuie să plătească taxe pentru a-și difuza tranzacțiile. Acestea fiind spuse, unii cer ca o taxă mică să fie plătită unor tipuri speciale de noduri. Taxele mici (sau mai bine, zero taxe) sunt atrăgătoare pentru microplăți, deoarece scopul lor este învins cu taxe de rețea semnificative.


Fără probleme de scalabilitate

Neconstrânși de timpii de blocare, DAG-urile pot procesa mult mai multe tranzacții pe secundă decât rețelele blockchain tradiționale. Mulți susținători cred că acest lucru le va face valoroase în cazurile de utilizare a Internetului obiectelor (IoT), în care toate tipurile de mașini vor interacționa între ele.


Contra DAG-urilor

Nu este complet descentralizat

Protocoalele care se bazează pe DAG-uri au diferite elemente de centralizare. Pentru unii, se presupune că este o soluție pe termen scurt pentru a porni rețeaua, dar rămâne de văzut dacă DAG-urile pot prospera fără intervenția unor terți. Dacă nu, ei se deschid pentru a ataca vectori care, în cele din urmă, le-ar putea paraliza rețelele.


Nu este testat la scară

Deși criptomonedele bazate pe DAG există de câțiva ani, ele au un drum lung de parcurs înainte de a fi utilizate pe scară largă. Ca atare, este dificil de prezis ce stimulente ar putea avea utilizatorii pentru a exploata sistemul în viitor.


Gânduri de închidere

Graficele aciclice direcționate sunt cu siguranță o tehnologie interesantă pentru construirea rețelelor de criptomonede. Până acum, există relativ puține proiecte care utilizează structura de date și încă nu au evoluat complet.

Acestea fiind spuse, dacă își pot livra potențialul, ar putea alimenta ecosisteme masiv scalabile. Tehnologia DAG are o multitudine de cazuri de utilizare în zone care necesită un debit mare și fără taxe, cum ar fi Internetul obiectelor (IoT) și microplățile.