Перейти к основному контенту

Данкшардинг

Редактировать страницу (opens in a new tab)

Данкшардинг — это то, как Эфириум становится по-настоящему масштабируемым блокчейном, но для этого требуется несколько обновлений протокола. Прото-данкшардинг — это промежуточный шаг на этом пути. Оба обновления направлены на то, чтобы сделать транзакции на уровне 2 (l2) максимально дешевыми для пользователей, и должны масштабировать Эфириум до более чем 100 000 транзакций в секунду.

Что такое прото-данкшардинг?

Прото-данкшардинг, также известный как EIP-4844 (opens in a new tab), — это способ для роллапов добавлять более дешевые данные в блоки. Название происходит от имен двух исследователей, предложивших эту идею: Protolambda и Данкрад Файст (Dankrad Feist). Исторически роллапы были ограничены в том, насколько дешевыми они могут сделать транзакции пользователей, из-за того, что они публикуют свои транзакции в CALLDATA.

Это дорого, поскольку обрабатывается всеми узлами Эфириума и хранится ончейн вечно, хотя роллапам эти данные нужны лишь на короткое время. Прото-данкшардинг вводит блобы данных, которые можно отправлять и прикреплять к блокам. Данные в этих блобах недоступны для EVM и автоматически удаляются через фиксированный период времени (на момент написания статьи он установлен в 4096 эпох, или около 18 дней). Это означает, что роллапы могут отправлять свои данные гораздо дешевле и передавать эту экономию конечным пользователям в виде более дешевых транзакций.

Роллапы — это способ масштабирования Эфириума путем пакетирования транзакций офчейн и последующей публикации результатов в Эфириуме. Роллап по сути состоит из двух частей: данных и проверки выполнения. Данные — это полная последовательность транзакций, которая обрабатывается роллапом для создания изменения состояния, публикуемого в Эфириуме. Проверка выполнения — это повторное выполнение этих транзакций неким честным участником («прувером»), чтобы убедиться, что предложенное изменение состояния верно. Для выполнения проверки выполнения данные транзакции должны быть доступны достаточно долго, чтобы любой мог их скачать и проверить. Это означает, что любое нечестное поведение секвенсора роллапа может быть выявлено и оспорено прувером. Однако эти данные не должны быть доступны вечно.

Роллапы публикуют коммитменты своих данных транзакций ончейн, а также делают фактические данные доступными в блобах данных. Это означает, что пруверы могут проверить действительность коммитментов или оспорить данные, которые они считают неверными. На уровне узла блобы данных хранятся в клиенте консенсуса. Клиенты консенсуса подтверждают, что они видели данные и что они были распространены по сети. Если бы данные хранились вечно, эти клиенты раздулись бы, что привело бы к высоким требованиям к оборудованию для запуска узлов. Вместо этого данные автоматически удаляются с узла каждые 18 дней. Подтверждения клиентов консенсуса демонстрируют, что у пруверов было достаточно возможностей для проверки данных. Фактические данные могут храниться офчейн операторами роллапов, пользователями или другими лицами.

Как проверяются данные блоба?

Роллапы публикуют выполняемые ими транзакции в блобах данных. Они также публикуют «коммитмент» к данным. Они делают это путем подбора полиномиальной функции к данным. Затем эту функцию можно вычислить в различных точках. Например, если мы определим чрезвычайно простую функцию f(x) = 2x-1, то мы сможем вычислить эту функцию для x = 1, x = 2, x = 3, получив результаты 1, 3, 5. Прувер применяет ту же функцию к данным и вычисляет ее в тех же точках. Если исходные данные изменены, функция не будет идентичной, а следовательно, не будут идентичными и значения, вычисленные в каждой точке. В реальности коммитмент и доказательство сложнее, поскольку они обернуты в криптографические функции.

Что такое KZG?

KZG расшифровывается как Kate-Zaverucha-Goldberg — фамилии трех оригинальных авторов (opens in a new tab) схемы, которая сводит блоб данных к небольшому криптографическому «коммитменту» (opens in a new tab). Блоб данных, отправленный роллапом, должен быть проверен, чтобы убедиться, что роллап не ведет себя нечестно. Это включает в себя повторное выполнение прувером транзакций в блобе для проверки действительности коммитмента. Концептуально это то же самое, как клиенты исполнения проверяют действительность транзакций Эфириума на уровне 1 (l1) с использованием доказательств Меркла. KZG — это альтернативное доказательство, которое подбирает полиномиальное уравнение к данным. Коммитмент вычисляет полином в некоторых секретных точках данных. Прувер подобрал бы тот же полином к данным и вычислил бы его при тех же значениях, проверяя, что результат совпадает. Это способ проверки данных, совместимый с методами с нулевым разглашением, используемыми некоторыми роллапами и, в конечном итоге, другими частями протокола Эфириума.

Что такое церемония KZG?

Церемония KZG была способом для множества людей из сообщества Эфириума коллективно сгенерировать секретную случайную строку чисел, которую можно использовать для проверки некоторых данных. Очень важно, чтобы эта строка чисел не была известна и не могла быть воссоздана кем-либо. Чтобы гарантировать это, каждый участник церемонии получал строку от предыдущего участника. Затем они создавали новые случайные значения (например, позволяя своему браузеру измерять движение мыши) и смешивали их с предыдущим значением. После этого они отправляли значение следующему участнику и удаляли его со своей локальной машины. До тех пор, пока хотя бы один человек в церемонии делал это честно, конечное значение будет неизвестно злоумышленнику.

Церемония KZG для EIP-4844 была открыта для всех желающих, и десятки тысяч людей приняли в ней участие, чтобы добавить свою собственную энтропию (случайность). В общей сложности было сделано более 140 000 вкладов, что сделало ее крупнейшей в мире церемонией такого рода. Чтобы церемония была скомпрометирована, 100% этих участников должны были бы быть активно нечестными. С точки зрения участников, если они знают, что были честны, им не нужно доверять кому-либо еще, потому что они знают, что обеспечили безопасность церемонии (они индивидуально выполнили требование «1 из N честных участников»).

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

Если кто-то знает случайные местоположения, используемые для коммитмента, ему легко сгенерировать новый полином, который подходит в этих конкретных точках (т. е. создать «коллизию»). Это означает, что они могли бы добавить или удалить данные из блоба и при этом предоставить действительное доказательство. Чтобы предотвратить это, вместо того чтобы давать пруверам фактические секретные местоположения, они получают местоположения, обернутые в криптографический «черный ящик» с использованием эллиптических кривых. Они эффективно перемешивают значения таким образом, что исходные значения не могут быть восстановлены, но с помощью хитрой алгебры пруверы и верификаторы все еще могут вычислять полиномы в точках, которые они представляют.
Ни данкшардинг, ни прото-данкшардинг не следуют традиционной модели «шардинга», которая направлена на разделение блокчейна на несколько частей. Цепочки шардов больше не являются частью дорожной карты. Вместо этого данкшардинг использует распределенную выборку данных по блобам для масштабирования Эфириума. Это гораздо проще реализовать. Эту модель иногда называют «шардингом данных».

Что такое данкшардинг?

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

Это работает за счет увеличения количества блобов, прикрепленных к блокам, с шести (6) в прото-данкшардинге до 64 в полном данкшардинге. Остальные необходимые изменения — это обновления того, как работают клиенты консенсуса, чтобы они могли обрабатывать новые большие блобы. Некоторые из этих изменений уже есть в дорожной карте для других целей, независимых от данкшардинга. Например, данкшардинг требует, чтобы было реализовано разделение предлагающего и создающего (PBS). Это обновление, которое разделяет задачи создания блоков и предложения блоков между разными валидаторами. Аналогичным образом, выборка доступности данных (DAS) требуется для данкшардинга, но она также необходима для разработки очень легких клиентов, которые не хранят много исторических данных («клиенты без состояния»).

Разделение предлагающего и создающего (PBS) необходимо для того, чтобы отдельным валидаторам не приходилось генерировать дорогие коммитменты и доказательства для 32 МБ данных блоба. Это создало бы слишком большую нагрузку на домашних стейкеров и потребовало бы от них инвестиций в более мощное оборудование, что вредит децентрализации. Вместо этого специализированные создатели блоков берут на себя ответственность за эту дорогостоящую вычислительную работу. Затем они делают свои блоки доступными для предлагающих блок для трансляции. Предлагающий блок просто выбирает наиболее прибыльный блок. Любой может дешево и быстро проверить блобы, а это означает, что любой обычный валидатор может убедиться, что создатели блоков ведут себя честно. Это позволяет обрабатывать большие блобы без ущерба для децентрализации. Нечестных создателей блоков можно просто исключить из сети и подвергнуть слэшингу — на их место придут другие, потому что создание блоков является прибыльным занятием.

Выборка доступности данных (DAS) необходима валидаторам для быстрой и эффективной проверки данных блоба. Используя DAS, валидаторы могут быть полностью уверены, что данные блоба были доступны и правильно зафиксированы коммитментом. Каждый валидатор может случайным образом выбрать всего несколько точек данных и создать доказательство, что означает, что ни одному валидатору не нужно проверять весь блоб. Если какие-либо данные отсутствуют, это будет быстро выявлено, и блоб будет отклонен.

Текущий прогресс

До полного данкшардинга еще несколько лет. Тем временем церемония KZG завершилась с более чем 140 000 вкладов, а EIP (opens in a new tab) для прото-данкшардинга был доработан. Это предложение было полностью реализовано во всех тестовых сетях и запущено в Мейннете с обновлением сети Cancun-Deneb («Денкун») в марте 2024 года.

Дополнительная литература

Последнее обновление страницы: 20 мая 2026 г.