Направленный ац иклический граф (DAG) в блокчейне
Что такое DAG и чем он отличается от блокчейна?
Направленный ациклический граф (DAG) — это тип структуры данных, состоящий из вершин (узлов), соединенных направленными ребрами, которые никогда не образуют цикл. В контексте распределенных реестров, реестр на основе DAG организует транзакции или события в виде паутинообразного графа, а не единой последовательной цепочки. Это означает, что в отличие от традиционного блокчейна, где каждый новый блок ссылается только на одного предшественника (образуя линейную цепочку), узел в DAG может ссылаться на несколько предыдущих транзакций или блоков. В результате многие транзакции могут быть подтверждены параллельно, а не строго одна за другой в хронологических блоках.
Чтобы проиллюстрировать разницу, если блокчейн выглядит как длинная цепочка блоков (каждый блок содержит множество транзакций), то реестр на основе DAG больше похож на дерево или сеть отдельных транзакций. Каждая новая транзакция в DAG может присоединяться к (и тем самым подтверждать) одну или несколько более ранних транзакций, вместо того чтобы ждать упаковки в следующий единственный блок. Это структурное различие приводит к нескольким ключевым отличиям:
- Параллельная валидация: В блокчейнах майнеры/валидаторы добавляют по одному блоку в цепочку за раз, поэтому транзакции подтверждаются партиями для каждого нового блока. В DAG несколько транзакций (или небольших «блоков» транзакций) могут быть добавлены одновременно, поскольку каждая из них может присоединяться к разным частям графа. Эта параллелизация означает, что сетям DAG не нужно ждать, пока одна длинная цепочка будет расти по одному блоку за раз.
- Отсутствие глобального последовательного порядка: Блокчейн по своей сути создает полный порядок транзакций (каждый блок имеет определенное место в одной последовательности). Реестр DAG, напротив, формирует частичный п орядок транзакций. Нет единого «последнего блока», в очередь к которому выстраиваются все транзакции; вместо этого множество «вершин» графа могут сосуществовать и расширяться одновременно. Затем требуются протоколы консенсуса, чтобы в конечном итоге упорядочить или согласовать порядок или действительность транзакций в DAG.
- Подтверждение транзакций: В блокчейне транзакции подтверждаются, когда они включаются в добытый/валидированный блок, и этот блок становится частью принятой цепочки (часто после добавления новых блоков поверх него). В системах DAG новая транзакция сама по себе помогает подтверждать предыдущие транзакции, ссылаясь на них. Например, в Tangle IOTA (DAG) каждая транзакция должна подтвердить две предыдущие транзакции, фактически заставляя пользователей совместно проверять транзакции друг друга. Это устраняет строгое разделение между «создателями транзакций» и «валидаторами», которое существует в майнинге блокчейна — каждый участник, выпускающий транзакцию, также выполняет небольшую работу по валидации.
Важно отметить, что блокчейн на самом деле является частн ым случаем DAG — DAG, который был ограничен одной цепочкой блоков. Оба являются формами технологии распределенного реестра (DLT) и разделяют такие цели, как неизменяемость и децентрализация. Однако реестры на основе DAG имеют «бесблочную» или мульти-родительскую структуру, что придает им различные свойства на практике. Традиционные блокчейны, такие как Bitcoin и Ethereum, используют последовательные блоки и часто отбрасывают любые конкурирующие блоки (форки), тогда как реестры DAG пытаются включать и упорядочивать все транзакции, не отбрасывая ни одной, если они не конфликтуют. Это фундаментальное различие закладывает основу для различий в производительности и дизайне, подробно описанных ниже.
Техническое сравнение: архитектура DAG против блокчейна
Чтобы лучше понять DAG и блокчейны, м ы можем сравнить их архитектуры и процессы валидации:
- Структура данных: Блокчейны хранят данные в блоках, связанных в линейной последовательности (каждый блок содержит множество транзакций и указывает на один предыдущий блок, образуя одну длинную цепочку). Реестры DAG используют графовую структуру: каждый узел в графе представляет транзакцию или блок событий и может ссылаться на несколько предыдущих узлов. Этот направленный граф не имеет циклов, что означает, что если вы будете следовать по ссылкам «назад», вы никогда не сможете вернуться к транзакции, с которой начали. Отсутствие циклов позволяет выполнять топологическую сортировку транзакций (способ их упорядочивания таким образом, чтобы каждая ссылка следовала за ссылаемой транзакцией). Короче говоря, блокчейны = одномерная цепочка, DAG = многомерный граф.
- Пропускная способность и параллелизм: Из-за структурных различий блокчейны и DAG обрабатывают пропускную способность по-разному. Блокчейн, даже в оптимальных условиях, добавляет блоки один за другим (часто ожидая, пока каждый блок будет проверен и распространен по всей сети, прежде чем будет добавлен следующий). Это по своей сути ограничивает пропускную способность транзакций — например, Bitcoin в среднем обрабатывает 5–7 транзакций в секунду (TPS), а Ethereum ~15–30 TPS при классическом дизайне Proof-of-Work. Системы на основе DAG, напротив, позволяют многим новым транзакциям/блокам одновременно входить в реестр. Множественные ветви транзакций могут расти одновременно и позже объединяться, что значительно увеличивает потенциальную пропускную способность. Некоторые современные сети DAG заявляют о пропускной способности в тысячи TPS, приближаясь или превосходя традиционные платежные сети по пропускной способности.
- Процесс валидации транзакций: В блокчейн-сетях транзакции ожидают в мемпуле и валидируются, когда майнер или валидатор упаковывает их в новый блок, затем другие узлы проверяют этот блок на соответствие истории. В сетях DAG валидация часто более непрерывна и децентрализована: каждая новая транзакция выполняет действие валидации, ссылаясь на (одобряя) более ранние транзакции. Например, каждая транзакция в Tangle IOTA должна подтвердить две предыдущие транзакции, проверив их действительность и выполнив небольшое доказательство работы, тем самым «голосуя» за эти транзакции. В DAG-структуре block-lattice Nano транзакции каждого аккаунта образуют свою собственную цепочку и валидируются посредством голосования узлами-представителями (подробнее об этом позже). Конечный эффект заключается в том, что DAG распределяет работу по валидации: вместо того, чтобы один производитель блоков валидировал пакет транзакций, каждый участник или множество валидаторов одновременно валидируют разные транзакции.
- Механизм консенсуса: И блокчейнам, и DAG нужен способ для сети договориться о состоянии реестра (какие транзакции подтверждены и в каком порядке). В блокчейнах консенсус часто достигается за счет Proof of Work или Proof of Stake, производящих следующий блок, и правила «самая длинная (или самая тяжелая) цепочка выигрывает». В реестрах DAG консенсус может быть более сложным, поскольку нет единой цепочки. Различные проекты DAG используют разные подходы: некоторые используют протоколы сплетен и виртуальное голосова ние (как в Hedera Hashgraph) для достижения согласия по порядку транзакций, другие используют выбор вершин по методу Монте-Карло с цепями Маркова (ранний подход IOTA) или другие схемы голосования для определения предпочтительных ветвей графа. Мы обсудим конкретные методы консенсуса в системах DAG в последующем разделе. В целом, достижение общесетевого согласия в DAG может быть быстрее с точки зрения пропускной способности, но требует тщательного проектирования для обработки конфликтов (таких как попытки двойной траты), поскольку несколько транзакций могут существовать параллельно до окончательного упорядочивания.
- Обработка форков: В блокчейне «форк» (два блока, добытые почти одновременно) приводит к тому, что одна ветвь в конечном итоге выигрывает (самая длинная цепочка), а другая становится сиротской (отбрасывается), что приводит к потере всей работы, выполненной над сиротским блоком. В DAG философия заключается в том, чтобы принимать форки как дополнительные ветви графа, а не отбрасывать их. DAG будет включать оба форка; затем алгоритм консенсуса определяет, какие транзакции в конечном итоге подтверждаются (или как разрешаются конфликтующие транзакции), не отбрасывая всю одну ветвь. Это означает, что мощность майнинга или усилия не тратятся впустую на устаревшие блоки, что способствует повышению эффективности. Например, Tree-Graph Conflux (DAG на PoW) пытается включить все блоки в реестр и упорядочивает их, а не делает их сиротскими, тем самым используя 100% произведенных блоков.
Таким образом, блокчейны предлагают более простую, строго упорядоченную структуру, где валидация происходит блок за блоком, тогда как DAG предоставляют более сложную графовую структуру, позволяющую асинхронную и параллельную обработку транзакций. Реестры на основе DAG должны использовать дополнительную логику консенсуса для управления этой сложностью, но они обещают значительно более высокую пропускную способность и эффективность за счет использования полной пропускной способности сети, а не принудительного создания очереди блоков.
Преимущества блокчейн-систем на основе DAG
Архитектуры DAG были введены в первую очередь для преодоления ограничений традиционных блокчейнов в масштабируемости, скорости и стоимости. Вот основные преимущества распределенных реестров на основе DAG:
- Высокая масштабируемость и пропускная способность: Сети DAG могут достигать высокой пропускной способности транзакций, поскольку они обрабатывают множество транзакций параллельно. Поскольку нет узкого места в виде одной цепочки, TPS (транзакций в секунду) может масштабироваться в зависимости от сетевой активности. Фактически, некоторые протоколы DAG продемонстрировали пропускную способность порядка тысяч TPS. Например, Hedera Hashgraph способна обрабатывать более 10 000 транзакций в секунду на базовом уровне, значительно превосходя Bitcoin или Ethereum. На практике Hedera продемонстрировала завершение транзакций примерно за 3–5 секунд, по сравнению с минутами или более длительным временем подтверждения в блокчейнах PoW. Даже платформы смарт-контрактов на основе DAG, такие как Fantom, достигли почти мгновенной завершенности (~1–2 секунды) для транзакций при нормальных нагрузках. Эта масштабируемость делает DAG привлекательными для приложений, требующих большого объема, таких как микротранзакции IoT или потоки данных в реальном времени.
- Низкие комиссии за транзакции (бесплатные или минимальные): Многие реестры на основе DAG могут похвастаться незначительными комиссиями или даже бесплатными транзакциями. По своей конструкции они часто не полагаются на майнеров, ожидающих вознаграждения за блоки или комиссии; например, в IOTA и Nano нет обязательных комиссий за транзакции — это важнейшее свойство для микроплатежей в IoT и повседневном использовании. Там, где комиссии существуют (например, Hedera или Fantom), они, как правило, очень низкие и предсказуемые, поскольку сеть может обрабатывать нагрузку без ценовых войн за ограниченное пространство блоков. Транзакции Hedera стоят около $0.0001 (одна десятитысячная доллара) в виде комиссий, что составляет крошечную долю от типичных комиссий блокчейна. Такие низкие затраты открывают двери для таких вариантов использования, как высокочастотные транзакции или крошечные платежи, которые были бы невозможны в цепочках с высокими комиссиями. Кроме того, поскольку DAG включают все действительные транзакции, а не отбрасывают некоторые в случае форков, меньше «потерянной» работы — что косвенно помогает снизить затраты за счет эффективного использования ресурсов.
- Быстрое подтверждение и низкая задержка: В реестрах DAG транзакциям не нужно ждать включения в глобальный блок, поэтому подтверждение может быть быстрее. Многие системы DAG достигают быстрой завершенности — момента, когда транзакция считается окончательно подтвержденной. Например, консенсус Hedera Hashgraph обычно завершает транзакции в течение нескольких секунд со 100% уверенностью (завершенность aBFT). Сеть Nano часто видит транзакции, подтвержденные менее чем за 1 секунду благодаря легковесному процессу голосования. Эта низкая задержка улучшает пользовательский опыт, делая транзакции почти мгновенными, что важно для реальных платежей и интерактивных приложений.
- Энергоэффективность: Сети на основе DAG часто не требуют интенсивного майнинга с использованием доказательства работы, который используют многие блокчейны, что делает их гораздо более энергоэффективными. Даже по сравнению с блокчейнами на основе доказательства доли владения, некоторые сети DAG потребляют минимальное количество энергии на транзакцию. Например, одна транзакция Hedera Hashgraph потребляет порядка 0.0001 кВт·ч (киловатт-час) энергии. Это на несколько порядков меньше, чем Bitcoin (который может потреблять сотни кВт·ч на транзакцию) или даже многие цепочки PoS. Эффективность достигается за счет устранения расточительных вычислений (отсутствие гонки майнинга) и отказа от отбрасывания любых попыток транзакций. Если бы блокчейн-сети повсеместно перешли на модели на основе DAG, экономия энергии могла бы быть колоссальной. Углеродный след сетей DAG, таких как Hedera, настолько низок, что ее общая сеть является углеродно-отрицательной при учете компенсаций. Такая энергоэффективность становится все более важной для устойчивой инфраструктуры Web3.
- Отсутствие майнинга и демократизированна я валидация: Во многих моделях DAG нет отдельной роли майнера/валидатора, которую не могли бы выполнять обычные пользователи. Например, каждый пользователь IOTA, выпускающий транзакцию, также помогает валидировать две другие, по сути децентрализуя работу по валидации до периферии сети. Это может снизить потребность в мощном майнинговом оборудовании или стейкинге больших объемов капитала для участия в консенсусе, потенциально делая сеть более доступной. (Однако некоторые сети DAG по-прежнему используют валидаторов или координаторов — см. обсуждение консенсуса и децентрализации позже.)
- Плавная обработка высокого трафика: Блокчейны часто страдают от переполнения мемпула и скачков комиссий при высокой нагрузке (поскольку только один блок за раз может обрабатывать транзакции). Сети DAG, благодаря своей параллельной природе, обычно более изящно справляются со скачками трафика. По мере того, как все больше транзакций наводняют сеть, они просто создают больше параллельных ветвей в DAG, которые система может обрабатывать одновременно. Жесткого ограничения пропускной способности ме ньше (масштабируемость более «горизонтальная»). Это приводит к лучшей масштабируемости под нагрузкой, с меньшими задержками и лишь умеренным увеличением времени подтверждения или комиссий, вплоть до пропускной способности сети узлов и вычислительной мощности. По сути, DAG может поглощать всплески транзакций без быстрого перегрузки, что делает его подходящим для вариантов использования, связанных со всплесками активности (например, все устройства IoT отправляют данные одновременно или вирусное событие DApp).
Таким образом, реестры на основе DAG обещают более быстрые, дешевые и масштабируемые транзакции, чем классический подход блокчейна. Они нацелены на поддержку сценариев массового внедрения (микроплатежи, IoT, высокочастотная торговля и т. д.), с которыми текущие основные блокчейны сталкиваются из-за ограничений пропускной способности и стоимости. Однако эти преимущества сопряжены с определенными компромиссами и проблемами реализации, которые мы рассмотрим в последующих разделах.
Механиз мы консенсуса в платформах на основе DAG
Поскольку реестры DAG естественным образом не производят единую цепочку блоков, им требуются инновационные механизмы консенсуса для проверки транзакций и обеспечения согласия всех участников относительно состояния реестра. Различные проекты разработали различные решения, адаптированные к их архитектуре DAG. Здесь мы описываем некоторые примечательные подходы к консенсусу, используемые платформами на основе DAG:
- Tangle IOTA – Выбор вершин и взвешенное голосование: Tangle IOTA — это DAG транзакций, разработанный для Интернета вещей (IoT). В оригинальной модели IOTA нет майнеров; вместо этого каждая новая транзакция должна выполнить небольшое доказательство работы и одобрить две предыдущие транзакции (это «вершины» графа). Этот выбор вершин часто осуществляется с помощью алгоритма Монте-Карло с цепями Маркова (MCMC), который вероятностно выбирает, какие вершины одобрить, отдавая предпочтение самому тяжелому подграфу для предотвращения фрагментации. Консенсус в ранней IOTA частично достигался за счет этого кумулятивного веса одобрений — чем больше будущих транзакций косвенно одобряют вашу, тем более «подтвержденной» она становится. Однако для обеспечения безопасности сети на ранних этапах IOTA полагалась на временный централизованный узел Координатора, который выпускал периодические транзакции-вехи для завершения Tangle. Это было серьезной критикой (централизация) и сейчас устраняется в обновлении, известном как «Coordicide» (IOTA 2.0). В IOTA 2.0 новая модель консенсуса применяет безответственный консенсус в стиле Накамото на DAG. По сути, узлы выполняют голосование в Tangle: когда узел присоединяет новый блок, этот блок неявно голосует за действительность транзакций, на которые он ссылается. Комитет узлов-валидаторов (выбранных с помощью механизма стейкинга) выпускает блоки валидации в качестве голосов, и транзакция подтверждается, когда она накапливает достаточное количество взвешенных одобрений (концепция, называемая весом одобрения). Этот подход сочетает идею самого тяжелого DAG (подобно самой длинной цепочке) с явным голосованием для достижения консенсуса без координатора. Короче говоря, консенсус IOTA эволюционировал от выбора вершин + Координатор к полностью децентрализованному голосованию по ветвям DAG узлами, стремясь к безопасности и быстрому согласию о состоянии реестра.
- Hedera Hashgraph – Сплетни и виртуальное голосование (aBFT): Hedera Hashgraph использует DAG событий в сочетании с асинхронным византийским отказоустойчивым (aBFT) алгоритмом консенсуса. Основная идея — «сплетни о сплетнях»: каждый узел быстро распространяет подписанную информацию о транзакциях и о своей истории сплетен другим узлам. Это создает Hashgraph (DAG событий), где каждый узел в конечном итоге знает, что распространил каждый другой узел, включая структуру того, кто что слышал и когда. Используя этот DAG событий, Hedera реализует виртуальное голосование. Вместо того чтобы отправлять фактические сообщения о голосовании для упорядочивания транзакций, узлы моделируют алгоритм голосования локально, анализируя граф связей сплетен. Алгоритм Hashgraph Лимона Бэрда может детерминированно рассчитать, как пройдет теоретический раунд голосования по порядку транзакций, просматривая историю «сети сплетен», записанную в DAG. Это дает метку времени консенсуса и полный порядок транзакций, который является справедливым и окончательным (транзакции упорядочиваются по медианному времени их получения сетью). Консенсус Hashgraph является безответственным и достигает aBFT, что означает, что он может выдерживать до 1/3 злонамеренных узлов без ущерба для консенсуса. На практике сеть Hedera управляется набором из 39 известных узлов, управляемых организациями (Совет Hedera), поэтому она является разрешенной, но географически распределенной. Преимуществом является чрезвычайно быстрый и безопасный консенсус: Hedera может достичь завершенности за секунды с гарантированной согласованностью. Механизм консенсуса Hashgraph запатентован, но был открыт в 2024 году и демонстрирует, как DAG + инновационный консенсус (сплетни и виртуальное голосование) могут заменить традиционный протокол блокчейна.
- Lachesis Fantom – Безответственный PoS aBFT: Fantom — это платформа смарт-контрактов, которая использует консенсус на основе DAG под названием Lachesis. Lachesis — это протокол Proof-of-Stake aBFT, вдохновленный Hashgraph. В Fantom каждый узел-валидатор собирает полученные транзакции в блок событий и добавляет его в свой локальный DAG событий. Эти блоки событий содержат транзакции и ссылки на более ранние события. Валидаторы асинхронно передают эти блоки событий друг другу — нет единой последовательности, в которой блоки должны быть произведены или согласованы. По мере распространения блоков событий валидаторы периодически идентифицируют определенные события как вехи (или «корневые блоки событий») после того, как их увидит супербольшинство узлов. Затем Lachesis упорядочивает эти завершенные события и фиксирует их в окончательной Opera Chain (традиционная структура данных блокчейна), которая действует как реестр подтвержденных блоков. По сути, DAG блоков событий позволяет Fantom достигать консенсуса асинхронно и очень быстро, а затем конечным результатом является линейная цепочка для совместимости. Это обеспечивает примерно 1–2 секунды завершенности для транзакций в Fantom. В Lachesis нет майнеров или лидеров, предлагающих блоки; все валидаторы вносят блоки событий, и протокол детерминированно упорядочивает их. Консенсус обеспечивается моделью Proof-of-Stake (валидаторы должны стейкать токены FTM и взвешиваются по стейку). Lachesis также является aBFT, допуская до 1/3 неисправных узлов. Объединяя параллелизм DAG с выходом в виде конечной цепочки, Fantom достигает высокой пропускной способности (несколько тысяч TPS в тестах), оставаясь при этом EVM-совместимым для смарт-контрактов. Это хороший пример использования DAG внутренне для повышения производительности, не раскрывая сложность DAG на уровне приложения (разработчики в конечном итоге все равно видят обычную цепочку транзакций).
- Открытое представительное голосование Nano (ORV): Nano — это платежная криптовалюта, которая использует уникальную структуру DAG, называемую block-lattice. В Nano у каждого аккаунта есть свой собственный блокчейн (цепочка аккаунта), который может обновлять только владелец аккаунта. Все эти отдельные цепочки образуют DAG, поскольку транзакции из разных аккаунтов связываются асинхронно (отправка в одной цепочке аккаунта ссылается на получение в другой и т. д.). Консенсус в Nano достигается с помощью механизма, называемого Открытое представительное голосование (ORV). Пользователи назначают узел-представитель для своего аккаунта (это делегирование веса, а не блокировка средств), и эти представители голосуют за действительность транзакций. Каждая транзакция рассчитывается индивидуально (нет блоков, объединяющих несколько транзакций) и считается подтвержденной, когда супербольшинство (например, >67%) голосующего веса (от представителей) соглашается с ней. Поскольку честные владельцы аккаунтов не будут дважды тратить свои средства, форки редки и обычно вызваны только злонамеренными попытками, которые представители могут быстро отклонить. Завершенность обычно достигается менее чем за секунду для каждой транзакции. ORV аналогичен Proof-of-Stake тем, что вес голоса основан на балансах аккаунтов (стейке), но нет вознаграждения за стейкинг или комиссии — представители являются добровольными узлами. Отсутствие майнинга и производства блоков означает, что Nano может работать без комиссий и эффективно. Однако он полагается на набор доверенных представителей, находящихся в сети для голосования, и существует неявная централизация, при которой узлы накапливают большой вес голоса (хотя пользователи могут переключать представителей в любое время, сохраняя контроль децентрализации в руках пользователей). Консенсус Nano является легковесным и оптимизирован для скорости и энергоэффективности, что соответствует его цели быть быстрыми, бесплатными цифровыми деньгами.
- Другие примечательные подходы: Существует несколько других протоколов консенсуса на основе DAG. Hedera Hashgraph и Fantom Lachesis мы рассмотрели; помимо них:
- Консенсус Avalanche (Avalanche/X-Chain): Avalanche использует консенсус на основе DAG, где валидаторы многократно опрашивают друг друга в рандомизированном процессе, чтобы решить, каким транзакциям или блокам отдать предпочтение. X-Chain Avalanche (цепочка обмена) — это DAG транзакций (UTXO) и достигает консенсуса с помощью этого метода сетевой выборки. Протокол Avalanche вероятностный, но чрезвычайно быстрый и масштабируемый — он может завершать транзакции примерно за 1 секунду и, как сообщается, обрабатывать до 4500 TPS на подсеть. Подход Avalanche уникален тем, что сочетает структуры данных DAG с метастабильным консенсусом (протокол Snowball) и обеспечивается Proof-of-Stake (любой может быть валидатором с достаточным стейком).
- Conflux Tree-Graph: Conflux — это платформа, которая расширила PoW Bitcoin до DAG блоков. Она использует структуру Tree-Graph, где блоки ссылаются не только на одного родителя, но и на все известные предыдущие блоки (без сиротства). Это позволяет Conflux использовать майнинг Proof-of-Work, но сохранять все форки как часть реестра, что приводит к гораздо более высокой пропускной способности, чем у типичной цепочки. Таким образом, Conflux может достигать порядка 3–6 тысяч TPS в теории, используя PoW, за счет того, что майнеры производят блоки непрерывно, не дожидаясь одной цепочки. Затем его консенсус упорядочивает эти блоки и разрешает конфликты по правилу самого тяжелого поддерева. Это пример гибридного PoW DAG.
- Варианты Hashgraph и академические п ротоколы: Существует множество академических протоколов DAG (некоторые реализованы в более новых проектах): SPECTRE и PHANTOM (протоколы blockDAG, нацеленные на высокую пропускную способность и быстрое подтверждение, от DAGlabs), Aleph Zero (консенсус DAG aBFT, используемый в блокчейне Aleph Zero), Parallel Chains / Prism (исследовательские проекты, разделяющие подтверждение транзакций на параллельные подцепочки и DAG), а также недавние достижения, такие как Narwhal & Bullshark Sui, которые используют мемпул DAG для высокой пропускной способности и отдельный консенсус для завершенности. Хотя не все из них имеют крупномасштабные развертывания, они указывают на богатую область исследований. Многие из этих протоколов различают доступность (быстрая запись большого количества данных в DAG) и согласованность (согласие по одной истории), пытаясь получить лучшее из обоих.
Каждая платформа DAG адаптирует свой консенсус к своим потребностям — будь то бесплатные микротранзакции, выполнение смарт-контрактов или интероперабельность. Однако общая тема — избегание единого последовательного узкого места: механизмы консенсуса DAG стремятся обеспечить множество одновременных действий, а затем используют умные алгоритмы (сплетни, голосование, выборка и т. д.) для упорядочивания, а не ограничивают сеть одним производителем блоков за раз.
Примеры использования: проекты блокчейнов на основе DAG
Несколько проектов реализовали реестры на основе DAG, каждый со своими уникальными дизайнерскими решениями и целевыми вариантами использования. Ниже мы рассмотрим некоторые известные платформы на основе DAG:
- IOTA (The Tangle): IOTA — одна из первых криптовалют на основе DAG, разработанная для Интернета вещей. Ее реестр, называемый Tangle, представляет собой DAG транзакций, где каждая новая транзакция подтверждает две предыдущие. Цель IOTA — обеспечить бесплатные микротранзакции между устройствами IoT (оплата небольших сумм за данные или услуги). Она была запущена в 2016 году, и для обеспечения начальной безопасности использовала узел Координатора (управляемый Фондом IOTA) для предотвращения атак на раннюю сеть. IOTA работает над «Coordicide» для полной децентрализации сети путем введения консенсуса голосования (как описано ранее), где узлы голосуют по конфликтующим транзакциям, используя безответственный консенсус Накамото на самом тяжелом DAG. С точки зрения производительности, IOTA может, в теории, достигать очень высокой пропускной способности (протокол не устанавливает жесткого ограничения TPS; большая активность фактически помогает быстрее подтверждать транзакции). На практике тестовые сети продемонстрировали сотни TPS, и ожидается, что предстоящая IOTA 2.0 будет хорошо масштабироваться для потребностей IoT. Варианты использования IOTA вращаются вокруг IoT и целостности данных: например, потоковая передача данных датчиков с доказательствами целостности, платежи между транспортными средствами, отслеживание цепочек поставок и даже децентрализованная иден тификация (фреймворк IOTA Identity позволяет выпускать и проверять цифровые учетные данные/DID в Tangle). IOTA изначально не поддерживает смарт-контракты на своем базовом уровне, но проект представил параллельный фреймворк смарт-контрактов и токены на вторичном уровне для обеспечения более сложной функциональности DApp. Заметной особенностью IOTA являются ее нулевые комиссии, что достигается за счет требования небольшого PoW от отправителя вместо взимания комиссии — это делает ее привлекательной для высокообъемных, низкостоимостных транзакций (например, датчик, отправляющий данные каждые несколько секунд за незначительную стоимость).
- Hedera Hashgraph (HBAR): Hedera — это публичный распределенный реестр, использующий алгоритм консенсуса Hashgraph (изобретенный доктором Лимоном Бэрдом). Hedera была запущена в 2018 году и управляется советом крупных организаций (Google, IBM, Boeing и другие), которые управляют первоначальным набором узлов. В отличие от большинства других, Hedera разрешена в управлении (только утвержденные члены совета в настоящее время управляют узлами консенсуса, до 39 узлов), хотя любой может использовать сеть. Ее Hashgraph DAG обеспечивает очень высокую пропускную способность и быструю завершенность — Hedera может обрабатывать более 10 000 TPS с завершенностью за 3–5 секунд в оптимальных условиях. Это достигается с помощью описанного ранее консенсуса aBFT на основе сплетен. Hedera делает акцент на корпоративных и Web3 вариантах использования, требующих надежности в масштабе: ее сеть предлагает услуги по токенизации (Hedera Token Service), службу консенсуса для защищенного от подделки журналирования событий и службу смарт-контрактов (которая совместима с EVM). Заметные приложения на Hedera включают отслеживание происхождения цепочки поставок (например, отслеживание одежды Avery Dennison), высокообъемный минтинг NFT (низкие комиссии делают минтинг NFT недорогим), платежи и микроплатежи (например, микроплатежи в рекламных технологиях) и даже решения для децентрализованной идентификации. Hedera имеет метод DID, зарегистрированный в W3C, и фреймворки, такие как Hedera Guardian, для поддержки проверяемых учетных данных и соответствия нормативным требованиям (например, отслеживание углеродных кредитов). Ключевой особенностью является высокая производительность Hedera в сочетании с заявленной стабильностью (алгоритм Hashgraph гарантирует отсутствие форков и математически доказанную справедливость в упорядочивании). Компромисс заключается в том, что Hedera менее децентрализована по количеству узлов, чем открытые сети (по замыслу, с ее моделью управления), хотя узлы совета расположены по всему миру, и в планах со временем увеличить открытость. В целом, Hedera Hashgraph является ярким примером DLT на основе DAG, ориентированной на корпоративные приложения, с акцентом на высокую пропускную способность, безопасность и управление.
- Fantom (FTM): Fantom — это платформа смарт-контрактов (блокчейн первого уровня), которая использует консенсус на основе DAG под названием Lachesis. Запущенная в 2019 году, Fantom приобрела популярность, особенно во время бума DeFi в 2021–2022 годах, как цепочка, совместимая с Ethereum, с гораздо более высокой производительностью. Сеть Opera Fantom работает на консенсусе Lachesis aBFT (подробно описанном выше), где валидаторы поддерживают локальный DAG блоков событий и достигают консенсуса асинхронно, а затем завершают транзакции в основной цепочке. Это дает Fantom типичное время до завершенности ~1 секунда для транзакций и способность обрабатывать тысячи транзакций в секунду. Fantom совместим с EVM, что означает, что разработчики могут развертывать Solidity смарт-контракты и использовать те же инструменты, что и Ethereum, что значительно способствовало его внедрению в DeFi. Действительно, Fantom стал домом для многочисленных проектов DeFi (DEX, протоколы кредитования, фарминг доходности), привлеченных его скоростью и низкими комиссиями. Он также размещает проекты NFT и игровые DApp — по сути, любое приложение Web3, которое выигрывает от быстрых и дешевых транзакций. Стоит отметить, что Fantom достиг высокого уровня децентрализации для платформы DAG: у него есть десятки независимых валидаторов, обеспечивающих безопасность сети (без разрешений, любой может запустить валидатор с минимальным стейком), в отличие от некоторых сетей DAG, которые ограничивают валидаторов. Это позиционирует Fantom как надежную альтернативу более традиционным блокчейнам для децентрализованных приложений, используя технологию DAG для устранения узких мест в производительности. Токен FTM сети используется для стейкинга, управления и комиссий (которые составляют всего несколько центов за транзакцию, намного ниже, чем комиссии за газ Ethereum). Fantom продемонстрировал, что консенсус на основе DAG может быть интегрирован с платформами смарт-контрактов для достижения как скорости, так и совместимости.
- Nano (XNO): Nano — это легковесная криптовалюта, запущенная в 2015 году (первоначально как RaiBlocks), которая использует структуру DAG block-lattice. Основное внимание Nano уделяется одноранговым цифровым деньгам: мгновенные, бесплатные транзакции с минимальным использованием ресурсов. В Nano у каждого аккаунта есть своя цепочка транзакций, а переводы между аккаунтами обрабатываются с помощью блока отправки в цепочке отправителя и блока получения в цепочке получателя. Эта асинхронная конструкция означает, что сеть может обрабатывать транзакции независимо и параллельно. Консенсус достигается Открытым представительным голосованием (ORV), где сообщество назначает узлы-представители путем делегирования веса баланса. Представители голосуют по конфликтующим транзакциям (которые редки, обычно только при попытках двойной траты), и как только кворум (67% веса) соглашается, транзакция закрепляется (необратимо подтверждается). Типичное время подтверждения Nano значительно меньше секунды, что делает его мгновенным в повседневном использовании. Поскольку нет вознаграждений за майнинг или комиссий, запуск узла Nano или представителя является добровольным усилием, но дизайн сети минимизирует нагрузку (каждая транзакция составляет всего 200 байт и может быть обработана быстро). Подход DAG и консенсус Nano позволяют ему быть чрезвычайно энергоэффективным — отправители выполняют небольшое PoW (в основном в качестве меры по борьбе со спамом), но это ничтожно по сравнению с блокчейнами PoW. Варианты использования Nano просты по замыслу: он предназначен для денежных переводов, от повседневных покупок до денежных переводов, где скорость и нулевые комиссии являются основными преимуществами. Nano не поддерживает смарт-контракты или сложные скрипты; он сосредоточен на очень хорошем выполнении одной задачи. Проблема модели Nano заключается в том, что она полагается на честное большинство представителей; поскольку нет денежных стимулов, модель безопасности основана на предположении, что крупные держатели токенов будут действовать в интересах сети. До сих пор Nano поддерживала достаточно децентрализованный набор основных представителей и видела использование в торговых платежах, чаевых и других сценариях микроплатежей в Интернете.
- Hedera против IOTA против Fantom против Nano (краткий обзор): В таблице ниже приведены некоторые ключевые характеристики этих проектов на основе DAG:
Проект (Год) | Структура данных и консенсус | Производительность (Пропускная способность и завершенность) | Заметные особенности / Варианты использования |
---|
title: "Направленный ациклический граф (DAG) в блокчейне" tags: [DAG, Блокчейн, Консенсус, Масштабируемость] keywords: [Направленный ациклический граф, DAG против блокчейна, распределенный реестр, механизмы консенсуса, масштабируемость] description: "Узнайте, как реестры на основе DAG сравниваются с традиционными блокчейнами, их преимущества, модели консенсуса, варианты использования и перспективы внедрения." authors: [dora] image: "https://opengraph-image.blockeden.xyz/api/og-blockeden-xyz?title=Направленный%20ациклический%20граф%20(DAG)%20в%20блокчейне&subtitle=Параллельные%20реестры%2C%20модели%20консенсуса%20и%20реальное%20внедрение"
Направленный ациклический граф (DAG) в блокчейне
Что такое DAG и чем он отличается от блокчейна?
Направленный ациклический граф (DAG) — это тип структуры данных, состоящий из вершин (узлов), соединенных направленными ребрами, которые никогда не образуют цикл. В контексте распределенных реестров, реестр на основе DAG организует транзакции или события в виде паутинообразного графа, а не единой последовательной цепочки. Это означает, что в отличие от традиционного блокчейна, где каждый новый блок ссылается только на одного предшественника (образуя линейную цепочку), узел в DAG может ссылаться на несколько предыдущих транзакций или блоков. В результате многие транзакции могут быть подтверждены параллельно, а не строго одна за другой в хронологических блоках.
Чтобы проиллюстрировать разницу, если блокчейн выглядит как длинная цепочка блоков (каждый блок содержит множество транзакций), то реестр на основе DAG больше похож на дерево или сеть отдельных транзакций. Каждая новая транзакция в DAG может присоединяться к (и тем самым подтверждать) одну или несколько более ранних транзакций, вместо того чтобы ждать упаковки в следующий единственный блок. Это структурное различие приводит к нескольким ключевым отличиям:
- Параллельная валидация: В блокчейнах майнеры/валидаторы добавляют по одному блоку в цепочку за раз, поэтому транзакции подтверждаются партиями для каждого нового блока. В DAG несколько транзакций (или небольших «блоков» транзакций) могут быть добавлены одновременно, поскольку каждая из них может присоединяться к разным частям графа. Эта параллелизация означает, что сетям DAG не нужно ждать, пока одна длинная цепочка будет расти по одному блоку за раз.
- Отсутствие глобального последовательного порядка: Блокчейн по своей сути создает полный порядок транзакций (каждый блок имеет определенное место в одной последовательности). Реестр DAG, напротив, формирует частичный порядок транзакций. Нет единого «последнего блока», в очередь к которому выстраиваются все транзакции; вместо этого множество «вершин» графа могут сосуществовать и расширяться одновременно. Затем требуются протоколы консенсуса, чтобы в конечном итоге упорядочить или согласовать порядок или действительность транзакций в DAG.
- Подтверждение транзакций: В блокчейне транзакции подтверждаются, когда они включаются в добытый/валидированный блок, и этот блок становится частью принятой цепочки (часто после добавления новых блоков поверх него). В системах DAG новая транзакция сама по себе помогает подтверждать предыдущие транзакции, ссылаясь на них. Например, в Tangle IOTA (DAG) каждая транзакция должна подтвердить две предыдущие транзакции, фактически заставляя пользователей совместно проверять транзакции друг друга. Это устраняет строгое разделение между «создателями транзакций» и «валидаторами», которое существует в майнинге блокчейна — каждый участник, выпускающий транзакцию, также выполняет небольшую работу по валидации.
Важно отметить, что блокчейн на самом деле является частным случаем DAG — DAG, который был ограничен одной цепочкой блоков. Оба являются формами технологии распределенного реестра (DLT) и разделяют такие цели, как неизменяемость и децентрализация. Однако реестры на основе DAG имеют «бесблочную» или мульти-родительскую структуру, что придает им различные свойства на практике. Традиционные блокчейны, такие как Bitcoin и Ethereum, используют последовательные блоки и часто отбрасывают любые конкурирующие блоки (форки), тогда как реестры DAG пытаются включать и упорядочивать все транзакции, не отбрасывая ни одной, если они не конфликтуют. Это фундаментальное различие закладывает основу для различий в производительности и дизайне, подробно описанных ниже.
Техническое сравнение: архитектур а DAG против блокчейна
Чтобы лучше понять DAG и блокчейны, мы можем сравнить их архитектуры и процессы валидации:
- Структура данных: Блокчейны хранят данные в блоках, связанных в линейной последовательности (каждый блок содержит множество транзакций и указывает на один предыдущий блок, образуя одну длинную цепочку). Реестры DAG используют графовую структуру: каждый узел в графе представляет транзакцию или блок событий и может ссылаться на несколько предыдущих узлов. Этот направленный граф не имеет циклов, что означает, что если вы будете следовать по ссылкам «назад», вы никогда не сможете вернуться к транзакции, с которой начали. Отсутствие циклов позволяет выполнять топологическую сортировку транзакций (способ их упорядочивания таким образом, чтобы каждая ссылка следовала за ссылаемой транзакцией). Короче говоря, блокчей ны = одномерная цепочка, DAG = многомерный граф.
- Пропускная способность и параллелизм: Из-за структурных различий блокчейны и DAG обрабатывают пропускную способность по-разному. Блокчейн, даже в оптимальных условиях, добавляет блоки один за другим (часто ожидая, пока каждый блок будет проверен и распространен по всей сети, прежде чем будет добавлен следующий). Это по своей сути ограничивает пропускную способность транзакций — например, Bitcoin в среднем обрабатывает 5–7 транзакций в секунду (TPS), а Ethereum ~15–30 TPS при классическом дизайне Proof-of-Work. Системы на основе DAG, напротив, позволяют многим новым транзакциям/блокам одновременно входить в реестр. Множественные ветви транзакций могут расти одновременно и позже объединяться, что значительно увеличивает потенциальную пропускную способность. Некоторые современные сети DAG заявляют о пропускной способности в тысячи TPS, приближаясь или превосходя традиционные платежные сети по пропускной способности.
- Процесс валидации транзакций: В блокчейн-сетях транзакции ожидают в мемпуле и валидируются, когда майнер или валидатор упаковывает их в новый блок, затем другие узлы проверяют этот блок на соответствие истории. В сетях DAG валидация часто более непрерывна и децентрализована: каждая новая транзакция выполняет действие валидации, ссылаясь на (одобряя) более ранние транзакции. Например, каждая транзакция в Tangle IOTA должна подтвердить две предыдущие транзакции, проверив их действительность и выполнив небольшое доказательство работы, тем самым «голосуя» за эти транзакции. В DAG-структуре block-lattice Nano транзакции каждого аккаунта образуют свою собственную цепочку и валидируются посредством голосования узлами-представителями (подробнее об этом позже). Конечный эффект заключается в том, что DAG распределяет работу по валидации: вместо того, чтобы один производитель блоков валидировал пакет транзакций, каждый участник или множество валидаторов одновременно валидируют разные транзакции.
- Механизм консенсуса: И блокчейнам, и DAG нужен способ для сети договориться о состоянии реестра (какие транзакции подтверждены и в каком порядке). В блокчейнах консенсус часто достигается за счет Proof of Work или Proof of Stake, производящих следующий блок, и правила «самая длинная (или самая тяжелая) цепочка выигрывает». В реестрах DAG консенсус может быть более сложным, поскольку нет единой цепочки. Различные проекты DAG используют разные подходы: некоторые используют протоколы сплетен и виртуальное голосование (как в Hedera Hashgraph) для достижения согласия по порядку транзакций, другие используют выбор вершин по методу Монте-Карло с цепями Маркова (ранний подход IOTA) или другие схемы голосования для определения предпочтительных ветвей графа. Мы обсудим конкретные методы консенсуса в системах DAG в последующем разделе. В целом, достижение общесетевого согласия в DAG может быть быстрее с точки зрения пропускной способности, но требует тщательного проектирования для обработки конфликтов (таких как попытки двойной траты), поскольку несколько транзакций могут существовать параллельно до окончательного упорядочивания.
- Обработка форков: В блокчейне «форк» (два блока, добытые почти одновременно) приводит к тому, что одна ветвь в конечном итоге выигрывает (самая длинная цепочка), а другая становится сиротской (отбрасывается), что приводит к потере всей работы, выполненной над сиротским блоком. В DAG философия заключается в том, чтобы принимать форки как дополнительные ветви графа, а не отбрасывать их. DAG будет включать оба форка; затем алгоритм консенсуса определяет, какие транзакции в конечном итоге подтверждаются (или как разрешаются конфликтующие транзакции), не отбрасывая всю одну ветвь. Это означает, что мощность майнинга или усилия не тратятся впустую на устаревшие блоки, что способствует повышению эффективности. Например, Tree-Graph Conflux (DAG на PoW) пытается включить все блоки в реестр и упорядочивает их, а не делает их сиротскими, тем самым используя 100% произведенных блоков.
Таким образом, блокчейны предлагают более простую, строго упорядоченную структуру, где валидация происходит блок за блоком, тогда как DAG предоставляют более сложную графовую структуру, позволяющую асинхронную и параллельную обработку транзакций. Реестры на основе DAG должны использовать дополнительную логику консенсуса для управления этой сложностью, но они обещают значительно более в ысокую пропускную способность и эффективность за счет использования полной пропускной способности сети, а не принудительного создания очереди блоков.
Преимущества блокчейн-систем на основе DAG
Архитектуры DAG были введены в первую очередь для преодоления ограничений традиционных блокчейнов в масштабируемости, скорости и стоимости. Вот основные преимущества распределенных реестров на основе DAG:
- Высокая масштабируемость и пропускная способность: Сети DAG могут достигать высокой пропускной способности транзакций, поскольку они обрабатывают множество транзакций параллельно. Поскольку нет узкого места в виде одной цепочки, TPS (транзакций в секунду) может масштабироваться в зависимости от сетевой активности. Фактически, некоторые протоколы DAG продемонстрировали пропускную способность порядка тысяч TPS. Например, Hedera Hashgraph способна обрабатывать более 10 000 транзакций в секунду на базовом уровне, значительно превосходя Bitcoin или Ethereum. На практике Hedera продемонстрировала завершение транзакций примерно за 3–5 секунд, по сравнению с минутами или более длительным временем подтверждения в блокчейнах PoW. Даже платформы смарт-контрактов на основе DAG, такие как Fantom, достигли почти мгновенной завершенности (~1–2 секунды) для транзакций при нормальных нагрузках. Эта масштабируемость делает DAG привлекательными для приложений, требующих большого объема, таких как микротранзакции IoT или потоки данных в реальном времени.
- Низкие комиссии за транзакции (бесплатные или минимальные): Многие реестры на основе DAG могут похвастаться незначительными комиссиями или даже бесплатными транзакциями. По своей конструкции они часто не полагаются на майнеров, ожидающих вознаграждения за блоки или комиссии; например, в IOTA и Nano нет обязательных комиссий за транзакции — это важнейшее свойство для микроплатежей в IoT и повседневном использовании. Там, где комиссии существуют (например, Hedera или Fantom), они, как правило, очень низкие и предсказуемые, поскольку сеть может обрабатывать нагрузку без ценовых войн за ограниченное пространство блоков. Транзакции Hedera стоят около $0.0001 (одна десятитысячная доллара) в виде комиссий, что составляет крошечную долю от типичных комиссий блокчейна. Такие низкие затраты открывают двери для таких вариантов использования, как высокочастотные транзакции или крошечные платежи, которые были бы невозможны в цепочках с высокими комиссиями. Кроме того, поскольку DAG включают все действительные транзакции, а не отбрасывают некоторые в случае форков, меньше «потерянной» работы — что косвенно помогает снизить затраты за счет эффективного использования ресурсов.
- Быстрое подтверждение и низкая задержка: В реестрах DAG транзакциям не нужно ждать включения в глобальный блок, поэтому подтверждение может быть быстрее. Многие системы DAG достигают быстрой завершенности — момента, когда транзакция считается окончательно подтвержденной. Например, консенсус Hedera Hashgraph обычно завершает транзакции в течение нескольких секунд со 100% уверенностью (завершенность aBFT). Сеть Nano часто видит транзакции, подтвержденные менее чем за 1 секунду благодаря легковесному процессу голосования. Эта низкая задержка улучшает пользовательский опыт, делая транзакции почти мгновенными, что важно для реальных платежей и интерактивных приложений.
- Энергоэффективность: Сети на основе DAG часто не требуют интенсивного майнинга с использованием доказательства работы, который используют многие блокчейны, что делает их гораздо более энергоэффективными. Даже по сравнению с блокчейнами на основе доказательства доли владения, некоторые сети DAG потребляют минимальное количество энергии на транзакцию. Например, одна транзакция Hedera Hashgraph потребляет порядка 0.0001 кВт·ч (киловатт-час) энергии. Это на несколько порядков меньше, чем Bitcoin (который может потреблять сотни кВт·ч на транзакцию) или даже многие цепочки PoS. Эффективность достигается за счет устранения расточительных вычислений (отсутствие гонки майнинга) и отказа от отбрасывания любых попыток транзакций. Если бы блокчейн-сети повсеместно перешли на модели на основе DAG, экономия энергии могла бы быть колоссальной. Углеродный след сетей DAG, таких как Hedera, настолько низок, что ее общая сеть является углеродно-отрицательной при учете компенсаций. Такая энергоэффективность становится все более важной для устойчивой инфраструктуры Web3.
- Отсутствие майнинга и демократизированная валидация: Во многих моделях DAG нет отдельной роли майнера/валидатора, которую не могли бы выполнять обычные пользователи. Например, каждый пользователь IOTA, выпускающий транзакцию, также помогает валидировать две другие, по сути децентрализуя работу по валидации до периферии сети. Это может снизить потребность в мощном майнинговом оборудовании или стейкинге больших объемов капитала для участия в консенсусе, потенциально делая сеть более доступной. (Однако некоторые сети DAG по-прежнему используют валидаторов или координаторов — см. обсуждение консенсуса и децентрализации позже.)
- Плавная обработка высокого трафика: Блокчейны часто страдают от переполнения мемпула и скачков комиссий при высокой нагрузке (поскольку только один блок за раз может обрабатывать транзакции). Сети DAG, бл агодаря своей параллельной природе, обычно более изящно справляются со скачками трафика. По мере того, как все больше транзакций наводняют сеть, они просто создают больше параллельных ветвей в DAG, которые система может обрабатывать одновременно. Жесткого ограничения пропускной способности меньше (масштабируемость более «горизонтальная»). Это приводит к лучшей масштабируемости под нагрузкой, с меньшими задержками и лишь умеренным увеличением времени подтверждения или комиссий, вплоть до пропускной способности сети узлов и вычислительной мощности. По сути, DAG может поглощать всплески транзакций без быстрого перегрузки, что делает его подходящим для вариантов использования, связанных со всплесками активности (например, все устройства IoT отправляют данные одновременно или вирусное событие DApp).
Таким образом, реестры на основе DAG обещают более быстрые, дешевые и масштабируемые транзакции, чем классический подход блокчейна. Они нацелены на поддержку сценариев массового внедрения (микроплатежи, IoT, высокочастотная торговля и т. д.), с которыми текущие основные блокче йны сталкиваются из-за ограничений пропускной способности и стоимости. Однако эти преимущества сопряжены с определенными компромиссами и проблемами реализации, которые мы рассмотрим в последующих разделах.
Механизмы консенсуса в платформах на основе DAG
Поскольку реестры DAG естественным образом не производят единую цепочку блоков, им требуются инновационные механизмы консенсуса для проверки транзакций и обеспечения согласия всех участников относительно состояния реестра. Различные проекты разработали различные решения, адаптированные к их архитектуре DAG. Здесь мы описываем некоторые примечательные подходы к консенсусу, используемые платформами на основе DAG:
- Tangle IOTA – Выбор вершин и взвешенное голосование: Tangle IOTA — это DAG транзакций, разработанный для Интернета вещей (IoT). В оригинально й модели IOTA нет майнеров; вместо этого каждая новая транзакция должна выполнить небольшое доказательство работы и одобрить две предыдущие транзакции (это «вершины» графа). Этот выбор вершин часто осуществляется с помощью алгоритма Монте-Карло с цепями Маркова (MCMC), который вероятностно выбирает, какие вершины одобрить, отдавая предпочтение самому тяжелому подграфу для предотвращения фрагментации. Консенсус в ранней IOTA частично достигался за счет этого кумулятивного веса одобрений — чем больше будущих транзакций косвенно одобряют вашу, тем более «подтвержденной» она становится. Однако для обеспечения безопасности сети на ранних этапах IOTA полагалась на временный централизованный узел Координатора, который выпускал периодические транзакции-вехи для завершения Tangle. Это было серьезной критикой (централизация) и сейчас устраняется в обновлении, известном как «Coordicide» (IOTA 2.0). В IOTA 2.0 новая модель консенсуса применяет безответственный консенсус в стиле Накамото на DAG. По сути, узлы выполняют голосование в Tangle: когда узел присоединяет новый блок, этот блок неявн о голосует за действительность транзакций, на которые он ссылается. Комитет узлов-валидаторов (выбранных с помощью механизма стейкинга) выпускает блоки валидации в качестве голосов, и транзакция подтверждается, когда она накапливает достаточное количество взвешенных одобрений (концепция, называемая весом одобрения). Этот подход сочетает идею самого тяжелого DAG (подобно самой длинной цепочке) с явным голосованием для достижения консенсуса без координатора. Короче говоря, консенсус IOTA эволюционировал от выбора вершин + Координатор к полностью децентрализованному голосованию по ветвям DAG узлами, стремясь к безопасности и быстрому согласию о состоянии реестра.
- Hedera Hashgraph – Сплетни и виртуальное голосование (aBFT): Hedera Hashgraph использует DAG событий в сочетании с асинхронным византийским отказоустойчивым (aBFT) алгоритмом консенсуса. Основная идея — «сплетни о сплетнях»: каждый узел быстро распространяет подписанную информацию о транзакциях и о своей истории сплетен другим узлам. Это создает Hashgraph (DAG событий), где каждый узел в конечном итоге знает, что распространил каждый другой узел, включая структуру того, кто что слышал и когда. Используя этот DAG событий, Hedera реализует виртуальное голосование. Вместо того чтобы отправлять фактические сообщения о голосовании для упорядочивания транзакций, узлы моделируют алгоритм голосования локально, анализируя граф связей сплетен. Алгоритм Hashgraph Лимона Бэрда может детерминированно рассчитать, как пройдет теоретический раунд голосования по порядку транзакций, просматривая историю «сети сплетен», записанную в DAG. Это дает метку времени консенсуса и полный порядок транзакций, который является справедливым и окончательным (транзакции упорядочиваются по медианному времени их получения сетью). Консенсус Hashgraph является безответственным и достигает aBFT, что означает, что он может выдерживать до 1/3 злонамеренных узлов без ущерба для консенсуса. На практике сеть Hedera управляется набором из 39 известных узлов, управляемых организациями (Совет Hedera), поэтому она является разрешенной, но географически распределенной. Преимуществом является чрезвычайно быстрый и безопасный консенсус: Hedera может достичь завершенности за секунды с гарантированной согласованностью. Механизм консенсуса Hashgraph запатентован, но был открыт в 2024 году и демонстрирует, как DAG + инновационный консенсус (сплетни и виртуальное голосование) могут заменить традиционный протокол блокчейна.
- Lachesis Fantom – Безответственный PoS aBFT: Fantom — это платформа смарт-контрактов, которая использует консенсус на основе DAG под названием Lachesis. Lachesis — это протокол Proof-of-Stake aBFT, вдохновленный Hashgraph. В Fantom каждый узел-валидатор собирает полученные транзакции в блок событий и добавляет его в свой локальный DAG событий. Эти блоки событий содержат транзакции и ссылки на более ранние события. Валидаторы асинхронно передают эти блоки событий друг другу — нет единой последовательности, в которой блоки должны быть произведены или согласованы. По мере распространения блоков событий валидаторы периодически идентифицируют определенные события как вехи (или «корневые блоки событий») после того, как их увидит супербольшинство узлов. Затем Lachesis упорядочивает эти завершенные события и фиксирует их в окончательной Opera Chain (традиционная структура данных блокчейна), которая действует как реестр подтвержденных блоков. По сути, DAG блоков событий позволяет Fantom достигать консенсуса асинхронно и очень быстро, а затем конечным результатом является линейная цепочка для совместимости. Это обеспечивает примерно 1–2 секунды завершенности для транзакций в Fantom. В Lachesis нет майнеров или лидеров, предлагающих блоки; все валидаторы вносят блоки событий и протокол детерминированно упорядочивает их. Консенсус обеспечивается моделью Proof-of-Stake (валидаторы должны стейкать токены FTM и взвешиваются по стейку). Lachesis также является aBFT, допуская до 1/3 неисправных узлов. Объединяя параллелизм DAG с выходом в виде конечной цепочки, Fantom достигает высокой пропускной способности (несколько тысяч TPS в тестах), оставаясь при этом EVM-совместимым для смарт-контрактов. Это хороший пример использования DAG внутренне для повышения производительности, не раскрывая сложность DAG на уровне приложения (разработчики в конечном итоге все равно видят обычную цепочку транзакций).
- Открытое представит ельное голосование Nano (ORV): Nano — это платежная криптовалюта, которая использует уникальную структуру DAG, называемую block-lattice. В Nano у каждого аккаунта есть своя цепочка транзакций, а переводы между аккаунтами обрабатываются с помощью блока отправки в цепочке отправителя и блока получения в цепочке получателя. Эта асинхронная конструкция означает, что сеть может обрабатывать транзакции независимо и параллельно. Консенсус достигается Открытым представительным голосованием (ORV), где сообщество назначает узлы-представители путем делегирования веса баланса. Представители голосуют по конфликтующим транзакциям (которые редки, обычно только при попытках двойной траты), и как только кворум (67% веса) соглашается, транзакция закрепляется (необратимо подтверждается). Типичное время подтверждения Nano значительно меньше секунды, что делает его мгновенным в повседневном использовании. Поскольку нет вознаграждений за майнинг или комиссий, запуск узла Nano или представителя является добровольным усилием, но дизайн сети минимизирует нагрузку (каждая транзакция составляет всего 200 бай т и может быть обработана быстро). Подход DAG и консенсус Nano позволяют ему быть чрезвычайно энергоэффективным — отправители выполняют небольшое PoW (в основном в качестве меры по борьбе со спамом), но это ничтожно по сравнению с блокчейнами PoW. Варианты использования Nano просты по замыслу: он предназначен для денежных переводов, от повседневных покупок до денежных переводов, где скорость и нулевые комиссии являются основными преимуществами. Nano не поддерживает смарт-контракты или сложные скрипты; он сосредоточен на очень хорошем выполнении одной задачи. Проблема модели Nano заключается в том, что она полагается на честное большинство представителей; поскольку нет денежных стимулов, модель безопасности основана на предположении, что крупные держатели токенов будут действовать в интересах сети. До сих пор Nano поддерживала достаточно децентрализованный набор основных представителей и видела использование в торговых платежах, чаевых и других сценариях микроплатежей в Интернете.
- Другие примечательные подходы: Существует несколько других протоколов консенсуса на основе DAG. Hedera Hashgraph и Fantom Lachesis мы рассмотрели; помимо них:
- Консенсус Avalanche (Avalanche/X-Chain): Avalanche использует консенсус на основе DAG, где валидаторы многократно опрашивают друг друга в рандомизированном процессе, чтобы решить, каким транзакциям или блокам отдать предпочтение. X-Chain Avalanche (цепочка обмена) — это DAG транзакций (UTXO) и достигает консенсуса с помощью этого метода сетевой выборки. Протокол Avalanche вероятностный, но чрезвычайно быстрый и масштабируемый — он может завершать транзакции примерно за 1 секунду и, как сообщается, обрабатывать до 4500 TPS на подсеть. Подход Avalanche уникален тем, что сочетает структуры данных DAG с метастабильным консенсусом (протокол Snowball) и обеспечивается Proof-of-Stake (любой может быть валидатором с достаточным стейком).
- Conflux Tree-Graph: Conflux — это платформа, которая расширила PoW Bitcoin до DAG блоков. Она использует структуру Tree-Graph, где блоки ссылаются не только на одного родителя, но и на все известные предыдущие блоки (без сиротства). Это позволяет Conflux использовать майнинг Proof-of-Work, но сохранять все форки как часть реестра, что приводит к гораздо более высокой пропускной способности, чем у типичной цепочки. Таким образом, Conflux может достигать порядка 3–6 тысяч TPS в теории, используя PoW, за счет того, что майнеры производят блоки непрерывно, не дожидаясь одной цепочки. Затем его консенсус упорядочивает эти блоки и разрешает конфликты по правилу самого тяжелого поддерева. Это пример гибридного PoW DAG.
- Варианты Hashgraph и академические протоколы: Существует множество академических протоколов DAG (некоторые реализованы в более новых проектах): SPECTRE и PHANTOM (протоколы blockDAG, нацеленные на высокую пропускную способность и быстрое подтверждение, от DAGlabs), Aleph Zero (консенсус DAG aBFT, используемый в блокчейне Aleph Zero), Parallel Chains / Prism (исследовательские проекты, разделяющие подтверждение транзакций на параллельные подцепочки и DAG), а также недавние достижения, такие как Narwhal & Bullshark Sui, которые используют мемпул DAG для высокой пропускной способности и отдельный консенсус для завершенн ости. Хотя не все из них имеют крупномасштабные развертывания, они указывают на богатую область исследований. Многие из этих протоколов различают доступность (быстрая запись большого количества данных в DAG) и согласованность (согласие по одной истории), пытаясь получить лучшее из обоих.
Каждая платформа DAG адаптирует свой консенсус к своим потребностям — будь то бесплатные микротранзакции, выполнение смарт-контрактов или интероперабельность. Однако общая тема — избегание единого последовательного узкого места: механизмы консенсуса DAG стремятся обеспечить множество одновременных действий, а затем используют умные алгоритмы (сплетни, голосование, выборка и т. д.) для упорядочивания, а не ограничивают сеть одним производителем блоков за раз.