*Пересылка оригинального заголовка «Как ZKP и ZK-Rollups помогают решить проблему масштабируемости: обзор блокчейна zkSync»
В этой статье мы объясним, что такое технология доказательства нулевого знания и поговорим о популярном блокчейне — zkSync: как работают транзакции в zkSync и основные различия от виртуальной машины Ethereum (EVM). Также обсудим преимущества и недостатки этого блокчейна, который, на наш взгляд, может иметь перспективное будущее.
ZkSync - это блокчейн второго уровня (Уровень 2 — L2) для Ethereum, созданный для решения проблем высоких комиссий и ограниченной пропускной способности (транзакции в секунду — TPS) в сети Ethereum. На этой платформе используется технология ZK-Rollup, которая использует доказательства с нулевым разглашением (ZKP) для пакетной обработки множества транзакций вне главной сети (L1). На L1 отправляются только криптографические доказательства правильности транзакций и их сжатые данные, что значительно повышает эффективность и снижает затраты.
Разработано Matter Labs, zkSync объявлен как полностью открытый продукт (100% открытый исходный код), управляемый сообществом. В соответствии с Cryptorank, проект уже привлек внимание, привлекая инвестиции в размере $458 миллионов. В долгосрочной перспективе Matter Labs стремится создать обширную экосистему. В настоящее время функционируют две блокчейн-сети: zkSync Lite, обрабатывающая платежи в ETH и токенах ERC20, и zkSync Era, поддерживающая полноценные смарт-контракты. В планах на будущее - запуск гиперцепи (L3), обеспечивающий высокий уровень безопасности. Цель Matter Labs - масштабировать технологию до уровня, который привлечет следующий миллиард пользователей блокчейна.
ZkSync представляет собой новый подход к решению проблемы масштабируемости, известной как трилемма блокчейнаЭтот проект, как и другие решения уровня 2 (L2), стремится найти баланс между безопасностью, масштабируемостью и децентрализацией в блокчейн-сетях.
Ethereum сосредотачивается на безопасности и децентрализации, подчеркивая свой статус как протокола, работающего на равных с узлами, распределенными по всему миру. Для получения последней информации о распределении узлов см. NodeWatch.
Для поддержания децентрализации в сети каждый узел должен проверить все транзакции. Это по своей сути замедляет сеть. Более того, при высокой загрузке сети транзакции могут стать довольно дорогими и потребовать значительного времени для обработки.
Основной задачей увеличения TPS сети Ethereum без увеличения нагрузки на узлы было введение Шардингв сочетании с переходом к консенсусу PoS (Proof of Stake). Это включало разделение валидаторов на подгруппы для обработки отдельных сегментов сети, тем самым снижая общую нагрузку и увеличивая пропускную способность. Однако сообщество сосредоточилось на решениях уровня 2, учитывая их быстрое развитие.
Помимо идеи внедрения Шардинга в Ethereum появились и другие решения масштабируемости, такие как:
А также технологии, основанные на доказательствах с нулевым разглашением (ZKP), включая:
Более подробную информацию можно найтиздесь.
Хотя Шардинг все еще находится в стадии разработки, хардфорк Dencun запланирован на начало 2024 года, который будет реализованпро-Danksharding. Этот промежуточный этап направлен на улучшение решений уровня 2, сделав хранение данных на L1 более экономичным. Таким образом, Proto-Danksharding обещает снизить затраты на транзакции на L2 как шаг к полноценному решению Sharding.
На первый взгляд L2 блокчейны могут показаться похожими, поскольку их основная задача - увеличить количество транзакций за пределами L1, делегируя роль гаранта безопасности L1. Разработчики таких блокчейнов часто утверждают, что их решения являются самыми быстрыми, надежными и простыми. На самом деле, каждый подход к масштабированию имеет свои тонкости и неизбежные компромиссы в отношении скорости транзакций, уровня безопасности или степени децентрализации. Полностью централизованные решения также распространены. Все эти аспекты возвращают нас к фундаментальным вопросам троицы блокчейна.
В эта статья, предлагаются ключевые критерии для оценки протоколов, используемых в решениях уровня 2. Они включают:
Важно! Статья написана Matter Labs и, на мой взгляд, некоторые вещи "перегнаны" в пользу zkRollup (поскольку имеется явный конфликт интересов), но это не так важно, главное - увидеть, какие различия существуют между протоколами Layer-2.
Ниже я предоставлю таблицу, а здесь кратко опишу ее содержание.
С производительностью все просто. TPS (транзакций в секунду) указывает пропускную способность сети и в контексте масштабирования является наиболее важным параметром.
Экономические аспекты:
Ниже приведена сравнительная таблица основных решений на основе ZKP:
Для более детального понимания доказательств с нулевым разглашением (ZKP) рекомендую обратиться кэта статьяв нашемблокчейн-викисозданный разработчиками для разработчиков с любовью к доказательствам и глубокими погружениями в детали.
Операция ZK-Rollups может быть представлена на высоком уровне следующим образом:
В контексте архитектуры zkSync процесс выглядит следующим образом:
Валидаторы в ZK-Rollups играют ключевую роль, упаковывая транзакции в блоки и создавая для них нулевые доказательства. Особенностью системы является то, что валидаторы физически не могут похитить средства. Самый значительный потенциальный вред, который они могут причинить, - это временная остановка сети.
Примечание: В эпоху zkSync роль валидаторов выполняют операторы.
Разработчики zkSync выделяют следующие гарантии их архитектуры:
Транзакции в эре zkSync проходят через несколько ключевых состояний, отличных от обычных подтверждений Rollup в L1:
Кроме номера блока, в транзакциях zkSync также отображается номер пакета. Изначально параметры, такие как block.number, block.timestamp и blockhash, были взяты с L1. Однако, после обновление, эти значения теперь будут получены с L2. Несмотря на это, разработчики планируют предоставить методы доступа к данным с L1.
Совместимость решений L2, основанных на ZKP, с Ethereum - сложная задача. Это связано с тем, что Ethereum изначально не был разработан для оптимального взаимодействия с ZKP. В результате при разработке таких систем необходимо найти компромисс между производительностью и потенциалом масштабируемости с одной стороны, и совместимостью с Ethereum и EVM - с другой. Статья Виталика Бутерина "Различные типы ZK-EVM"обсуждает эти аспекты в деталях и выделяет разные уровни совместимости.
zkSync выбрал один из самых сложных путей, нацеливаясь на высокую производительность, но с ограниченной совместимостью как с Ethereum, так и с EVM. Для получения байткода, совместимого с zkEVM, LLVMпроект используется с набором собственных компиляторов и оптимизаторов. В случае Solidity и Yul после стандартного компилятора solc код проходит еще несколько этапов перед превращением в байткод zkEVM. Ниже приведена схема всех этапов этого процесса (подробно описанного здесь):
Важно! Оптимизации в zksolc поддерживаются.
Байткод, специально скомпилированный для EVM, несовместим с zkEVM. Это означает, что адреса идентичных смарт-контрактов в Ethereum и zkSync будут отличаться. Однако разработчики планируют решить эту проблему в будущем.
Одним из значительных преимуществ такого подхода является независимость от конкретных языков программирования. В будущем разработчики zkSync обещают добавить поддержку языков, таких как Rust и C++. Важно, чтобы задержка в обновлениях и интеграция инноваций между высокоуровневыми компиляторами (например, solc) и платформенными компиляторами (например, zksolc) была минимальной. Изначально была идея создать собственный язык программирования, Zinc, но в данный момент команда сосредоточена на поддержке более популярных языков программирования.
Проблема совместимости zk-компиляторов с существующими инструментами разработки и отладки для умных контрактов Solidity и Vyper имеет большое значение. Текущие платформы разработки, такие как Remix, Hardhat и Foundry, не поддерживают zk-компиляторы из коробки, что создает трудности в работе с ними. Однако, решенияразрабатываются проекты, обещающие упростить процесс миграции проектов и адаптацию к новым технологиям.
В статье Виталика Бутерина упоминается, что Ethereum, вероятно, будет стремиться улучшить совместимость с ZKP на уровне протокола с течением времени. Аналогичным образом, L2-решения с ZKP будут адаптироваться для лучшей совместимости с Ethereum. В результате различия между этими системами в будущем могут стать почти незаметными, обеспечивая более плавную интеграцию и переход для разработчиков.
Важно! Протокол активно развивается; всегда обращайтесь к последней версии документации!
zkEVM отличается от EVM, и несмотря на усилия разработчиков скрыть эти различия "под капотом", есть важные особенности, которые следует учитывать при написании смарт-контрактов:
Для глубокого понимания работы с zkEVM рекомендуется изучить документацию, включая раздел «Безопасность и лучшие практики».
Абстрагирование учетной записи в zkSync предлагает несколько ключевых преимуществ над ERC-4337:
Инфраструктура эпохи zkSync стремительно набирает обороты и уже включает десятки протоколов: мосты, DeFi, инфраструктурные протоколы и многое другое. (Текущий список можно просмотреть здесь).
Еще одним преимуществом является совместимость с кошельками Ethereum, такими как MetaMask или TrustWallet.
Протокол zkSync начал свое развитие с запуска zkSync Lite, ориентированного только на передачу эфира и токенов ERC-20, без возможности развертывания полноценных протоколов. Этот этап был важным шагом в развитии, но лишь предшествовал появлению zkSync Era - полноценного решения L2 для Ethereum, которое теоретически может быть адаптировано и для других L1 блокчейнов. Однако амбиции zkSync не ограничиваются этим, поскольку планы развития включают запуск так называемых гиперцепочек.
Гиперцепи, или «фрактальное масштабирование», состоят из сетей ZKP, каждая из которых формирует свои собственные блоки и доказательства. Эти доказательства затем собираются вместе и публикуются в основной сети L1. Каждая из этих сетей является полной копией всей системы и может считаться ее «фракталом».
Уникальность гиперцепочек заключается в том, что их можно создавать и развертывать независимо. Для поддержания согласованности и совместимости каждая гиперцепочка должна использовать общий движок zkEVM, часть стека ZK (с zkSync Era в качестве первой гиперцепочки). Это позволяет гиперцепочкам наследовать свою безопасность от L1, обеспечивая их надежность и устраняя необходимость в дополнительных мерах доверия и безопасности.
Гиперцепи представляют собой инновационный подход к масштабированию сетей блокчейн, снижая нагрузку на основную сеть и увеличивая скорость обработки транзакций. Ключевые аспекты этого подхода включают:
Больше обо всем этом можно узнатьздесь.
Протокол zkSync выглядит очень многообещающим и имеет большой потенциал, хотя в настоящее время запуск на этой блокчейне все еще связан с рядом рисков, которые необходимо учитывать. Разработка для zkSync в настоящее время более сложная, чем для блокчейнов, которые намного совместимее с EVM и стеком разработки EVM. Однако возможно, в будущем эта разница станет незначительной или вовсе исчезнет.
分享
*Пересылка оригинального заголовка «Как ZKP и ZK-Rollups помогают решить проблему масштабируемости: обзор блокчейна zkSync»
В этой статье мы объясним, что такое технология доказательства нулевого знания и поговорим о популярном блокчейне — zkSync: как работают транзакции в zkSync и основные различия от виртуальной машины Ethereum (EVM). Также обсудим преимущества и недостатки этого блокчейна, который, на наш взгляд, может иметь перспективное будущее.
ZkSync - это блокчейн второго уровня (Уровень 2 — L2) для Ethereum, созданный для решения проблем высоких комиссий и ограниченной пропускной способности (транзакции в секунду — TPS) в сети Ethereum. На этой платформе используется технология ZK-Rollup, которая использует доказательства с нулевым разглашением (ZKP) для пакетной обработки множества транзакций вне главной сети (L1). На L1 отправляются только криптографические доказательства правильности транзакций и их сжатые данные, что значительно повышает эффективность и снижает затраты.
Разработано Matter Labs, zkSync объявлен как полностью открытый продукт (100% открытый исходный код), управляемый сообществом. В соответствии с Cryptorank, проект уже привлек внимание, привлекая инвестиции в размере $458 миллионов. В долгосрочной перспективе Matter Labs стремится создать обширную экосистему. В настоящее время функционируют две блокчейн-сети: zkSync Lite, обрабатывающая платежи в ETH и токенах ERC20, и zkSync Era, поддерживающая полноценные смарт-контракты. В планах на будущее - запуск гиперцепи (L3), обеспечивающий высокий уровень безопасности. Цель Matter Labs - масштабировать технологию до уровня, который привлечет следующий миллиард пользователей блокчейна.
ZkSync представляет собой новый подход к решению проблемы масштабируемости, известной как трилемма блокчейнаЭтот проект, как и другие решения уровня 2 (L2), стремится найти баланс между безопасностью, масштабируемостью и децентрализацией в блокчейн-сетях.
Ethereum сосредотачивается на безопасности и децентрализации, подчеркивая свой статус как протокола, работающего на равных с узлами, распределенными по всему миру. Для получения последней информации о распределении узлов см. NodeWatch.
Для поддержания децентрализации в сети каждый узел должен проверить все транзакции. Это по своей сути замедляет сеть. Более того, при высокой загрузке сети транзакции могут стать довольно дорогими и потребовать значительного времени для обработки.
Основной задачей увеличения TPS сети Ethereum без увеличения нагрузки на узлы было введение Шардингв сочетании с переходом к консенсусу PoS (Proof of Stake). Это включало разделение валидаторов на подгруппы для обработки отдельных сегментов сети, тем самым снижая общую нагрузку и увеличивая пропускную способность. Однако сообщество сосредоточилось на решениях уровня 2, учитывая их быстрое развитие.
Помимо идеи внедрения Шардинга в Ethereum появились и другие решения масштабируемости, такие как:
А также технологии, основанные на доказательствах с нулевым разглашением (ZKP), включая:
Более подробную информацию можно найтиздесь.
Хотя Шардинг все еще находится в стадии разработки, хардфорк Dencun запланирован на начало 2024 года, который будет реализованпро-Danksharding. Этот промежуточный этап направлен на улучшение решений уровня 2, сделав хранение данных на L1 более экономичным. Таким образом, Proto-Danksharding обещает снизить затраты на транзакции на L2 как шаг к полноценному решению Sharding.
На первый взгляд L2 блокчейны могут показаться похожими, поскольку их основная задача - увеличить количество транзакций за пределами L1, делегируя роль гаранта безопасности L1. Разработчики таких блокчейнов часто утверждают, что их решения являются самыми быстрыми, надежными и простыми. На самом деле, каждый подход к масштабированию имеет свои тонкости и неизбежные компромиссы в отношении скорости транзакций, уровня безопасности или степени децентрализации. Полностью централизованные решения также распространены. Все эти аспекты возвращают нас к фундаментальным вопросам троицы блокчейна.
В эта статья, предлагаются ключевые критерии для оценки протоколов, используемых в решениях уровня 2. Они включают:
Важно! Статья написана Matter Labs и, на мой взгляд, некоторые вещи "перегнаны" в пользу zkRollup (поскольку имеется явный конфликт интересов), но это не так важно, главное - увидеть, какие различия существуют между протоколами Layer-2.
Ниже я предоставлю таблицу, а здесь кратко опишу ее содержание.
С производительностью все просто. TPS (транзакций в секунду) указывает пропускную способность сети и в контексте масштабирования является наиболее важным параметром.
Экономические аспекты:
Ниже приведена сравнительная таблица основных решений на основе ZKP:
Для более детального понимания доказательств с нулевым разглашением (ZKP) рекомендую обратиться кэта статьяв нашемблокчейн-викисозданный разработчиками для разработчиков с любовью к доказательствам и глубокими погружениями в детали.
Операция ZK-Rollups может быть представлена на высоком уровне следующим образом:
В контексте архитектуры zkSync процесс выглядит следующим образом:
Валидаторы в ZK-Rollups играют ключевую роль, упаковывая транзакции в блоки и создавая для них нулевые доказательства. Особенностью системы является то, что валидаторы физически не могут похитить средства. Самый значительный потенциальный вред, который они могут причинить, - это временная остановка сети.
Примечание: В эпоху zkSync роль валидаторов выполняют операторы.
Разработчики zkSync выделяют следующие гарантии их архитектуры:
Транзакции в эре zkSync проходят через несколько ключевых состояний, отличных от обычных подтверждений Rollup в L1:
Кроме номера блока, в транзакциях zkSync также отображается номер пакета. Изначально параметры, такие как block.number, block.timestamp и blockhash, были взяты с L1. Однако, после обновление, эти значения теперь будут получены с L2. Несмотря на это, разработчики планируют предоставить методы доступа к данным с L1.
Совместимость решений L2, основанных на ZKP, с Ethereum - сложная задача. Это связано с тем, что Ethereum изначально не был разработан для оптимального взаимодействия с ZKP. В результате при разработке таких систем необходимо найти компромисс между производительностью и потенциалом масштабируемости с одной стороны, и совместимостью с Ethereum и EVM - с другой. Статья Виталика Бутерина "Различные типы ZK-EVM"обсуждает эти аспекты в деталях и выделяет разные уровни совместимости.
zkSync выбрал один из самых сложных путей, нацеливаясь на высокую производительность, но с ограниченной совместимостью как с Ethereum, так и с EVM. Для получения байткода, совместимого с zkEVM, LLVMпроект используется с набором собственных компиляторов и оптимизаторов. В случае Solidity и Yul после стандартного компилятора solc код проходит еще несколько этапов перед превращением в байткод zkEVM. Ниже приведена схема всех этапов этого процесса (подробно описанного здесь):
Важно! Оптимизации в zksolc поддерживаются.
Байткод, специально скомпилированный для EVM, несовместим с zkEVM. Это означает, что адреса идентичных смарт-контрактов в Ethereum и zkSync будут отличаться. Однако разработчики планируют решить эту проблему в будущем.
Одним из значительных преимуществ такого подхода является независимость от конкретных языков программирования. В будущем разработчики zkSync обещают добавить поддержку языков, таких как Rust и C++. Важно, чтобы задержка в обновлениях и интеграция инноваций между высокоуровневыми компиляторами (например, solc) и платформенными компиляторами (например, zksolc) была минимальной. Изначально была идея создать собственный язык программирования, Zinc, но в данный момент команда сосредоточена на поддержке более популярных языков программирования.
Проблема совместимости zk-компиляторов с существующими инструментами разработки и отладки для умных контрактов Solidity и Vyper имеет большое значение. Текущие платформы разработки, такие как Remix, Hardhat и Foundry, не поддерживают zk-компиляторы из коробки, что создает трудности в работе с ними. Однако, решенияразрабатываются проекты, обещающие упростить процесс миграции проектов и адаптацию к новым технологиям.
В статье Виталика Бутерина упоминается, что Ethereum, вероятно, будет стремиться улучшить совместимость с ZKP на уровне протокола с течением времени. Аналогичным образом, L2-решения с ZKP будут адаптироваться для лучшей совместимости с Ethereum. В результате различия между этими системами в будущем могут стать почти незаметными, обеспечивая более плавную интеграцию и переход для разработчиков.
Важно! Протокол активно развивается; всегда обращайтесь к последней версии документации!
zkEVM отличается от EVM, и несмотря на усилия разработчиков скрыть эти различия "под капотом", есть важные особенности, которые следует учитывать при написании смарт-контрактов:
Для глубокого понимания работы с zkEVM рекомендуется изучить документацию, включая раздел «Безопасность и лучшие практики».
Абстрагирование учетной записи в zkSync предлагает несколько ключевых преимуществ над ERC-4337:
Инфраструктура эпохи zkSync стремительно набирает обороты и уже включает десятки протоколов: мосты, DeFi, инфраструктурные протоколы и многое другое. (Текущий список можно просмотреть здесь).
Еще одним преимуществом является совместимость с кошельками Ethereum, такими как MetaMask или TrustWallet.
Протокол zkSync начал свое развитие с запуска zkSync Lite, ориентированного только на передачу эфира и токенов ERC-20, без возможности развертывания полноценных протоколов. Этот этап был важным шагом в развитии, но лишь предшествовал появлению zkSync Era - полноценного решения L2 для Ethereum, которое теоретически может быть адаптировано и для других L1 блокчейнов. Однако амбиции zkSync не ограничиваются этим, поскольку планы развития включают запуск так называемых гиперцепочек.
Гиперцепи, или «фрактальное масштабирование», состоят из сетей ZKP, каждая из которых формирует свои собственные блоки и доказательства. Эти доказательства затем собираются вместе и публикуются в основной сети L1. Каждая из этих сетей является полной копией всей системы и может считаться ее «фракталом».
Уникальность гиперцепочек заключается в том, что их можно создавать и развертывать независимо. Для поддержания согласованности и совместимости каждая гиперцепочка должна использовать общий движок zkEVM, часть стека ZK (с zkSync Era в качестве первой гиперцепочки). Это позволяет гиперцепочкам наследовать свою безопасность от L1, обеспечивая их надежность и устраняя необходимость в дополнительных мерах доверия и безопасности.
Гиперцепи представляют собой инновационный подход к масштабированию сетей блокчейн, снижая нагрузку на основную сеть и увеличивая скорость обработки транзакций. Ключевые аспекты этого подхода включают:
Больше обо всем этом можно узнатьздесь.
Протокол zkSync выглядит очень многообещающим и имеет большой потенциал, хотя в настоящее время запуск на этой блокчейне все еще связан с рядом рисков, которые необходимо учитывать. Разработка для zkSync в настоящее время более сложная, чем для блокчейнов, которые намного совместимее с EVM и стеком разработки EVM. Однако возможно, в будущем эта разница станет незначительной или вовсе исчезнет.