Optimistic и ZK Rollups
Ethereum - чрезвычайно популярный блокчейн. Всем нужна его безопасность и децентрализация.
Но высокий спрос также приводит к большим перегрузкам - затраты на газ высоки, а скорость транзакций низка.
Чтобы решить эту проблему перегрузки, Ethereum нуждается в помощи решений Layer 2 (уровня 2).
L2 решения это как бы компании-партнеры, которые помогают Ethereum обрабатывать больше транзакций и с меньшими затратами на газ.
Одним из широко используемых решений для масштабирования L2 является rollups (свёртывания).
Роллапы объединяют (пакетно) несколько транзакций вне цепи, помещают их в сжатый файл (вспомните WinRar) и размещают этот сжатый файл на блокчейне Ethereum.
Этот сжатый файл содержит ключевые параметры, необходимые для размещения транзакции на блокчейне Ethereum:
3. Баланс счета отправителя до и после отправки.
4. Баланс счета получателя до и после отправки.
Существует два различных способа, с помощью которых роллапы размещают эти значения в блокчейне:
- ZK (Zero-knowledge) Rollups (статья на тему доказательства с нулевым знанием тут)
Давайте сначала посмотрим на Optimistic Rollups.
Когда оптимистичный роллап публикует сжатый файл, блокчейн "оптимистично" считает, что все транзакции, содержащиеся в файле, являются действительными.
Он не проверяет, правильно ли были выполнены транзакции, и считает, что тот, кто публикует транзакции, "невиновен, пока не доказана его вина".
Публикующий также должен внести страховой депозит вместе со сжатым файлом.
В случае, если транзакции являются вредоносными, существует промежуток времени, в течение которого ЛЮБОЙ желающий может предоставить защиту от мошенничества (fraud proof) в отношении сжатого файла.
Как следует из названия, fraud proof - это доказательство того, что сжатый файл содержит недействительные транзакции. Оно включает в себя:
- Фактические действительные транзакции
Затем блокчейн выполняет транзакции и сравнивает результаты с теми, которые были опубликованы оптимистичным роллапом.
Если есть несоответствие, это доказывает, что в отправленном пакете есть недействительные транзакции. Затем сеть возвращает эту партию транзакций и все партии после неё.
Примерами Optimistic Rollups являются :
В отличие от оптимистичных роллапов, в роллапах ZK используется менталитет "не доверяй, а проверяй".
В своих сжатых файлах, в дополнение к ключевым параметрам, сводные данные ZK содержат подтверждение того, что конечные балансы являются правильным результатом выполнения пакета транзакций.
Это доказательство называется ZK SNARK
Любой желающий может использовать ZK SNARK в каждом файле для проверки транзакций, содержащихся в этом конкретном сжатом файле.
О том, почему эти доказательства так называются и как именно они работают, я расскажу в одной из следующих тем.
Короче говоря, ZK SNARKs позволяют нам генерировать доказательство лежащей в основе части данных без раскрытия самих данных.
Любой желающий может позже подтвердить, что данные существовали, даже если у него нет доступа к самим данным.
Примерами ZK rollups являются:
Как Optimistic, так и ZK роллапы все еще находятся в стадии становления.
Оптимистичные роллапы лидируют по популярности благодаря своей простоте (генерировать ZK доказательства сложно).
ZK rollups - это более совершенная технология и может выиграть в долгосрочной перспективе.
В 2022 году произошли значительные изменения в технологии ZK роллапов.
Доказательство с нулевым разглашением
Ethereum : Всемирный Компьютер
Основы компьютерных наук: Машины Тьюринга и полнота Тьюринга.