Czym jest Skierowany Acykliczny Graf (DAG) w Kryptowalach?
Strona G艂贸wna
Artyku艂y
Czym jest Skierowany Acykliczny Graf (DAG) w Kryptowalach?

Czym jest Skierowany Acykliczny Graf (DAG) w Kryptowalach?

艢rednio zaawansowany
Opublikowane Jul 19, 2020Zaktualizowane Dec 27, 2022
8m

Spis Tre艣ci


Wprowadzenie

Kiedy my艣lisz o kryptowalutach, prawdopodobnie przychodz膮 Ci na my艣l terminy 鈥blockchain鈥 lub 鈥瀟echnologia rozproszonej ksi臋gi rachunkowej鈥. Od czasu uruchomienia 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 blockchainie 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 (konkretnie hasha). W ka偶dym z tych blok贸w znajduj膮 si臋 ostatnie transakcje, kt贸re zosta艂y nadane przez u偶ytkownik贸w.
Cz臋sto wyst臋puje okres oczekiwania mi臋dzy transmisj膮 transakcji a w艂膮czeniem jej do bloku. Pomy艣l o tym jak o czekaniu na poci膮g na stacji. W zale偶no艣ci od wielko艣ci wagon贸w (wielko艣膰 bloku) i liczby innych os贸b oczekuj膮cych na poci膮g (transakcje oczekuj膮ce), mo偶esz nawet nie by膰 w stanie dosta膰 si臋 na nast臋pny poci膮g b膮d藕 jeszcze kolejnego. Na potwierdzenie transakcji jeste艣 w stanie czeka膰 od kilku sekund do godzin.
Dla wielu jest to przyzwoity kompromis. W ko艅cu zapewnia bardzo wysoki poziom 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膮, z kt贸rymi si臋 boryka, zapobiegn膮 masowej adopcji.

Niekt贸rzy s膮dz膮, 偶e przysz艂o艣膰 sieci p艂atno艣ci kryptowalutowych le偶y w zupe艂nie innej architekturze - skierowanych acyklicznych grafach (lub DAGach).


Czym jest DAG?

DAG to inny rodzaj struktury danych - pomy艣l o niej jak o bazie danych, kt贸ra 艂膮czy ze sob膮 r贸偶ne informacje. 鈥濻kierowany acykliczny graf鈥 jest skomplikowanym terminem, wi臋c zacznijmy od jego rozbicia.


Skierowany Acykliczny Graf.


Koncepcyjnie DAGi wygl膮daj膮 podobnie jak powy偶ej. Sk艂adaj膮 si臋 z wierzcho艂k贸w (kul) i kraw臋dzi (艂膮cz膮cych je linii). S膮 skierowane, poniewa偶 zwr贸cone s膮 w jednym kierunku (strza艂ki na ilustracji). S膮 acykliczne (tj. niecykliczne), poniewa偶 wierzcho艂ki nie zap臋tlaj膮 si臋 - je艣li zaczniesz w jednym punkcie i pod膮偶asz za grafem, 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 informacji. Na DAG polega si臋 w dziedzinach naukowych lub medycznych, aby obserwowa膰 relacje mi臋dzy zmiennymi i okre艣li膰, jak wp艂ywaj膮 na siebie. Dla przyk艂adu we藕my takie zjawiska jak: od偶ywianie, cykle snu i fizyczne objawy chorobowe, aby m贸c narysowa膰 powi膮zania mi臋dzy nimi i ustali膰 jak wp艂ywaj膮 na pacjenta.

Nas bardziej interesuje, 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 w strukturze reprezentuje transakcj臋. Nie ma tu poj臋cia blok贸w, a wydobywanie nie jest wymagane do rozszerzania bazy danych. Dlatego zamiast gromadzi膰 transakcje w bloki, ka偶da transakcja jest budowana "na 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 zaspamowana, a tak偶e weryfikuje poprzednie transakcje.

Chc膮c doda膰 now膮 transakcj臋, musi ona bazowa膰 na starszych. Za艂贸偶my, 偶e Alicja tworzy now膮 transakcj臋. Je艣li ma zosta膰 potwierdzona, transakcja musi "odnosi膰 si臋" do poprzednich. Mechanizm jest podobny do blok贸w w sieci Bitcoin - odnosi si臋 do tego, kt贸ry pojawi艂 si臋 przed nim. R贸偶nica polega na tym, 偶e zamiast jednego odniesienia, ka偶da transakcja w systemie DAG posiada ich wiele.聽

W niekt贸rych systemach algorytm wybiera transakcje (lub 鈥瀟ipy鈥), na kt贸rych nowa transakcja musi si臋 opiera膰. Bardziej prawdopodobne jest wybranie tipa o wi臋kszej skumulowanej masie - miara tego, ile potwierdze艅 ma 艣cie偶ka do tipa.

Transakcje, na kt贸rych Alicja zbuduje swoj膮, s膮 niepotwierdzone. W momencie kiedy Alice odwo艂uje si臋 do nich, zostaj膮 potwierdzone. Transakcja Alice jest teraz niepotwierdzona, wi臋c kto艣 inny musi na niej zbudowa膰 kolejn膮, zanim zostanie zaakceptowana.

U偶ytkownicy s膮 bardziej sk艂onni do potwierdzania transakcji z 鈥瀢i臋ksz膮鈥 wag膮, dzi臋ki czemu system b臋dzie si臋 rozwija艂. W przeciwnym razie nic nie powstrzyma艂oby u偶ytkownik贸w przed ci膮g艂ym budowaniem na starszych transakcjach.

Z blockchainami, unikni臋cie double-spendingu (podw贸jnego wydatkowania) jest do艣膰 proste. Tych samych 艣rodk贸w nie mo偶na wyda膰 dwukrotnie w ramach bloku - w臋z艂y mog膮 z 艂atwo艣ci膮 wykry膰 ka偶d膮 pr贸b臋 i odrzuci膰 blok zawieraj膮cy sprzeczne transakcje. Poniewa偶 wytwarzanie blok贸w jest dla g贸rnik贸w tak drogie, stanowi to dla nich zach臋t臋 do uczciwego dzia艂ania w obr臋bie sieci.

DAGi posiadaj膮 r贸wnie偶 mechanizm zapobiegaj膮cy podw贸jnemu wydatkowaniu. Jest one troch臋 podobny do blockchaina, jednak nie zawiera g贸rnik贸w. Kiedy w臋ze艂 potwierdza starsze transakcje, ocenia ca艂膮 艣cie偶k臋 z powrotem do pierwszej transakcji DAG, aby upewni膰 si臋, 偶e nadawca ma wystarczaj膮ce saldo. Mo偶e istnie膰 wiele 艣cie偶ek, ale tylko jedna wymaga weryfikacji.



Je艣li u偶ytkownicy buduj膮 na nieprawid艂owej 艣cie偶ce, ryzykuj膮, 偶e ich w艂asna transakcja zostanie zignorowana. Ta nale偶膮ca do nich mo偶e by膰 prawid艂owa, ale poniewa偶 poprzednia nie by艂a, nikt nie b臋dzie chcia艂 przed艂u偶a膰 tej konkretnej 艣cie偶ki.

Na pocz膮tku wydaje si臋 to nieintuicyjne - czy nie m贸g艂by艣 sko艅czy膰 w sytuacji, w kt贸rej istnieje wiele rozga艂臋zie艅 nie艣wiadomych 艣wiadome istnienia innych? Czy zatem ludzie nie mogliby wydawa膰 tych samych funduszy na te poszczeg贸lne ga艂臋zie?



Jest to rzeczywi艣cie mo偶liwe, ale rozwi膮zuje to algorytm selekcji, kt贸ry faworyzuje tipy o wi臋kszej 艂膮cznej wadze. Oznacza to, 偶e z czasem otrzymasz ga艂膮藕, kt贸ra jest znacznie silniejsza od pozosta艂ych. S艂absze zostan膮 porzucone, a sie膰 b臋dzie dalej budowa膰 na "najci臋偶szej".

Podobnie jak w przypadku blockchain贸w, nie ma absolutnej pewno艣ci - nigdy nie mo偶esz by膰 w 100% pewien, 偶e transakcja nie zostanie cofni臋ta. Jest to niezwykle ma艂o prawdopodobne, ale teoretycznie mo偶na by 鈥瀋ofn膮膰鈥 blok Bitcoina lub Ethereum, odwracaj膮c wszystkie zawarte w nim transakcje. Im wi臋cej blok贸w zostanie dodanych po Twojej transakcji, tym wi臋ksze mo偶esz mie膰 do niej zaufanie. Dlatego zaleca si臋 odczekanie sze艣ciu potwierdze艅 przed wydaniem 艣rodk贸w.
W DAGu, takim jak Tangle od IOTA, istnieje idea pewno艣ci potwierdzenia. Algorytm selekcji jest uruchamiany 100 razy, a Ty zliczasz, ile razy Twoja transakcja zosta艂a bezpo艣rednio lub po艣rednio zatwierdzona w wybranych tipach. Im wy偶szy procent, tym wi臋ksza pewno艣膰, 偶e transakcja pozostanie 鈥瀝ozliczona鈥.

Mo偶e si臋 wydawa膰, 偶e prowadzi to do kiepskiego do艣wiadczenia u偶ytkownika, ale tak nie jest. Je艣li Alicja wy艣le Bobowi 10 MagicDAGToken贸w, nie musi si臋 martwi膰 o wybranie odpowiednich tip贸w na grafie. Pod mask膮 jej portfel mo偶e wykonywa膰 nast臋puj膮ce czynno艣ci:

  • Wybierze ci臋偶kie tipy (pami臋taj, s膮 to te z najwi臋ksz膮 liczb膮 potwierdze艅).
  • Pod膮偶y 艣cie偶k膮 wstecz przez poprzednie transakcje, aby upewni膰 si臋, 偶e tipy maj膮 wystarczaj膮ce saldo do wydania.
  • Gdy wszystko b臋dzie si臋 zgadza膰, doda twoj膮 transakcj臋 do DAG, potwierdzaj膮c transakcje, na kt贸rych jest zbudowana.
Dla Alice b臋dzie to wygl膮da膰 jak zwyk艂a transakcja krypto. Wpisuje adres Boba i kwot臋, kt贸r膮 chce wyda膰, a nast臋pnie naciska przycisk wy艣lij. Powy偶sza lista to Proof of Work, kt贸ry ka偶dy uczestnik uruchamia podczas tworzenia transakcji.



Zalety i wady skierowanych acyklicznych graf贸w

Zalety DAG贸w

Pr臋dko艣膰

Nieograniczone czasem blokowym, ka偶dy mo偶e transmitowa膰 i przetwarza膰 swoje transakcje w dowolnym momencie. Nie istniej膮 blokady co do liczby transakcji, kt贸re u偶ytkownicy przesy艂aj膮, pod warunkiem, 偶e potwierdz膮 te starsze.


Brak g贸rnictwa

DAG nie u偶ywaj膮 algorytm贸w konsensusu PoW w spos贸b, do kt贸rego jeste艣my przyzwyczajeni. Emitowany prze nie 艣lad w臋glowy stanowi zaledwie u艂amek tego, kt贸ry posiadaj膮 kryptowaluty, polegaj膮ce na g贸rnictwie w celu zabezpieczenia swojej sieci blockchain.


Brak op艂at transakcyjnych

Poniewa偶 nie ma 偶adnych g贸rnik贸w, u偶ytkownicy nie musz膮 p艂aci膰 op艂at, aby przesy艂a膰 transakcje. To powiedziawszy, niekt贸re wymagaj膮 niewielkiej op艂aty za przetworzenie przez specjalne rodzaje w臋z艂贸w. Niskie op艂aty (lub lepiej, zerowe) zach臋caj膮 do mikrop艂atno艣ci.


Brak problem贸w skalowalno艣ci

Nieograniczone czasami blokowymi, DAGi mog膮 przetwarza膰 znacznie wi臋cej transakcji na sekund臋 ni偶 tradycyjne sieci blockchain. Wielu zwolennik贸w uwa偶a, 偶e sprawdz膮 si臋 zatem w Internecie Rzeczy (IoT), w kt贸rym wszystkie rodzaje maszyn mog膮 ze sob膮 wsp贸艂dzia艂a膰.


Wady DAG贸w

Nie s膮 ca艂kowicie zdecentralizowane

Protoko艂y, kt贸re opieraj膮 si臋 na DAG, maj膮 r贸偶ne elementy centralizacji. Dla niekt贸rych jest to podobno kr贸tkoterminowe rozwi膮zanie polegaj膮ce na za艂adowaniu sieci, ale dopiero oka偶e si臋, czy DAG mo偶e si臋 rozwija膰 bez interwencji stron trzecich. Je艣li nie, otwiera si臋 na ataki, kt贸re mog膮 ostatecznie sparali偶owa膰 sieci.


Nie zosta艂 przetestowany w skali

Chocia偶 kryptowaluty oparte na DAG istniej膮 od kilku lat, to maj膮 przed sob膮 jeszcze d艂ug膮 drog臋, zanim stan膮 si臋 powszechne. W zwi膮zku z tym trudno przewidzie膰, co mo偶e stanowi膰 zach臋ty ekonomiczne do korzystania z sieci w przysz艂o艣ci.


Przemy艣lenia ko艅cowe

Skierowane Acykliczne Grafy s膮 z pewno艣ci膮 interesuj膮c膮 technologi膮 budowania sieci kryptowalut. Jak dot膮d istnieje stosunkowo niewiele projekt贸w wykorzystuj膮cych t臋 struktur臋 danych i nie zosta艂y one jeszcze w pe艂ni rozwini臋te.聽
Je艣li zdo艂aj膮 wykorzysta膰 sw贸j potencja艂, mog膮 zasila膰 masowo skalowalne ekosystemy. Technologia DAG ma niezliczone przypadki u偶ycia w obszarach, kt贸re wymagaj膮 du偶ej przepustowo艣ci i braku op艂at, takich jak Internet Rzeczy (IoT) i mikrop艂atno艣ci.