Что такое DAG в двух словах?
Тип технологии распределенных реестров отличающийся от Блокчейнов структурой записей и асинхронностью.
Блокчейн: Собирает много транзакций (далее записей) в один блок, ждет определенное время и добавляет блок в цепочку.
DAG: Берет каждую запись и тут же добавляем эту запись в «цепочку»
Слово «цепочка» будет неверным, потому как на практике сразу много записей генерируются одновременно и добавляются асихронно. Поэтому В DAG история записей выглядит как направленный ацикличный граф (от анг. Directed Acyclic Graph)
Подтверждение транзакций и консенсус: когда юзер отправляет запись в сеть, сначала он должен подтвердить (провалидировать) хотябы одну, но чаще две записи из предыдущих. Таким образом сами пользователи обслуживают сеть, каждый раз когда отправляют транзакцию.
Поэтому в DAG обычно нет майнеров и мастернод. Но есть участники, которые должны определять порядок всех записей, т.к. без точного порядка в DAG возможна атака двойной траты.
Наличие этих участников и процесс валидации транзакций со стороны пользователей - в совокупности образуют алгоритм консенсуса о записях в DAG сетях.
Кстати в IOTA (они назвали свой DAG "Tangle") - всего лишь один участник "IOTA checkpoint authorities" контролирует порядок записей. В Byteball - этих участников ("Whitnesses") 12, и они могут менятся.
Для защиты от спама могут применятся Proof-of-Work механизмы как в IOTA или комиссии за транзакции, как в Byteball. Кстати именно из-за комиссий Byteball не подойдет для Internet of Things, хотя в остальном он может все, что IOTA и даже больше.
Плюсы и минусы DAG систем:
Плюсы:
- Скорость транзакций, точнее отсутствие пинга
- Можно без комиссий
Минусы:
- Теже траблы с масштабируемостью.
В публичных DAG системах все те же проблемы с масштабируемостью, а может даже хуже. Представьте, что надо синхронизировать блокчейн не раз в 10 минут, когда собирается блок, а постоянно при добавлении каждой транзакции
Есть разные расширения DAG концепции. Некоторые новые проекты пишут о 250 000 транзакций в секунду и безграничной масштабируемости. Есть и такие формулировки: "Чем больше пользователей - тем быстрее сеть". Это от части правда, но на практике на сегодняшний день только для приватных блокчейнов, где есть контролирующий узел, требующий доверия.
Мое мнение о потенциале DAG:
Думаю, что DAG системы имеют хороший потенциал благодаря отсутствию пинга и механизму валидации транзакций на стороне пользователя. Это выглядит единственным реальным решением для IoT.
На DAG также реализуются смарт-контракты и в Byteball они уже работают, да да там можно выпускать свой "токены". Думаю публичные DAG системы будут конкурировать с блокчейн-системами, до тех пор пока не появится тот, кто решит проблему масштабируемости в публичных сетях по настоящему и станет самым главным.
Возможно приватные реализации смогут занять свою нишу на рынке. Но наибольшую капитализацию будут иметь публичные блокчейн-системы.