Перейти к основному содержанию

Последнее обновление страницы: 6 марта 2024 г.

Данкшардинг

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

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

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

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

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

Что такое KZG?

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

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

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

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

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

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

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

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

Полный данкшардинг наступит через несколько лет. Несмотря на это, прото-данкшардинг должен появиться относительно скоро. На момент написания (февраль 2023 г.) церемония KZG по-прежнему остается открытой и уже привлекла более 50 000 участников. EIP(opens in a new tab) для прото-данкшардинга является зрелым, спецификация согласована, а клиенты реализовали прототипы, которые в настоящее время проходят испытания и готовятся к производству. Следующий шаг заключается в реализации изменений в публичной тестовой сети. Вы можете следить за этим в реальном времени, используя контрольный список готовности EIP 4844(opens in a new tab).

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

Была ли эта статья полезной?