De la blockchain la DAG: scăpăm de intermediari

În acest articol, vă voi vorbi despre DAG (Grafic Ayclic Dirijat) și aplicațiile acestuia în registrele distribuite, și vom compara asta cu blockchain-ul.

De la blockchain la DAG: scăpăm de intermediari

DAG nu este un concept nou în lumea criptomonedelor. Poate că ați auzit despre el ca o soluție pentru problemele de scalabilitate ale blockchain-urilor. Dar astăzi nu vom discuta despre scalabilitate, ci despre ceea ce face criptomonedele diferite de toate celelalte: descentralizarea, absența intermediarilor și rezistența la cenzură.

De la blockchain la DAG: scăpăm de intermediari

De asemenea, vă voi arăta că DAG este, de fapt, mai rezistent la cenzură, iar în acesta nu există intermediari pentru accesul la registru.

De la blockchain la DAG: scăpăm de intermediari

În blockchain-urile cu care suntem obișnuiți, utilizatorii nu au acces direct la registrul propriu-zis. Când doriți să adăugați o tranzacție în registru, trebuie să 'cereți' producătorului de blocuri (block producer, cunoscut și ca 'miner') să facă acest lucru. Numai minerii decid ce tranzacție să adauge în următorul bloc și care nu. Numai minerii au acces exclusiv la blocuri și dreptul de a decide ce tranzacție să accepte pentru a fi adăugată în registru.

Minerii sunt intermediari care stau între dumneavoastră și registrul distribuit.

De la blockchain la DAG: scăpăm de intermediari

În practică, de obicei, un număr mic de piscine de mineri controlează colectiv mai mult de jumătate din puterea de calcul a rețelei. Pentru Bitcoin, sunt patru piscine, iar pentru Ethereum – două. În cazul în care acestea colaborează, pot bloca orice tranzacții doresc.

De la blockchain la DAG: scăpăm de intermediari

În ultimii câțiva ani, au fost propuse numeroase variații ale blockchain-urilor, diferind în principiile de alegere a producătorilor de blocuri. Dar producătorii de blocuri în sine nu dispar; aceștia continuă să fie 'la barieră': fiecare tranzacție trebuie să treacă prin producătorul de blocuri, iar dacă acesta nu o acceptă, atunci tranzacția, de fapt, nu există.

De la blockchain la DAG: scăpăm de intermediari

Aceasta este o problemă inevitabilă în cazul blockchain-ului. Și dacă dorim să o rezolvăm, trebuie să schimbăm radical designul și să ne despărțim complet de blocuri și producătorii de blocuri. În loc să construim o succesiune de blocuri, vom conecta tranzacțiile între ele, inclusiv în fiecare tranzacție hash-urile mai multor tranzacții anterioare. Ca rezultat, vom obține o structură cunoscută în matematică ca grafic aciclic dirijat – DAG.

Acum, fiecare are acces direct la registru, fără intermediari. Când doriți să adăugați o tranzacție în registru – pur și simplu o adăugați. Alegeți câteva tranzacții părinte, adăugați datele dvs., semnați și trimiteți tranzacția dvs. în rețea. Gata. Nu există nimeni care să vă poată opri să faceți asta, așa că tranzacția dvs. este deja în registru.

Acesta este cel mai descentralizat, cel mai rezistent la cenzură mod de a adăuga tranzacții în registru fără intermediari. Pentru că toți cei interesați pur și simplu își adaugă tranzacțiile în registru, fără a cere permisiunea cuiva.

De la blockchain la DAG: scăpăm de intermediari

DAG poate fi considerat a treia etapă a evoluției registrelor. Prima dată au fost registre centralizate, unde o parte controla accesul la ele. Apoi au apărut blockhain-urile, în care existau mai mulți controlori care înregistrau tranzacțiile în registru. Și, în cele din urmă, în DAG nu există controlori, utilizatorii adaugă tranzacțiile lor direct.

De la blockchain la DAG: scăpăm de intermediari

Acum, când avem această libertate, ea nu ar trebui să conducă la haos. Trebuie să avem un consens asupra stării registrului. Și acest consens, sau consens, înseamnă de obicei consens asupra a două lucruri:

  1. Ce s-a întâmplat?
  2. În ce ordine a avut loc?

La prima întrebare putem răspunde cu ușurință: odată ce tranzacția corect creată a fost adăugată în registru, aceasta a avut loc. Și punct. Informațiile despre aceasta pot ajunge la toți participanții în momente diferite, dar, în cele din urmă, toate nodurile vor primi această tranzacție și vor afla că a avut loc.

Dacă ar fi fost un blockchain, minerii ar decide ce se întâmplă. Tot ce decide minerul să includă în bloc – aceea se întâmplă. Tot ce nu include în bloc – nu se întâmplă.

În blockhain-uri, minerii decid de asemenea a doua problemă a consensului: ordinea. Li se permite să ordoneze tranzacțiile din interiorul blocului în orice fel doresc.

Cum putem determina ordinea tranzacțiilor în DAG?

De la blockchain la DAG: scăpăm de intermediari

Doar pentru că graful nostru este orientat, avem deja un anumit ordine. Fiecare tranzacție se referă la una sau mai multe tranzacții anterioare, părinte. Părinții, la rândul lor, se referă la părinții lor și așa mai departe. Părinții, evident, apar înaintea tranzacțiilor fiice. Dacă oricare dintre tranzacții poate fi atinsă prin legături „părinte-copil”, știm cu siguranță ordinea dintre tranzacțiile din această secvență de tranzacții.

De la blockchain la DAG: scăpăm de intermediari

Dar ordinea dintre tranzacții nu poate fi întotdeauna determinată doar din forma grafului. De exemplu, atunci când două tranzacții se află pe ramuri paralele ale grafului.

De la blockchain la DAG: scăpăm de intermediari

Pentru a rezolva ambiguitatea în astfel de cazuri, ne bazăm pe așa-numiții furnizori de ordine. De asemenea, îi numim „martori”. Aceștia sunt utilizatori obișnuiți, sarcina lor fiind de a trimite constant tranzacții în rețea respectând ordinea, adică astfel încât fiecare tranzacție anterioară să poată fi atinsă prin legături „părinte-copil”. Furnizorii de ordine – utilizatori de încredere, și întreaga rețea se bazează pe faptul că aceștia nu vor încălca această regulă. Pentru a a avea încredere în mod rațional , cerem ca fiecare furnizor de ordine să fie o persoană sau o organizație cunoscută (non-anonimă) și să aibă ceva ce poate pierde în cazul în care încalcă regulile, cum ar fi reputația sau un business bazat pe încredere.

De la blockchain la DAG: scăpăm de intermediari

Furnizorii de ordine sunt aleși de utilizatori, iar fiecare utilizator inclus în fiecare tranzacție pe care o trimite în rețea o listă a furnizorilor săi de încredere. Această listă constă din 12 furnizori. Acesta este un număr destul de mic, astfel încât o persoană să poată verifica identitățile și reputația fiecăruia dintre ei, și suficient pentru ca rețeaua să continue să funcționeze în cazul inevitabilelor probleme cu o minoritate de furnizori de ordine.

Această listă de furnizori variază de la utilizator la utilizator, dar listele tranzacțiilor învecinate pot diferi maximum cu un furnizor.

De la blockchain la DAG: scăpăm de intermediari

Acum, când avem furnizori de ordine, putem evidenția tranzacțiile lor în DAG și să ordonăm toate celelalte tranzacții în jurul ordinii create de aceștia. Există posibilitatea de a crea un astfel de algoritm (vezi Obyte White Paper pentru detalii tehnice).

Dar ordinea în întreaga rețea nu poate fi stabilită instantaneu, avem nevoie de timp pentru ca furnizorii de ordine să trimită un număr suficient de tranzacții pentru a ne asigura de ordinea finală a tranzacțiilor anterioare.

Și, deoarece ordinea este determinată doar de pozițiile tranzacțiilor furnizorilor în DAG, toate nodurile rețelei, mai devreme sau mai târziu, vor primi toate tranzacțiile și vor ajunge la aceeași concluzie cu privire la ordinea tranzacțiilor.

De la blockchain la DAG: scăpăm de intermediari

Astfel, avem un consens cu privire la ceea ce considerăm că s-a întâmplat: orice tranzacție care a ajuns în DAG s-a întâmplat. De asemenea, avem un consens asupra ordinii evenimentelor: aceasta este fie evidentă din relațiile parent-children ale tranzacțiilor, fie rezultă din ordinea tranzacțiilor trimise de furnizorii de ordine. Așadar, avem consens.

De la blockchain la DAG: scăpăm de intermediari

Această variantă de consens o avem în Obyte. Deși accesul la registrul Obyte este complet descentralizat, consensul asupra ordinii tranzacțiilor este încă centralizat, deoarece 10 din 12 furnizori sunt controlați de creator (Anton Churiumov), iar doar 2 dintre ei sunt independenți. Căutăm candidați dornici să devină unul dintre furnizorii independenți de ordine, pentru a ne ajuta să descentralizăm stabilirea ordinii în registru.

Recent a apărut un al treilea candidat independent dornic să stabilească și să mențină un nod de furnizor de ordine – Universitatea din Nicossia.

De la blockchain la DAG: scăpăm de intermediari

Acum, cum controlăm cheltuielile duble (double-spends)?

Conform regulilor, în cazul în care sunt descoperite două tranzacții care cheltuiesc aceeași monedă, tranzacția care a fost procesată prima în ordinea finală a tuturor tranzacțiilor câștigă. A doua este invalidată de algoritmul de consens.

De la blockchain la DAG: scăpăm de intermediari
În cazul în care există posibilitatea de a stabili ordinea între două tranzacții care cheltuiesc aceeași monedă (prin relațiile parent-child), toate nodurile resping imediat o astfel de încercare de cheltuire dublă.

De la blockchain la DAG: scăpăm de intermediari

În cazul în care ordinea nu este evidentă din legăturile parent-children între aceste două tranzacții, ambele sunt acceptate în registru, și va fi necesar să așteptăm consensul și stabilirea ordinii între ele prin furnizorii de ordine. Atunci, tranzacția mai veche va câștiga, iar a doua va deveni invalidă.

De la blockchain la DAG: scăpăm de intermediari

Chiar dacă a doua tranzacție devine invalidă, aceasta rămâne în registru, deoarece are deja tranzacții ulterioare care se referă la ea, care nu au încălcat nimic și nu știau că în viitor această tranzacție va deveni invalidă. În caz contrar, ar trebui să ștergem părintele tranzacțiilor următoare corecte, ceea ce ar încalca principiul de bază al rețelei – orice tranzacție corectă este acceptată în registru.

De la blockchain la DAG: scăpăm de intermediari

Aceasta este o regulă foarte importantă, care permite întregului sistem să fie rezistent la încercările de cenzură. 

Să presupunem că toți furnizorii de ordine intră într-o înțelegere pentru a 'cenzura' o tranzacție specifică. Aceștia pot să o ignore și să nu o aleagă niciodată ca 'părinte' pentru tranzacțiile lor, dar aceasta nu este suficient; tranzacția poate fi în continuare inclusă indirect ca părinte al unei alte tranzacții emise de orice utilizator al rețelei care nu participă la înțelegere. Cu timpul, o astfel de tranzacție va primi din ce în ce mai mulți copii, nepoți și strănepoți de la utilizatori obișnuiți, extinzându-se ca un bulgare de zăpadă, iar toți furnizorii de ordine conveniți vor trebui să ignore și aceste tranzacții. În cele din urmă, va trebui să cenzureze întreaga rețea, ceea ce echivalează cu sabotaj.

De la blockchain la DAG: scăpăm de intermediari

Astfel, DAG rămâne rezistent la cenzură, chiar dacă există o înțelegere între furnizorii de ordine, depășind astfel blockchain-ul în ceea ce privește rezistența la cenzură, în cazul în care minerii decid să nu includă o anumită tranzacție. Aceasta urmează din proprietatea principală a DAG: participarea în registru este complet independentă și fără intermediari, iar tranzacțiile sunt ireversibile.

Sursa: habr.com

Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS 🔥 Cumpără un hosting fiabil pentru site-uri cu protecție DDoS, servere VPS VDS | ProHoster