Доступность данных (DA) в блокчейнах

Что такое доступность данных и уровень доступности данных?

Блокчейны имеют несколько основных функций, включая выполнение транзакций, вызов транзакций и гарантию доступности данных из блока. Что такое доступность данных (DA), уровень доступности данных (LayerDA) и почему это так важно для любых блокчейн-сетей, подробно рассмотрим в этой статье.

Что такое доступность данных в блокчейне?

Доступность данных (DA) — это гарантия того, что производители блоков честно публикуют все данные о транзакциях блока, а также обеспечивают доступ к этим данным для всех участников сети. Это означает, что все узлы способны получить доступ и загрузить все данные, которые содержаться в во всех блоках сети. Если узел может загрузить все данные транзакций из блока, то он успешно проверил доступность данных, доказав, что данные блока действительно были опубликованы в сети.

Почему это так важно?

Чтобы понять важность доступности данных, стоит рассмотреть архитектуру блоков. Обычно блоки в блокчейне состоят из двух основных компонентов:

  • Заголовок блока. Заголовки блоков содержат метаданные о блоке, которые включают в себя: хеш предыдущего блока, временную метку, а также одноразовый номер блока.
  • Данные транзакций. Данные всех транзакций, включенных в этот блок узлом.

Архитектура блоков в блокчейне

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

Доступность данных транзакций имеет очень важное значение для безопасности любой блокчейн-сети. Без этих данных так называемые атаки с утаиванием данных (Data Withholding Attacks) стали бы постоянной практикой. Такая атака может совершаться, когда производитель блока публикует его не передавая данные о содержащихся в блоке транзакциях.

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

Проблема доступности данных

Проблема доступности данных

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

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

Монолитные блокчейн-сети, такие как Bitcoin или Ethereum обеспечивают доступность данных, сохраняя все данные о состоянии на нескольких узлах, чтобы все участники сети, нуждающиеся в этой информации, могли запросить ее. Это является одной из причин низкой пропускной способности этих блокчейнов и огромного размера данных, необходимых для запуска полного узла.

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

Доступность данных и масштабирование Layer 2

Доступность данных и решения Layer 2

Масштабирование таких блокчейнов, как Bitcoin и Ethereum, в последнее время полагается на решения второго слоя (Layer 2), такие как Lightning Network и Stacks для Bitcoin и Arbitrum, Optimism, zkSync для Ethereum. За счет того, что транзакции обрабатываются за пределами основной сети, получается добиться уменьшения задержки и увеличения пропускной способности.

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

Уровень доступности данных (LayerDA)

Уровень доступности данных

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

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