DAG vs Блокчейн
Чтобы понять, чем DAG отличается от блокчейна, мы подготовили параллельное сравнение двух технологий по нескольким критериям.
Принятие в распределенный регистр
Blockchain: Через небольшое количество производителей блоков (например, майнинг пулов).
DAG (Obyte): Абсолютно децентрализованно / не опосредованно.
Упорядочение транзакций
Blockchain: В сочетании с принятием, см. выше.
DAG (Obyte): Для транзакций — автоматическое и вытекающие из структуры DAG, при существовании частичного ордера.
При его отсутствии, упорядочение полагается на провайдеров ордеров (свидетелей).
Консенсус
Blockchain: Составление блоков, то есть включение или не включение каждой отдельной транзакции.
DAG (Obyte): Порядок транзакций (те транзакции, которые еще не упорядочены DAG).
Способность отдельных субъектов влиять на состояние главного регистра
Blockchain: Каждый производитель блоков определяет, что попадает в блок, когда наступает его очередь (или они выигрывают право) производить блок.
DAG (Obyte): Провайдеры ордеров (свидетели) только косвенно влияют на ордер, потому что это также зависит от действий других свидетелей и других пользователей (если провайдеры ордеров не вступают в сговор для координации своих действий).
Как решается проблема двойного расхода
Blockchain: Производители блоков решают, какую версию они включают в блок. Все остальные конфликтующие версии отбрасываются.
DAG (Obyte): Если между двумя конфликтующими транзакциями существует частичный порядок, более поздняя версия отклоняется.
Если частичный порядок отсутствует, все конфликтующие версии включаются в группу обеспечения доступности баз данных. Конфликт разрешается чуть позже, когда определяется ордер и выигрывает более ранняя транзакция. Последняя из них все еще хранится в группе обеспечения доступности баз данных, но игнорируется и не вызывает изменений состояния (транзакция аннулируется).
Баланс правил против принятия произвольных решений
Blockchain: Сочетание правил и принятия произвольных решений.
Существует много правил, но производителям блоков по-прежнему разрешается принимать решение о точном составе блоков, то есть о включении / не включении какой-либо конкретной транзакции.
DAG (Obyte): Только правила перезаписи.
Сопротивление краже
Blockchain: Блокчейны могут быть реорганизованы, и старая версия цепочки (следовательно, старая версия истории транзакций и состояние реестра) будет отброшена.
DAG (Obyte): Добавление транзакции в группу доступности базы данных необратимо.
После того, как ордер определен (с помощью провайдера ордеров), он также становится неизменным.
Сопротивление цензуре
Цензура определяется как способность предотвращать включение в распределенный регистр какой-либо конкретной транзакции, не затрагивая другие транзакции, которые считаются приемлемыми. Блокировка всех транзакций называется саботажем.
Blockchain: Цензура возможна, если большинство (по количеству, по мощности хэширования, по ставке и т. д. зависит от точного алгоритма консенсуса) производителей блоков решат провести цензуру для конкретной транзакции. Если меньшинство производителей блоков пытается включить транзакцию жертвы, их блоки просто игнорируются картелем большинства.
DAG (Obyte): Устойчив к цензуре.
Если какая-либо группа (включая провайдера ордеров) пытается подвергнуть цензуре какую-либо конкретную транзакцию, они могут отказать в ее прямом включении (т. е. не принимать ее в качестве родительской в группе обеспечения доступности баз данных), но для предотвращения косвенного включения им также придется подвергать цензуре все другие транзакции. Все пользователи должны были бы вступить в сговор, чтобы осуществить цензуру.
Сопротивление саботажу
Blockchain:
Proof of Work (PoW): устойчив к саботажу.
Например. если большинство производителей блоков просто прекратят производство блоков, меньшинство их заберет, хотя и с более медленной скоростью.
Если большинство вступает в сговор для производства только пустых блоков, меньшинство может накапливать больше хэш-мощности с течением времени, а затем обогнать прежнее большинство.
DAG (Obyte): Не устойчив к саботажу
Большинство провайдеров ордеров могут решить остановить свои узлы, и, следовательно, не будет никакого способа определить ордер.
Устойчивость к потере приватных ключей
Blockchain.
PoW: не уязвим, так как в производстве блоков нет закрытых ключей.
PoS: уязвим, так как украденные закрытые ключи могут использоваться для производства или двойного производства блоков от имени производителя блока.
DAG (Obyte): Уязвим.
Украденные закрытые ключи провайдеров ордеров можно использовать для публикации транзакций ордера вне порядка, что может привести к путанице в других узлах, если большинство ключей будет украдено одновременно.
Сопротивление краже
Blockchain: Кража возможна, если большинство производителей блоков вступают в сговор с целью перестроить блокчейн с некоторого момента в прошлом и включить в новую цепочку другую версию двойных расходов. Несколько жертв могут быть направлены одновременно, чтобы сделать атаку экономически эффективной.
DAG (Obyte): Сильно устойчив к кражам.
Если провайдеры ордеров вступают в сговор, пытаясь изменить порядок двойных расходов, они могут попытаться сделать это, только разместив свои собственные транзакции вне порядка. В этом случае все другие узлы будут сбиты с толку, так как они не ожидают этого от свидетелей(провайдеров ордеров), и сеть остановится. Таким образом, пытаясь украсть данные у отдельного пользователя, они убьют всю сеть и, следовательно, не смогут ничего украсть.
Обратите внимание, что приведенное выше сравнение действительно только для версии DAG проекта Obyte и может не применяться к другим платформам на основе DAG. Например, IOTA может не пройти тест на перезаписываемость, так как в соответствии с правилами IOTA, в противном случае действительные транзакции, в которых использовались двойные затраты, удаляются из распределенного регистра;
Hashgraph потерпит неудачу принятия в респределенный регистр, поскольку доступ для записи в Hashgraph реестр, ограничен небольшой группой узлов. Приведенный выше анализ учитывает только способность консенсусного протокола противостоять сбоям. На практике многие сети можно восстановить вручную после сбоев, перезапустив сеть из последнего известного исправного состояния. Это обеспечивается встроенной прозрачностью как блокчейна, так и DAG.