Руководство по роллапам в блокчейн-сетях 🍣

Руководство по роллапам в блокчейн-сетях 🍣

27 апреля 2022 г.

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


Соучредитель Ethereum Виталик Бутерин описал концепцию накопительных пакетов еще в 2014 году. В прошлом году Виталик [заявил, что накопительные пакеты являются «единственным выбором» для снижения платы за газ] (https://vitalik.ca/general/2021/01). /05/rollup.html).


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



Роллапы в краткосрочной и среднесрочной, а возможно, и в долгосрочной перспективе являются единственным ненадежным решением для масштабирования Ethereum.


Спасибо, Виталик за вступление. Если вы знакомы с Ethereum, вы также знаете о текущих кризисах цен на газ. По сути, если вы переводите монеты на Ethereum, будьте готовы раскошелиться на комиссию до 10 долларов за отправку 1 доллара. Последнее предложение не может быть преувеличением. 😔


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


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


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


Сводки перемещают вычисления (и хранилище состояний) за пределы цепочки, но сохраняют некоторые данные для каждой транзакции в цепочке.


Свернутая транзакция может включать десятки тысяч транзакций, а это означает, что десятки тысяч транзакций могут быть зарегистрированы в основной цепочке по цене одной. Используя алгоритмы сжатия, чем больше транзакций уровня 2 вы можете объединить в одну транзакцию уровня 1, тем дешевле будет хранить подтверждение транзакций.


[Jag Sidhu] (https://jsidhu.medium.com/the-ultimate-guide-to-rollups-f8c075571770) пишет: «Некоторые инженеры Ethereum сократили размер этих отдельных обновлений учетных записей до нескольких байтов (8–12 байт в зависимости от реализации), что означает, что блок с 1 мегабайтом пропускной способности сможет примерно обрабатывать 83 000 — 125 000 корректировок аккаунта на блок и от 5500 до 8300 TPS теоретически при 15-секундном времени блока».



[Источник изображения] (https://wwz.unibas.ch/fileadmin/user_upload/wwz/00_Professuren/Schaer_DLTFintech/Lehre/Tobias_Schaffner_Masterthesis.pdf)


Типы сверток


В документе тонко классифицируются накопительные пакеты на две основные категории: Arbitrum и Optimism, с комиссией, которая в 3-8 раз ниже, чем плата за газ, чем L1 и ZK-свертки, с комиссией за газ в 40-100 раз ниже, чем в основной сети Ethereum.


Итак, в чем разница между Arbitrum и Optimism, которые обеспечивают однозначную прибыль, от ZK-роллапов с трехзначной прибылью? Это связано с тем, что существует два типа решений для масштабирования уровня 2: Optimistic и ZK.


Оптимистичные свертки


[Arbitrium] (https://offchainlabs.com) и [Optimism] (https://www.optimism.io) — это протоколы уровня 2, которые используют «оптимистическое сведение» (OR) для масштабирования Ethereum. Оптимистичная накопительная сеть предполагает, что транзакции действительны по умолчанию, и выполняет вычисления с защитой от мошенничества только в случае возникновения проблемы.


Другими словами, когда приложение совершает транзакции в оптимистичной накопительной сети, такой как Arbitrum, фактический перевод средств (со счета A на счет B) происходит в Arbitrum. Затем транзакция публикуется в основной сети Ethereum.


Помните, что оптимистичная накопительная сеть предполагает, что все транзакции действительны, по крайней мере, на начальном этапе. Итак, что произойдет, если транзакция недействительна?


Это действительно проблема оптимистичных сверток. Поскольку предполагается, что каждая транзакция действительна, оптимистичные накопительные пакеты имеют ограничение время вывода средств (7-14 дней), пока сеть ожидает, пока кто-то еще оценит состояние сети.


Оптимистичные свертки полагаются на доказательства мошенничества, чтобы избежать повторных вычислений. Состояние предлагается Эфириуму «связанным» актором. Любой, кто хочет бросить вызов актеру, может потребовать награду, доказав, что обновление состояния является неточным.


Для этого претендент должен предоставить данные, требуемые смарт-контрактом, чтобы доказать неточность. [Эта тема] (https://threadreaderapp.com/thread/1395812308451004419.html) посвящена ключевой разнице между механизмами защиты от мошенничества Optimism и Arbitrum.


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


Роллапы ZK


Чтобы Ethereum и EVM-совместимые сети стали следующей распределенной вычислительной платформой в мире, цены на газ должны быть значительно снижены до тех пор, пока не станет дешевле делать что-то в масштабах Интернета. Свертки ZK (ZKR) обещают стать ключом к достижению такого уровня масштабируемости.


Роллапы ZK, такие как zkSync, популярны, потому что у них нет проблемы времени вывода, которая есть у оптимистичных роллапов. Время вывода средств в zkSync, накопительном пакете ZK, работающем в основной сети Ethereum, составляет от 10 минут до 7 часов при низком уровне использования.


Более того, накопительные пакеты ZK становятся дешевле и быстрее по мере роста использования. Так что в будущем все пойдет быстрее.


Но что означает ZK?


Свертки ZK основаны на концепции пруверов и верификаторов. ZK означает нулевое знание.


ZKR «сворачивает» транзакции вне сети и генерирует криптографическое доказательство, известное как zk-SNARK.


Аббревиатура [zk-SNARK] (https://en.wikipedia.org/wiki/Non-interactive_zero-knowledge_proof) означает «Краткий неинтерактивный аргумент знания с нулевым знанием». Zk-SNARK является доказательством валидность транзакций в виде хэша и в итоге помещается в основную цепочку.


Специальный смарт-контракт ZK Rollup, который находится на уровне 1, поддерживает статус переводов, сделанных в цепочке свертки. Статус можно обновить только с картой действия; ЗК-СНАРК. Zk-SNARK — это хэш, который представляет статус валидности блокчейна.


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


В «Доказательстве знания» с нулевым разглашением доказывающий может убедить проверяющего не только в том, что число существует, но и в том, что он действительно знает такое число — опять же, не раскрывая никакой информации о числе.


Краткие доказательства zk-SNARK занимают всего несколько сотен байт и могут быть проверены в течение нескольких миллисекунд. Доказательство ZK математически доказывает отсутствие мошенничества.


[zkSync] (https://zksync.io) — это ZKR, работающий в сети Ethereum. Immutable X и Loopring также используют ZKR. Zcash — первое широко распространенное приложение zk-SNARK. Polygon ориентирован на криптографию с нулевым разглашением (ZK) как на конечную игру для масштабирования блокчейна. В этом пространстве происходит много инноваций. L2beat.com предоставляет подробную информацию о решениях для масштабирования Ethereum Layer 2.


Основные компоненты ZKR


ZKR выполняют транзакции в сайдчейне и запускают их в основной цепочке. Для этого ZKR использует два транзактора и ретранслятора. Согласно [Cryptomedia] (https://www.gemini.com/cryptopedia/layer-2-scaling-zk-rollup-optimistic-rollup-ethereum), это определение этих двух терминов:


  • Transactor создает и транслирует данные транзакции (индексированный адрес, стоимость, сетевая плата и одноразовый номер) в сеть. Транзактор соответствует внешней учетной записи на Ethereum. Затем смарт-контракты записывают адреса в одно дерево Меркла, а стоимость транзакции — в другое.

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

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


Как накопительные пакеты снижают газообразование?


Роллапы на самом деле не уменьшают расход газа на Ethereum. Напомним, что накопительный пакет — это сайдчейн уровня 2; при использовании накопительного пакета вы не будете отправлять транзакции в основную сеть Ethereum. Вместо этого транзакции будут отправлены на L2.


Пользователи dApp, работающего по схеме ZK-Rollup, будут платить меньше комиссий за транзакции.


Являются ли оптимистичные накопительные пакеты временным решением?


Кажется, это распространенный вопрос в сообществе. Если ZKR быстрее, то зачем вообще заморачиваться с OR?


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


Это изменилось в 2021 году. Теперь вы можете взять свой смарт-контракт Solidity и развернуть его на ZKR с несколькими (относительно небольшими) изменениями.


В феврале 2022 года zkSync 2.0 стал доступен в тестовой сети Ethereum. [zkEVM] (https://docs.zksync.io/zkevm/) — это виртуальная машина, которая выполняет смарт-контракты способом, совместимым с вычислениями с нулевым разглашением.


Только время покажет, кто победит.


Как на это повлияет слияние?


Проще говоря, не будет. Подробный ответ дам в другом посте.


Темы, которые мы пропустили


В оптимистичных сводках, когда транзакции готовы к свертыванию, секвенсор — это специально назначенный полный узел, который может управлять порядком транзакций. Секвенсоры объединяют транзакции и отправляют как данные транзакции, так и новый корень состояния L2 на L1. Кайл Чарбоннет подробно объяснил реализацию оптимистического свертывания Optimism [здесь] (https://medium.com/privacy-scaling-explorations/an-introduction-to-optimisms-optimistic-rollup-8450f22629e8).


ZK-STARK(Масштабируемые прозрачные аргументы знаний с нулевым разглашением). Система подтверждения, используемая в ZK-SNARK, требует, чтобы доверенная сторона или стороны изначально установили систему подтверждения ZK. Недобросовестная доверенная сторона может поставить под угрозу конфиденциальность системы. ZK-STARKS совершенствует эту технологию, устраняя необходимость в надежной установке.


Вывод


Блокчейн — это быстро развивающееся пространство. Миллионы долларов продолжают направляться на создание масштабируемых будущих блокчейн-сетей. Трудно сказать, станут ли ZKR серебряной пулей для решения проблем с доступностью данных и масштабированием Ethereum.


В краткосрочной перспективе кажется, что ZKR — это шаг в правильном направлении.


Рекомендации


[Объяснение DeFi: ZK Rollups] (https://www.reddit.com/r/CryptoCurrency/comments/nctot7/defi_explained_zk_rollups/)


Что такое ZK-Rollups и почему это лучшая инвестиция, которую вы можете сделать в 2022 году.


[Полное руководство по роллапам] (https://jsidhu.medium.com/the-ultimate-guide-to-rollups-f8c075571770)


[20 февраля 2021 г.: Optimistic vs ZK-Rollups, ELI5 🧒🧑‍🏫] (https://curve.substack.com/p/february-20-2021-optimistic-vs-zk?s=r)


[Rollups — окончательное решение для масштабирования Ethereum — Finematics] (https://finematics.com/rollups-explained/)


[Неполное руководство по роллапам] (https://vitalik.ca/general/2021/01/05/rollup.html)


Как на самом деле работает Optimism’s Rollup?


Что такое zk-SNARK? | Zcash


Масштабирование публичных блокчейнов


[Введение в Optimistic Rollup] (https://medium.com/privacy-scaling-explorations/an-introduction-to-optimisms-optimistic-rollup-8450f22629e8)


[Масштабируемость и конфиденциальность блокчейна: экосистема объединения] (https://www.gemini.com/cryptopedia/layer-2-scaling-zk-rollup-optimistic-rollup-ethereum)



Оригинал
PREVIOUS ARTICLE
NEXT ARTICLE