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

· 5 min read

Направленный ациклический граф, или DAG (от англ. «directed acyclic graph»), — это инструмент моделирования и организации данных, который часто применяется в криптовалютах.

В отличие от блокчейна, состоящего из блоков, направленный ациклический граф состоит из вершин и рёбер. Криптовалютные транзакции записываются как вершины и накладываются одна на другую. При этом, как и в блокчейне, транзакции попадают в DAG через ноды. Чтобы отправить транзакцию, нода должна выполнить задачи proof-of-work (PoW).

Проще говоря, если блокчейн-система похожа на цепочку, то система DAG больше напоминает граф. Сегодня модель DAG рассматривается в отрасли как возможная замена блокчейну в будущем — благодаря эффективности в хранении данных и обработке онлайн-транзакций.

Модель DAG считают и возможным ответом на текущую проблему децентрализации в крипто. В этой модели майнерам не нужно бороться за новые блоки, добавляемые в цепочку.

Поскольку вершины формируются одновременно, транзакции обрабатываются быстрее. Разработчики видят в DAG более совершенное и безопасное решение, которое повысит удобство сети, когда она станет по-настоящему масштабируемой.

Как работает DAG?

Как уже сказано, направленный ациклический граф эффективнее хранит данные. Его структура похожа на дерево, «ветвями» которого служат связанные между собой ноды.

Поскольку у каждой вершины может быть несколько родительских узлов, модель позволяет подтверждать больше транзакций одновременно. Пользователям не приходится ждать завершения одной транзакции, чтобы обработать следующую.

Таким образом, в направленном ациклическом графе каждая новая транзакция должна ссылаться на предыдущие, прежде чем сеть её примет. Это работает так же, как ссылки блоков блокчейна на предшествующие блоки. Логика здесь такая: транзакция считается по-настоящему подтверждённой только тогда, когда на неё сослалась другая транзакция, и так далее.

В DAG каждая вершина — это транзакция. Блоков нет, а значит, не нужен и майнинг. Транзакции выстраиваются одна поверх другой, а не собираются в блоки. Затем, как только что упоминалось, при каждой отправке транзакции нодой выполняются задачи proof-of-work — чтобы подтвердить более ранние транзакции и не допустить спама.

По умолчанию в криптовалюте на базе DAG новые транзакции строятся поверх более старых. Главное отличие от блокчейна в том, что в DAG можно ссылаться сразу на несколько транзакций, а не только на одну за раз.

В некоторых системах есть алгоритм, который выбирает «типсы» (концевые транзакции), на которых стоит строить дальше, исходя из накопленного веса — то есть числа подтверждений, ведущих к такой вершине.

Защита от двойной траты в DAG работает так: ноды подтверждают более старые транзакции, проверяя путь вплоть до самой первой транзакции графа. Так проверяется, достаточно ли средств у отправителя. Если пользователь строит на недействительном пути, его транзакция рискует остаться проигнорированной.

Конфликты, возникающие из-за разных путей, разрешаются алгоритмом выбора, который отдаёт предпочтение вершинам с большим накопленным весом.

Для чего используют DAG?

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

Каким образом?

  • В блокчейне Bitcoin или на платформе Ethereum майнеры могут создавать только по одному блоку за раз. Поэтому новые транзакции подтверждаются лишь после завершения предыдущей. Модель DAG избавляется от блоков и добавляет транзакции напрямую в реестр.

С отказом от блоков модель DAG не нуждается в майнинге. А значит, на поддержание сети требуется меньше электроэнергии. Есть у DAG и другие преимущества, например:

  • Высокая скорость транзакций, не ограниченная созданием блоков
  • Нет майнеров — нет и комиссий за транзакции
  • Меньшее энергопотребление и экологические преимущества по сравнению с майнингом

Однако сейчас применение DAG в крипто всё ещё находится на ранней стадии. В отличие от блокчейнов, эти сети пока не полностью децентрализованы. Поэтому их используют в основном для запуска сетей, а не как систему, на которой можно построить стабильную сеть.

Какие криптовалюты используют DAG?

Раньше о криптовалютах невозможно было говорить в отрыве от блокчейна. Но с появлением модели DAG на этой технологии уже успешно построено несколько криптовалют.

В качестве примеров можно назвать Obyte, IOTA и Nano. Хотя структура DAG ещё довольно нова, она демонстрирует огромный потенциал. Как уже отмечалось, ряд проектов успешно её применил. Наиболее известные из них:

Obyte

Obyte, ранее известный как ByteBall, — криптовалюта, полностью независимая от блокчейна, поскольку в ней реализована структура DAG. При этом транзакции в Obyte всё же не бесплатны.

Причина в том, что сеть Obyte использует систему валидаторов, позволяющую перепроверять транзакции. В её основе — алгоритм консенсуса, опирающийся на «свидетелей» (witnesses). Это доверенные и надёжные пользователи, выступающие в роли валидаторов.

Obyte также поддерживает неотслеживаемые транзакции и смарт-контракты.

IOTA

IOTA, ориентированная на приложения интернета вещей, запустила свою сеть — «блокчейн без блоков» — в 2016 году. Идея IOTA в том, что фактически все пользователи становятся майнерами. Например, чтобы подтвердить одну свою транзакцию, пользователь должен проверить две чужие.

IOTA использует сеть из нод и tangle — групп нод, которые делают процесс подтверждения быстрее и эффективнее.

Все пользователи вносят небольшой вклад мощности в работу сети, и каждый участвует в достижении консенсуса. Это позволяет сети быть одновременно и высокодецентрализованной, и масштабируемой.

Комиссии за транзакции практически нулевые, поэтому IOTA считают выгодной альтернативной криптовалютой для микроплатежей.

Nano

Nano — ещё одна криптовалюта, работающая на системе DAG. У Nano есть самостоятельные блокчейны, связанные нодами, — это называют технологией block-lattice. По сути, это смесь DAG и блокчейна.

У каждого пользователя свой кошелёк и свой блокчейн. Вносить изменения в свой кошелёк или блокчейн может только он сам. Транзакция завершается, когда отправитель и получатель выполняют соответствующую операцию каждый в своём блокчейне.

Nano предлагает пользователям нулевые комиссии и высокую скорость транзакций.

Какова роль DAG в блокчейне?

DAG можно рассматривать как подходящую альтернативу блокчейну, хотя технология всё ещё требует доработки. Модель DAG стремится решить типичные проблемы блокчейн-технологии: стоимость, скорость и адаптивность.

По сути, обе технологии записывают транзакции в цифровой реестр и работают на одну и ту же цель. Различает их главным образом структура, которую каждая модель использует для хранения данных.

DAG против блокчейна

И блокчейны, и DAG записывают транзакции в распределённый реестр, но делают это по-разному.

Ниже — краткое сравнение преимуществ и недостатков обоих подходов:

Плюсы DAG

  • Подходит для микротранзакций и больших объёмов операций
  • Снимает необходимость в оборудовании для майнинга
  • Комиссии могут заметно снизиться
  • Меньшее энергопотребление

Минусы DAG

  • Уязвим для атак из-за низкого объёма транзакций
  • Технология в зачаточном состоянии; заметного уровня децентрализации пока не достигла

Плюсы блокчейна

  • Зрелая технология, широко используемая такими криптовалютами, как Bitcoin и Ethereum
  • Прозрачный и неизменяемый, очень безопасный
  • Экономически выгоден для транзакций на крупные суммы

Минусы блокчейна

  • Высокие требования к хранилищу и пропускной способности сети
  • Огромное потребление энергии
  • Высокие комиссии за транзакции

В конечном счёте выбор модели зависит от бизнес-задач. Как мы разобрали, у каждой модели есть сильные и слабые стороны, и в зависимости от ваших потребностей одна может подойти лучше другой.