Направленный ациклический граф, или 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
- Прозрачный и неизменяемый, очень безопасный
- Экономически выгоден для транзакций на крупные суммы
Минусы блокчейна
- Высокие требования к хранилищу и пропускной способности сети
- Огромное потребление энергии
- Высокие комиссии за транзакции
В конечном счёте выбор модели зависит от бизнес-задач. Как мы разобрали, у каждой модели есть сильные и слабые стороны, и в зависимости от ваших потребностей одна может подойти лучше другой.
