Wstęp

Kiedy myślisz o kryptowalutach, prawdopodobnie przychodzą ci na myśl terminy „blockchain” lub „technologia księgi rozproszonej”. Od czasu premiery Bitcoina powstały setki innych kryptowalut. Większość z nich opiera się na podobnej architekturze sieci. Ich struktury danych umożliwiają użytkownikom przenoszenie wartości lub interakcję ze zdecentralizowanymi aplikacjami.

W łańcuchu bloków nowy blok jest okresowo dodawany do rosnącego łańcucha bloków. Każdy blok jest połączony z poprzednim za pomocą pewnego rodzaju łącza kryptograficznego (w szczególności skrótu). W każdym z tych bloków znajdują się ostatnie transakcje, które zostały ogłoszone przez użytkowników.

Często jednak występuje okres oczekiwania pomiędzy wyemitowaniem transakcji a włączeniem jej do bloku. Pomyśl o tym jak o oczekiwaniu na pociąg na stacji. W zależności od wielkości wagonów (wielkość bloku) i liczby innych osób oczekujących (oczekujące transakcje) możesz nawet nie być w stanie wsiąść do następnego pociągu. Albo nawet następny. Na potwierdzenie transakcji możesz czekać od sekund do godzin.

Dla wielu jest to przyzwoity kompromis. W końcu zapewnia bardzo wysoki stopień bezpieczeństwa bez polegania na scentralizowanym koordynatorze. Dla innych technologia blockchain ma datę ważności. Krytycy uważają, że na dłuższą metę problemy ze skalowalnością, przed którymi stoi technologia blockchain, uniemożliwią masową adopcję.

Niektórzy uważają, że przyszłość sieci płatności kryptowalutowych leży w zupełnie innej architekturze – kierowanych grafach acyklicznych (lub DAG).


Co to jest DAG?

DAG to inny rodzaj struktury danych – pomyśl o niej jak o bazie danych, która łączy ze sobą różne informacje. „Skierowany graf acykliczny” to termin obciążony, więc zacznijmy od jego rozbicia.

A Directed Acyclic Graph.

Ukierunkowany graf acykliczny.


Koncepcyjnie DAG wyglądają podobnie do powyższych. Składają się z wierzchołków (kul) i krawędzi (linii je łączących). Są skierowane, ponieważ kierują się w jednym kierunku (widać to za pomocą strzałek). Są acykliczne (tj. nie cykliczne), ponieważ wierzchołki nie zapętlają się same w sobie – jeśli zaczniesz od jednego punktu i będziesz podążać za wykresem, nie będziesz mógł wrócić do tego samego punktu. Wkrótce stanie się to jaśniejsze.

Takie struktury danych są zwykle używane do modelowania danych. Możesz polegać na DAG w dziedzinach naukowych lub medycznych, aby obserwować relacje między zmiennymi i określić, jak wpływają one na siebie. Można na przykład wziąć pod uwagę odżywianie, cykle snu i objawy fizyczne, aby móc narysować powiązania między nimi i ustalić, jak wpływają one na pacjenta.

Dla naszych celów jesteśmy bardziej zainteresowani tym, w jaki sposób mogą pomóc w osiągnięciu konsensusu w rozproszonej sieci kryptowalut.


Jak działa DAG?

W kryptowalutach opartych na DAG każdy wierzchołek struktury reprezentuje transakcję. Nie ma tu pojęcia bloków, ani eksploracja nie jest wymagana do rozszerzenia bazy danych. Zamiast więc łączyć transakcje w bloki, każda transakcja jest budowana na podstawie drugiej. Mimo to istnieje niewielka operacja Proof-of-Work, która jest wykonywana, gdy węzeł przesyła transakcję. Zapewnia to, że sieć nie jest spamowana, a także sprawdza poprzednie transakcje.

Aby nowa transakcja została dodana, musi ona bazować na starszych. Załóżmy, że Alicja tworzy nową transakcję. Aby transakcja została potwierdzona, transakcja ta musi odwoływać się do poprzednich. Trochę jak blok w Bitcoinie odwołuje się do tego, który był wcześniej, ale istnieje wiele odniesień do transakcji.

W niektórych systemach algorytm wybierze transakcje (lub „wskazówki”), na których musi opierać się nowa transakcja. Częściej wybierane są typy, które mają większą skumulowaną masę – miara liczby potwierdzeń na drodze do napiwku.

Transakcje, na których opiera się Alice, są niepotwierdzone. Ale kiedy Alicja się do nich odniesie, stają się one potwierdzone. Transakcja Alicji jest obecnie niepotwierdzona, więc ktoś inny musi ją wykorzystać, zanim zostanie zaakceptowana.

Użytkownicy chętniej potwierdzają transakcje z „większą” wagą, dzięki czemu system stale się rozwija. W przeciwnym razie nic nie powstrzymywałoby użytkowników od ciągłego korzystania ze starszych transakcji.

Dzięki blockchainom ochrona przed podwójnymi wydatkami jest dość łatwa. Te same środki nie mogą zostać wydane dwukrotnie w jednym bloku – węzły z łatwością wykryją każdą próbę i odrzucą każdy blok zawierający sprzeczne transakcje. Ponieważ produkcja bloków jest dla górników bardzo droga, zachęca się ich do grania uczciwie.

DAG posiadają również mechanizm zapobiegający podwójnym wydatkom. To trochę podobnie, ale bez górników. Kiedy węzeł potwierdza starsze transakcje, ocenia całą ścieżkę powrotną do pierwszej transakcji DAG, aby mieć pewność, że nadawca ma wystarczające saldo. Ścieżek może być wiele, ale tylko jedna musi zostać zweryfikowana.

Animation of a DAG in action


Jeśli użytkownicy korzystają z nieprawidłowej ścieżki, ryzykują, że ich transakcja zostanie zignorowana. Ich rozwiązanie mogłoby być uzasadnione, ale ponieważ poprzednie nie było, nikt nie będzie chciał rozszerzać tej konkretnej ścieżki.

Na początku wydaje się to nieintuicyjne – czy nie mogłoby dojść do sytuacji, w której istnieje wiele nieświadomych siebie gałęzi? Czy w takim razie ludzie nie mogliby wydać tych samych środków na różne branże?

DAG with multiple branches


Rzeczywiście istnieje taka możliwość, ale można ją rozwiązać za pomocą algorytmu selekcji, który faworyzuje końcówki o większej łącznej wadze. Oznacza to, że z czasem otrzymasz gałąź, która będzie znacznie silniejsza od pozostałych. Słabsze zostaną porzucone, a sieć będzie nadal budować na najcięższym.

Podobnie jak w przypadku blockchainów, nie ma absolutnej ostateczności – nigdy nie można być w 100% pewnym, że transakcja nie zostanie cofnięta. Jest to niezwykle mało prawdopodobne, ale teoretycznie można „cofnąć” blok Bitcoin lub Ethereum, odwracając wszystkie zawarte w nim transakcje. Im więcej bloków zostanie dodanych po transakcji, w której znajduje się Twoja transakcja, tym większe możesz mieć do niej zaufanie. Dlatego zaleca się, aby przed wydaniem środków poczekać na sześć potwierdzeń.

W DAG, takim jak Tangle IOTA, istnieje koncepcja pewności potwierdzenia. Algorytm selekcji uruchamiany jest 100 razy, a Ty liczysz, ile razy Twoja transakcja została zatwierdzona bezpośrednio lub pośrednio w wybranych typach. Im wyższy procent, tym większą możesz mieć pewność, że transakcja pozostanie „rozliczona”.

Może się wydawać, że prowadzi to do złego doświadczenia użytkownika. Ale tak nie jest. Jeśli Alicja wyśle ​​Bobowi 10 MagicDAGTokenów, nie musi się martwić o wybranie właściwych końcówek wykresu. Pod maską jej portfel może wykonywać następujące czynności:

  • Wybieraj ciężkie typy (pamiętaj, to te z największą liczbą potwierdzeń).

  • Podążaj ścieżką wstecz przez poprzednie transakcje, aby upewnić się, że napiwki mają wystarczające saldo do wydania.

  • Po usatysfakcjonowaniu dodają swoją transakcję do DAG, potwierdzając transakcje, na których opierają się.

Dla Alice będzie to wyglądać jak zwykły przepływ pracy z kryptowalutą. Wpisuje adres Boba i kwotę, którą chce wydać, a następnie naciska „wyślij”. Powyższa lista jest dowodem pracy, który każdy uczestnik uruchamia podczas tworzenia transakcji.


➠ Chcesz rozpocząć przygodę z kryptowalutą? Kup Bitcoin na Binance!


Plusy i minusy skierowanych grafów acyklicznych

Plusy DAG-ów

Prędkość

Nieograniczony czasem blokowania, każdy może transmitować i przetwarzać swoje transakcje w dowolnym momencie. Nie ma ograniczeń co do liczby transakcji przesyłanych przez użytkowników, pod warunkiem, że zatwierdzą starsze transakcje.


Żadnego wydobycia

DAG nie używają algorytmów konsensusu PoW w sposób, do którego jesteśmy przyzwyczajeni. Ich ślad węglowy stanowi zatem ułamek śladu kryptowalut, które opierają się na wydobyciu w celu zabezpieczenia swojej sieci blockchain.


Brak opłat transakcyjnych

Ponieważ nie ma tam żadnych górników, użytkownicy nie muszą płacić opłat za transmitowanie swoich transakcji. To powiedziawszy, niektórzy wymagają uiszczenia niewielkiej opłaty za specjalne rodzaje węzłów. Niskie opłaty (lub lepiej zerowe opłaty) zachęcają do mikropłatności, gdyż ich cel jest niweczony znacznymi opłatami sieciowymi.


Żadnych problemów ze skalowalnością

Nieograniczone czasem bloków, DAG mogą przetwarzać o wiele więcej transakcji na sekundę niż tradycyjne sieci blockchain. Wielu zwolenników uważa, że ​​dzięki temu będą one cenne w przypadkach użycia Internetu rzeczy (IoT), gdzie wszelkiego rodzaju maszyny będą ze sobą współdziałać.


Wady DAG

Nie do końca zdecentralizowany

Protokoły oparte na DAG mają różne elementy centralizacji. Dla niektórych jest to rzekomo krótkoterminowe rozwiązanie polegające na uruchomieniu sieci, ale okaże się, czy DAG będą mogły prosperować bez interwencji stron trzecich. Jeśli nie, otwierają się na wektory ataku, które mogą ostatecznie uszkodzić ich sieci.


Nie testowano na dużą skalę

Chociaż kryptowaluty oparte na DAG istnieją już od kilku lat, przed nimi długa droga, zanim zaczną być powszechnie stosowane. W związku z tym trudno przewidzieć, jakie zachęty będą musieli mieć użytkownicy, aby korzystać z systemu w przyszłości.


Zamykanie myśli

Skierowane grafy acykliczne są z pewnością interesującą technologią do budowy sieci kryptowalut. Jak dotąd istnieje stosunkowo niewiele projektów wykorzystujących tę strukturę danych i nie rozwinęły się one jeszcze w pełni.

To powiedziawszy, jeśli uda im się wykorzystać swój potencjał, będą w stanie zasilić niezwykle skalowalne ekosystemy. Technologia DAG ma niezliczone zastosowania w obszarach wymagających dużej przepustowości i braku opłat, takich jak Internet rzeczy (IoT) i mikropłatności.