Что такое ZkRoll Up и как они работают?

18 марта 2024 г.
от Cryptosip
Что такое ZkRoll Up и как они работают?

Технология ролл-апов это решение L2 уровня для масштабирования сети Ethereum. Что из себя представляет решение и как оно работает?

Zero-knowledge rollups (ZK-rollups) объединяет (или "сворачивает") транзакции в пакеты, которые выполняются вне цепочки. Out-of-chain вычисления уменьшают объем данных, которые необходимо размещать в блокчейне.

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

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

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

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

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

В ZK-роллапах используются технологии сжатия данных для уменьшения объема транзакций - например, счета представляются индексом, а не адресом, что позволяет сэкономить 28 байт данных. Публикация данных на цепочке является существенной статьей расходов для роллапов, поэтому сжатие данных позволяет снизить плату для пользователей.

Пользователи в ZK-ролике подписывают транзакции и передают их операторам L2 для обработки и включения в следующую партию. В некоторых случаях оператором является централизованная организация, называемая секвенсором, которая выполняет транзакции, объединяет их в пакеты и отправляет в L1. Секвенсор в этой системе является единственным субъектом, которому разрешено производить блоки L2 и добавлять транзакции rollup в контракт ZK-rollup.

В других ZK-роллапах роль оператора может быть ротирована с помощью набора валидаторов proof-of-stake. Потенциальные операторы вносят средства в контракт роллапа, причем размер каждой ставки влияет на шансы стейкера быть выбранным для добычи следующей партии роллапа. 

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