Spis treści

  • Wstęp

  • Co to jest skierowany graf acykliczny?

  • Jak działa skierowany graf acykliczny?

  • Zalety i wady skierowanych grafów acyklicznych

    • Zalety skierowanych grafów acyklicznych

    • Wady skierowanych grafów acyklicznych

  • Podsumować


Wstęp

Kiedy myślimy o kryptowalutach, od razu przychodzą nam na myśl pojęcia takie jak blockchain lub „technologia księgi rozproszonej”. Od czasu pojawienia się Bitcoina na rynku pojawiły się setki kryptowalut, a większość z nich ma podobne podstawy architektury sieciowej. Za pośrednictwem tych struktur danych użytkownicy mogą przekazywać wartość lub wchodzić w interakcję ze zdecentralizowanymi aplikacjami.

W blockchainie regularnie dodawane są nowe bloki do rosnącego łańcucha. Każdy blok jest połączony z poprzednim za pomocą pewnego rodzaju łącza kryptograficznego (dokładniej hasha). Każdy blok zawiera najnowsze transakcje opublikowane przez użytkownika.

Jednak zazwyczaj między opublikowaniem transakcji a jej włączeniem do bloku upływa pewien okres oczekiwania, podobnie jak w przypadku oczekiwania na pociąg na stacji. W zależności od rozmiaru wagonu (rozmiaru bloku) i liczby oczekujących pasażerów (transakcji oczekujących), pasażerowie mogą nie zdążyć na następny pociąg, a nawet na kolejny. Czas oczekiwania na potwierdzenie transakcji może wynosić od kilku sekund do kilku godzin.

Dla wielu to korzystna oferta. W końcu oferuje wysoki poziom bezpieczeństwa i nie opiera się na scentralizowanym systemie. Inni jednak uważają, że technologia blockchain z czasem stanie się przestarzała. Przeciwnicy argumentują, że problemy ze skalowalnością utrudnią jej powszechne wdrożenie w dłuższej perspektywie.

Zwolennicy uważają, że przyszłe sieci płatności kryptowalutowych będą oparte na zupełnie innej architekturze: skierowanym grafie acyklicznym, czyli „DAG”.


Czym jest skierowany graf acykliczny?

Skierowany graf acykliczny to zasadniczo inna struktura danych. Wyobraź sobie go jako bazę danych, która łączy różne informacje. Koncepcja „skierowanego grafu acyklicznego” jest dość złożona, więc omówmy ją warstwa po warstwie.


有向无环图。

Skierowany graf acykliczny.


Koncepcyjnie, skierowany graf acykliczny przypomina powyższy diagram, składając się z wierzchołków (sfer) i krawędzi (linii). Oba są skierowane, wskazujące jeden kierunek (jak wskazują strzałki) i są acykliczne, co oznacza, że nie ma cykli; wierzchołki nigdy nie wracają do punktu początkowego. Oznacza to, że jeśli zaczniemy w punkcie i przejdziemy wzdłuż grafu, nie możemy wrócić do tego samego punktu początkowego. Wyjaśnimy to bardziej szczegółowo poniżej.

Ta struktura danych jest powszechnie stosowana w modelowaniu danych. W nauce i medycynie skierowane grafy acykliczne (DAG) służą do obserwacji zależności między zmiennymi i określania ich wzajemnego wpływu. Na przykład, używamy DAG do ustalania powiązań między odżywianiem, cyklami snu i objawami fizycznymi, określając w ten sposób wpływ tych wskaźników na pacjentów.

Bardziej interesuje nas, jak wykorzystać ten wykres do osiągnięcia konsensusu w rozproszonej sieci kryptowalut.


Jak działają skierowane grafy acykliczne?

W kryptowalucie opartej na skierowanym grafie acyklicznym (DAG) każdy wierzchołek w strukturze reprezentuje transakcję. Nie ma tu koncepcji bloku ani konieczności kopania w celu rozszerzenia bazy danych. W związku z tym transakcje nie są agregowane w bloki, lecz nabudowują się na sobie. Gdy węzeł przesyła transakcję, nadal wykonywana jest niewielka operacja proof-of-work, która zapewnia brak spamu w sieci i weryfikuje poprzednie transakcje.

Aby dodać nową transakcję, musi ona bazować na poprzedniej transakcji. Załóżmy, że Alicja tworzy nową transakcję. Aby transakcja została potwierdzona, musi ona odwoływać się do poprzedniej transakcji, co jest nieco podobne do odwołania bloku do poprzedniego bloku w Bitcoinie, z tą różnicą, że tutaj konieczne jest odwołanie się do wielu transakcji.

W niektórych systemach algorytm wybiera transakcje (lub „końce”), na których ma bazować nowa transakcja. Końcówki o wyższych skumulowanych wagach mają większe prawdopodobieństwo wyboru. Wagi skumulowane mierzą liczbę potwierdzeń na drodze do zakończenia.

Transakcje, które Alicja zamierza utworzyć na jej podstawie, są niepotwierdzone. Jednak gdy Alicja odwoła się do tych transakcji, zostaną one potwierdzone. Aktualna transakcja Alicji nie jest potwierdzona, więc inni muszą utworzyć na niej transakcje, zanim zostanie zaakceptowana.

Użytkownicy chętniej potwierdzają transakcje z „wyższymi” wagami, aby system mógł się rozwijać. W przeciwnym razie użytkownicy będą bez skrupułów tworzyć transakcje na podstawie starych transakcji.

Blockchain z łatwością zapobiega podwójnemu wydawaniu. Te same środki nie mogą zostać wydane dwukrotnie w jednym bloku, a węzły mogą łatwo wykryć takie próby i odrzucić bloki zawierające konfliktowe transakcje. Produkcja bloków jest bardzo kosztowna dla górników, dlatego mechanizm ten motywuje ich do uczciwej konkurencji.

Skierowane grafy acykliczne (DAG) również zapobiegają podwójnemu wydawaniu, wykorzystując podobny mechanizm, ale bez udziału górników. Podczas walidacji starszych transakcji węzły analizują całą ścieżkę do pierwszej transakcji w DAG, aby upewnić się, że nadawca ma wystarczające środki. Chociaż ścieżek może być wiele, tylko jedna wymaga weryfikacji.


有向无环图动态图


Jeśli użytkownicy umieścili transakcje na nieprawidłowej ścieżce, ich transakcje zostaną zignorowane. Być może transakcje tych użytkowników są prawidłowe, ale ponieważ poprzednia transakcja jest nieprawidłowa, nikt nie chce przedłużać tej ścieżki.

Na pierwszy rzut oka może się to wydawać nielogiczne – jak to możliwe, że wiele oddziałów nie wie o swoim istnieniu? Czy zatem użytkownik mógłby wydać te same środki w różnych oddziałach?


有多个分支的有向无环图


To rzeczywiście jest możliwe. Problem ten można jednak rozwiązać, dodając skumulowaną wagę na końcu za pomocą algorytmu selekcji. Innymi słowy, z czasem jedna gałąź będzie prosperować bardziej niż inne. Słabsze gałęzie zostaną porzucone, a sieć będzie nadal rosła i rozwijała się na gałęziach o najwyższej wadze.

Podobnie jak w przypadku blockchainów, sieci te nie posiadają absolutnego potwierdzenia i nigdy nie możemy być całkowicie pewni, że transakcja zostanie cofnięta. Choć jest to niezwykle mało prawdopodobne, teoretycznie możliwe jest „cofnięcie” bloku Bitcoina lub Ethereum, co spowodowałoby cofnięcie wszystkich transakcji w jego obrębie. Im więcej bloków dodanych do transakcji, tym większa pewność co do jej bezpieczeństwa. Dlatego zalecamy odczekanie sześciu potwierdzeń przed zadeklarowaniem środków.

W skierowanym grafie acyklicznym, takim jak IOTA Tangle, istnieje koncepcja zwana „pewnością potwierdzenia”. Algorytm selekcji uruchamia się 100 razy, zliczając liczbę transakcji, które zostały bezpośrednio lub pośrednio zatwierdzone przez wybranych partnerów. Im wyższy odsetek, tym większa pewność, że transakcja pozostanie „rozliczona”.

Może się to wydawać kiepskim doświadczeniem użytkownika, ale tak nie jest. Jeśli Alicja wyśle Bobowi 10 tokenów MagicDAG, nie musi się martwić o wybór właściwego końca wykresu, ponieważ jej portfel wykonuje w tle następujące czynności:

  • Wybierz punkty końcowe o najwyższej wadze (pamiętaj, to te, które zgromadziły najwięcej potwierdzeń).

  • Prześledź poprzednie transakcje na ścieżce płatności, aby upewnić się, że na końcu jest wystarczające saldo, aby dokonać płatności.

  • Gdy powyższe wymagania zostaną spełnione, transakcja zostanie dodana do skierowanego grafu acyklicznego, a utworzona transakcja zostanie potwierdzona.

Dla Alicji to standardowe przetwarzanie kryptowalut. Wpisuje adres Boba i kwotę, którą chce zapłacić, a następnie naciska „Wyślij”. Ta lista stanowi dowód pracy (proof of work), który każdy uczestnik wykonuje podczas tworzenia transakcji.


➠ Chcesz rozpocząć swoją przygodę z kryptowalutami? Kup Bitcoiny na Binance!


Zalety i wady skierowanych grafów acyklicznych

Zalety skierowanych grafów acyklicznych

prędkość

Nie ma limitu czasowego na blokowanie, a każdy może publikować i przetwarzać transakcje w dowolnym momencie. Dopóki wcześniejsza transakcja zostanie potwierdzona jako pierwsza, użytkownik nie ma ograniczeń co do liczby transakcji, które może przesłać.


Nie jest wymagane wydobycie

Grupy DAG nie wykorzystują tradycyjnego algorytmu konsensusu proof-of-work. W porównaniu z kryptowalutami, które opierają się na kopaniu kryptowalut w celu utrzymania sieci blockchain, grupy DAG mają ślad węglowy stanowiący ułamek tego, co kiedyś.


Brak opłat transakcyjnych

Ponieważ nie ma górników, użytkownicy nie ponoszą opłat za publikowanie transakcji, ale czasami muszą uiścić niewielką opłatę na rzecz niektórych typów węzłów. Niskie opłaty (nawet darmowe są lepsze) są bardzo atrakcyjne dla użytkowników, którzy chcą dokonywać niewielkich płatności, ponieważ wysokie opłaty sieciowe sprawiłyby, że straciliby czas.


Brak problemów ze skalowalnością

W porównaniu z tradycyjnymi sieciami blockchain, DAG-i nie są ograniczone czasem bloków i mogą przetwarzać znacznie więcej transakcji na sekundę. Wielu zwolenników uważa, że to czyni DAG-i szczególnie cennymi w zastosowaniach Internetu Rzeczy (IoT) obejmujących różnorodne interakcje maszyn.


Wady skierowanych grafów acyklicznych

Nie jest całkowicie zdecentralizowany

Protokoły oparte na skierowanych grafach acyklicznych (DAG) charakteryzują się różnymi scentralizowanymi cechami. Niektórzy uważają, że jest to krótkoterminowe rozwiązanie umożliwiające uruchomienie sieci, ale nie wiadomo, czy DAG-i będą w stanie funkcjonować bez ingerencji osób trzecich. Jeśli zawiodą, sieć będzie podatna na wektory ataków, które mogą ostatecznie doprowadzić do poważnych uszkodzeń.


Nie testowano na dużą skalę

Chociaż kryptowaluty oparte na DAG istnieją już od kilku lat, do ich powszechnego przyjęcia wciąż daleka droga, dlatego trudno przewidzieć, jakie zachęty otrzymają użytkownicy korzystający z tych systemów.


Streszczać

Nie ma wątpliwości, że skierowane grafy acykliczne to interesująca technologia do budowy sieci kryptowalut. Do tej pory istnieje stosunkowo niewiele projektów wykorzystujących tę strukturę danych i nie jest ona jeszcze dojrzała.

Mimo to, jeśli DAG-i wykorzystają swój potencjał, niewątpliwie będą napędzać liczne ekosystemy skalowalności. Technologia DAG ma niezliczone zastosowania w obszarach wymagających wysokiej przepustowości i dostępności bezpłatnej, takich jak Internet Rzeczy (IoT) i mikropłatności.