Какво е насочена ациклична графика (DAG) в криптовалутата?
Начало
Статии
Какво е насочена ациклична графика (DAG) в криптовалутата?

Какво е насочена ациклична графика (DAG) в криптовалутата?

Напреднал
Публикувано Jul 19, 2020Актуализирано Dec 27, 2022
8m

Съдържание


Въведение

Когато мислите за криптовалута, вероятно ви идват на ум термините „блокчейн“ или „технология на разпределената книга“. От стартирането на биткойн насам са създадени стотици други криптовалути. Повечето от тях разчитат на подобна мрежова архитектура. Техните структури от данни позволяват на потребителите да прехвърлят стойност или да взаимодействат с децентрализирани приложения.
В блокчейн, нов блок периодично се добавя към нарастваща верига от блокове. Всеки блок е свързан с предишния с един вид криптографска връзка (по-конкретно, хеш). Във всеки от тези блокове има скорошни трансакции, които са били излъчвани от потребителите.
Но често има период на изчакване между излъчването на трансакция и включването ѝ в блок. Мислете за това като за чакане на влак на гара. В зависимост от размера на вагоните (размер на блока) и броя на другите чакащи (предстоящи трансакции), може дори да не успеете да вземете следващия влак. Или дори този след това. Можете да чакате от секунди до часове, докато трансакцията бъде потвърдена.
За мнозина това е достоен компромис. В крайна сметка той осигурява много висока степен на сигурност, без да се разчита на централизиран координатор. За други блокчейн технологията има срок на годност. Песимистите вярват, че в дългосрочен план проблемите с мащабируемостта, пред които е изправена блокчейн технологията, ще попречат на масовото приемане.

Някои смятат, че бъдещето на мрежите за плащания с криптовалута се крие в съвсем различна архитектура – насочени ациклични графики (или DAG).


Какво е DAG?

DAG е различен вид структура от данни – мислете за нея като за база данни, която свързва различни части от информация заедно. „Насочена ациклична графика“ е претрупан термин, така че нека започнем, като го разделим.


Насочена ациклична графика.


Концептуално DAG приличат на нещо като горното. Те са съставени от върхове (сферите) и ръбове (линиите, които ги свързват). Те са насочени, защото се насочват в една посока (можете да видите това илюстрирано със стрелките). Те са ациклични (т.е. нециклични), тъй като върховете не се връщат обратно към себе си – ако започнете от една точка и следвате графиката, не можете да се върнете в същата точка. Това скоро ще стане по-ясно.

Такива структури от данни обикновено се използват за моделиране на данни. Може да разчитате на DAG в научни или медицински области, за да наблюдавате връзката между променливите и да определите как те влияят взаимно. Например, можете да вземете неща като хранене, цикли на сън и физически симптоми, за да можете да очертаете връзки между тях, за да установите как те влияят на пациента.

За нашите цели ние се интересуваме повече от това как те могат да помогнат за постигане на консенсус в разпределената криптовалутна мрежа.


Как работи DAG?

В базирана на DAG криптовалута всеки връх в структурата представлява трансакция. Тук няма понятие за блокове, нито е необходимо копаене за разширяване на базата данни. Така че вместо да събира трансакции в блокове, всяка трансакция се изгражда върху друга. Все пак има малка операция за доказателство за работа, която се извършва, когато възел подаде трансакция. Това гарантира, че към мрежата не се изпраща спам и също така потвърждава предишни трансакции.

За да бъде добавена нова трансакция, тя трябва да надгражда по-старите. Да предположим, че Алис създава нова трансакция. За да бъде потвърдена, тази трансакция трябва да препраща към предишни. Малко като как блок в биткойн препраща към този, който е дошъл преди него, но има препратки към множество трансакции. 

В някои системи алгоритъмът ще избере върху кои трансакции (или „върхове“) трябва да се основава нова трансакция. По-вероятно е да бъдат избрани върхове, които имат повече натрупана тежест – мярка за това колко потвърждения има пътят към върха.

Трансакциите, върху които Алис ще изгражда, са непотвърдени. Но след като Алис ги препоръча, те се потвърждават. Трансакцията на Алис сега е потвърдена, така че някой друг трябва да я надгради, преди да бъде приета.

Потребителите са по-склонни да потвърждават трансакции с „по-голяма“ тежест, така че системата да продължи да расте. В противен случай нищо няма да пречи на потребителите да надграждат непрекъснато върху по-стари трансакции.

При блокчейните защитата от двойни изразходване е достатъчно лесна. Същите средства не могат да бъдат изразходвани два пъти в блок – възлите могат лесно да открият всеки опит и ще отхвърлят всеки блок, съдържащ конфликтни трансакции. Тъй като на първо място е толкова скъпо за копачите да произвеждат блокове, те са стимулирани да играят честно.

DAG също имат механизъм за предотвратяване на двойното изразходване. Това е нещо подобно, но без копачи. Когато възел потвърди по-стари трансакции, той оценява целия път обратно към първата трансакция на DAG, за да е сигурен, че подателят има достатъчен баланс. Може да има множество пътища, но само един трябва да бъде потвърден.



Ако потребителите надграждат по невалиден път, те рискуват собствената им трансакция да бъде игнорирана. Тяхната може да е законна, но тъй като предишната не е била, никой няма да иска да удължи този конкретен път.

В началото изглежда неинтуитивно – не може ли да се окажете в ситуация, в която съществуват множество клонове, които не знаят един за друг? Тогава не можеха ли хората да изразходват едни и същи средства в тези различни клонове?



Това наистина е възможност, но се решава с алгоритъм за подбор, който предпочита съвети с по-голямо натрупано тегло. Това означава, че с течение на времето ще се окажете с клон, който е много по-силен от останалите. По-слабите ще бъдат изоставени и мрежата ще продължи да се изгражда върху най-тежкия. 

Както при блокчейните, няма абсолютна окончателност – никога не можете да сте 100% сигурни, че трансакцията няма да бъде отменена. Това е невероятно малко вероятно, но теоретично бихте могли да „отмените“ блок на биткойн или Ethereum, като обърнете всички трансакции вътре. Колкото повече блокове се добавят след този, в който е вашата трансакция, толкова повече доверие можете да имате в нея. Ето защо се препоръчва да изчакате шест потвърждения, преди да изразходвате средства.
В DAG като Tangle на IOTA има идея за увереност на потвърждение. Алгоритъмът за избор се изпълнява 100 пъти и вие отчитате колко пъти вашата трансакция е била пряко или косвено одобрена в избраните върхове. Колкото по-висок е процентът, толкова повече увереност можете да имате, че трансакцията ви ще остане „уредена“.

Това може да изглежда, че води до лошо потребителско изживяване. Но това не е така. Ако Алис изпрати на Боб 10 MagicDAGTokens, тя няма нужда да се тревожи за избора на правилните съвети на графиката. Скрито портфейлът ѝ може да направи следното:

  • Да избере тежки върхове (не забравяйте, че това са тези с най-много натрупани потвърждения).
  • Да следва пътя обратно през предишни трансакции, за да е сигурна, че върховете имат достатъчен баланс за изразходване.
  • След като бъдат удовлетворени, те добавят своята трансакция към DAG, потвърждавайки трансакциите, върху които са изградени.
За Алис това просто ще изглежда като обикновен работен процес с криптовалута. Тя въвежда адреса на Боб и сумата, която иска да похарчи, след което натиска изпращане. Списъкът по-горе е доказателството за работа, което всеки участник изпълнява, когато създава трансакция.



Плюсове и минуси на насочените ациклични графики

Плюсове на DAG

Скорост

Неограничен от времената за блок, всеки може да излъчва и да обработва трансакциите си по всяко време. Няма ограничение за броя на трансакциите, които потребителите подават, при условие че потвърждават по-старите, както го правят.


Без копаене

DAG не използват PoW консенсусни алгоритми по начина, с който сме свикнали. Техният въглероден отпечатък е част от този на криптовалутите, които разчитат на копаене, за да осигурят своята блокчейн мрежа.


Без такси за трансакции

Тъй като няма копачи, потребителите не трябва да плащат такси, за да излъчват своите трансакции. Въпреки това някои изискват да се плаща малка такса за специални видове възли. Ниските такси (или по-добре, нулеви такси) са примамливи за микроплащания, тъй като при тях нещата се обезмислят от значителни мрежови такси.


Без проблеми с мащабируемостта

Неограничени от времената за блок, DAG могат да обработват много повече трансакции в секунда от традиционните блокчейн мрежи. Много привърженици вярват, че това ще ги направи ценни в случаите на използване на Интернет на нещата (IoT), където всички видове машини ще взаимодействат помежду си.


Минуси на DAG

Не напълно децентрализирани

Протоколите, които разчитат на DAG, имат различни елементи на централизация. За някои се предполага, че това е краткосрочно решение за стартиране на мрежата, но остава да се види дали DAG могат да процъфтяват без намесата на трети страни. Ако не, те се отварят за вектори на атака, които в крайна сметка могат да осакатят техните мрежи.


Не са тествани в мащаб 

Въпреки че базираните на DAG криптовалути съществуват от няколко години, те трябва да извървят дълъг път, преди да видят широко разпространена употреба. Поради това е трудно да се предвидят какви стимули биха имали потребителите да използват системата в бъдеще.


Заключителни мисли

Насочените ациклични графики със сигурност са интересна технология за изграждане на мрежи за криптовалути. Досега има сравнително малко проекти, които използват структурата на данните и те все още не са се развили напълно. 
Въпреки това, ако успеят да разгърнат своя потенциал, те биха могли да захранват масово мащабируеми екосистеми. DAG технологията има безброй случаи на използване в области, които изискват висока ефективност и нулеви такси, като например в Интернет на нещата (IoT) и микроплащанията.