Технология блокчейн прошла долгий путь с момента появления Bitcoin более десяти лет назад. Хотя первые блокчейн-сети были новаторскими благодаря своему децентрализованному подходу, они столкнулись со значительными проблемами, особенно в плане масштабируемости. По мере расширения приложений и вариантов использования блокчейна поиск решений проблем масштабируемости стал первоочередной задачей.
Одним из перспективных достижений в этой области является переход от zkEVM (виртуальной машины Ethereum с нулевым разглашением) к zkVM (виртуальной машине с нулевым разглашением), что потенциально может значительно повысить масштабируемость блокчейна. В этой статье мы углубимся в мир zkEVM, рассмотрим его ограничения и поймем, как переход к zkVM призван существенно улучшить масштабируемость блокчейна.
Расцвет доказательств с нулевым разглашением (ZKP)
Доказательства с нулевым разглашением играют ключевую роль в защите конфиденциальности пользователей в интернете, особенно в условиях широкого внедрения блокчейна. Они также обещают решить вычислительные проблемы. В настоящее время существуют два основных подхода для достижения этой цели: zkEVM и zkVM. В этом исследовании мы рассмотрим оба подхода, взвесив их преимущества и недостатки. Однако, прежде чем приступить к анализу, важно понять, что именно мы оптимизируем и почему конфиденциальность имеет такое важное значение.
В сфере криптографической эволюции, подобно биологическому аналогу, развитие характеристик направляется стремлением к оптимизации для достижения конкретных результатов. Bitcoin, например, поставил безопасность превыше всего, признавая, что децентрализованная цифровая валюта должна быть однозначно безопасной, прежде чем она сможет получить признание и широкое распространение. Ethereum пошел по аналогичному пути, делая акцент на безопасности, но вводя дополнительный уровень: программируемость, обеспечиваемую смарт-trac.
Эти этапы криптографической эволюции, как правило, основываются друг на друге, каждый из них вносит свой уникальный набор компромиссов. В случае с Ethereumкаждый узел должен повторно выполнять каждую транзакцию, что представляет собой серьезные вычислительные проблемы, приводящие к высоким комиссиям за газ и низкой скорости транзакций. Решение о выполнении вычислений непосредственно в блокчейне было принято для повышения безопасности и прозрачности. Однако это имеет свою цену: снижение производительности и конфиденциальности.
Роллапы появились как решение для повышения масштабируемости за счет снижения вычислительной нагрузки, связанной с Ethereum. Хотя они начинают решать проблему производительности, они не учитывают вопросы конфиденциальности. Это важно, поскольку конфиденциальность стала необходимым условием для приложений, стремящихся расширить свою пользовательскую базу. Пользователи все чаще требуют большего контроля над своими данными и начинают с опаской относиться к организациям, стремящимся к неограниченному доступу к их информации.
Разработчики приложений осознали растущую тенденцию к обеспечению конфиденциальности и необходимость ее защиты. В связи с этим они активно изучают методы защиты конфиденциальности с помощью доказательств с нулевым разглашением (ZKP). Эти криптографические протоколы позволяют пользователям или приложениям проверять истинность утверждения, не раскрывая никакой дополнительной информации. Например, ZKP могут подтвердить, что пользователю больше 18 лет, не раскрывая его точный возраст или дату рождения.
Как отмечается в отчете a16z о состоянии криптографии за 2023 год, внедрение технологии ZK-доказательств разработчиками, по всей видимости, будет продолжать расти. Эта тенденция обусловлена всплеском академических публикаций и увеличением числа ежедневных транзакций, включающих проверку ZK-доказательств в сети Ethereum . Развитие ZK-доказательств демонстрирует их растущую важность в стремлении сбалансировать конфиденциальность, безопасность и масштабируемость в блокчейн-пространстве.
Понимание zkVM
Первый аспект, требующий defi, это: что представляет собой виртуальная машина (ВМ)? В двух словах, ВМ — это программное обеспечение, способное выполнять другие программы, обычно функционирующее в виде итеративного цикла, который выполняет заданный набор инструкций — эти инструкции представляют собой «другую программу»
Виртуальная машина Ethereum (EVM), в частности, служит виртуальной машиной, ответственной за выполнение смарт-tracEthereum . Первоначальный перечень поддерживаемых инструкций и их соответствующее поведение был изложен в 2014 году в основополагающем «желтом документе» — отличающемся не только своей важностью, но и характерным желтым цветом — автором которого был Гэвин Вуд. Документ постоянно обновляется, стремясь отразить текущий набор поддерживаемых инструкций.
С другой стороны, виртуальная машина с нулевым разглашением (zk VM) по сути представляет собой виртуальную машину, реализованную в виде схемы в системе доказательства с нулевым разглашением (zkp). Это отличает её от традиционных систем zkp, которые преимущественно ориентированы на доказательство выполнения программы. В zkVM акцент смещается на проверку выполнения самой виртуальной машины. Следовательно, некоторые исследователи проводят различие, классифицируя zkp, не являющиеся виртуальными машинами, как часть подхода FPGA (Field-Programmable Gate Array), в то время как zkVM рассматриваются как составляющие подхода CPU (Central Processing Unit).
В системах zkp программы или схемы являются неизменяемыми сущностями, подобно бинарным файлам, скомпилированным из конкретных программ. Следовательно, схема zkVM фактически воплощает в себе заранее определенное количество итераций цикла, что можно сравнить с развертыванием цикла. По сути, zkVM — это схема, предназначенная для выполнения виртуальной машины. Инструкции фактической программы могут быть введены в качестве открытых входных данных для этой схемы, что обеспечивает полную прозрачность в отношении проверяемой программы. (Существуют различные методы передачи инструкций программы виртуальной машине, если кто-то захочет изучить дополнительные альтернативы.)
Появилось несколько проектов на платформе zkVM, из которых как минимум три заслуживают особого внимания:
- Cairo: Этот проект, используемый Starknet, примечателен своей тщательной проработкой, считающейся произведением искусства. В рамках фреймворка Kimchi также представлена экспериментальная реализация, известная как «турши».
- Miden: Проект Miden, находящийся в стадии разработки в рамках экосистемы Polygon.
- Risczero: Еще одна разрабатываемая инициатива, Risczero, направлена на поддержку набора инструкций RISC-V, широко признанного стандарта за пределами области блокчейна.
Каждый из этих проектов использует различные наборы инструкций, что делает их несовместимыми друг с другом.
Типы zkVM
Сферу виртуальных машин zk можно разделить на два distinct типа:
- Виртуальные машины, оптимизированные для zk: К числу известных примеров относятся Cairo и Miden. Эти виртуальные машины тщательно разработаны с приоритетом эффективности, что делает их значительно быстрее. Их основная цель — обеспечить бесшовную интеграцию с системами доказательства с нулевым разглашением (zkp), оптимизируя процесс верификации.
- Реальные виртуальные машины: Эта категория включает в себя такие виртуальные машины, как RiscZero, поддерживающая набор инструкций RISC-V, и различные zkEVM, адаптированные для виртуальной машины Ethereum (EVM). Реальные виртуальные машины предназначены для обеспечения совместимости с существующими наборами инструкций и экосистемами за пределами области доказательств с нулевым разглашением.
Мотивация поддержки EVM обусловлена несколькими вескими причинами. Во-первых, для самого Ethereum это позволяет создавать доказательства, охватывающие весь переход состояний — от генезисного состояния до последнего состояния Ethereum . Примером такой возможности являются проекты, подобные Mina.
Во-вторых, для проектов, не связанныхEthereum , внедрение совместимости с EVM дает преимущество в виде беспрепятственной интеграции проектов и приложений из экосистемы Ethereum , таких как Uniswap. Это не только облегчает взаимодействие, но и предоставляет возможностьtracразработчиков из сообщества Ethereum к новым проектам.
Механизм zkVM
ZkVM, разработанный на основе нашей предыдущей работы над TxVM и вдохновленный проектами Bitcoin и Ethereum , представляет новый формат транзакций. В ZkVM транзакция представляется в виде программы, которая напрямую управляет потоком активов как объектами первого класса, обновляя состояние блокчейна через журнал транзакций. Такое разделение приложения журнала транзакций и проверки обеспечивает высокую масштабируемость и надежную среду для пользовательскихtrac.
Для повышения масштабируемости блокчейна и обеспеченияdentпередачи ценностей ZkVM использует модель UTXO (Unspent Transaction Output) для представления балансов. Все балансы выражаются в виде наборов неизрасходованных выходов (UTXO), которые могут создаваться, уничтожаться и изменяться в рамках транзакций. Эти UTXO эффективно хранятся в виде корневых узлов Меркла с использованием схемы Utreexo, что значительно снижает требования к хранению и облегчает более широкое развертывание полностью валидирующих узлов.
В ZkVM каждый выход представляет собойtrac, хранящийся в состоянии блокчейна и содержащий несколько элементов, защищенных предикатом — условием, которое должно быть выполнено для разблокировки этих элементов. ZkVM использует архитектуру на основе Taproot, позволяющую разблокироватьtracлибо с помощью криптографических подписей, либо путем выполнения встроенной подпрограммы, которая проверяет пользовательские условия.
tracв ZkVM служат универсальными строительными блоками для протоколов более высокого уровня, таких как учетные записи, книги ордеров и платежные каналы. Эта гибкость позволяет таким платформам, как Stellar, смещать решения по проектированию протоколов от уровня, критически важного для консенсуса, способствуя экспериментам с широким спектром децентрализованных приложений.
Что касаетсяdent, ZkVM находит баланс, используя схему Taproot в предикатах. Логикаtracне обязательно должна раскрываться, если все стороны сотрудничают, но безопасность остается нетронутой, если они этого не делают. Даже когда логикаtracдолжна быть раскрыта, такие данные, как балансы и параметрыtrac, остаютсяdentблагодаря системе верифицированных ограничений с нулевым разглашением.
ZkVM использует систему доказательства с нулевым разглашением Bulletproofs, по умолчанию шифруя значения и данные в виде обязательств Педерсена. Пользователи могут задавать арифметические и логические выражения над секретными значениями, которыеmaticпреобразуются в систему ограничений Bulletproofs. Транзакции компактны и эффективны: небольшие транзакции имеют размер от 1 до 1,5 КБ, а агрегированные платежи обходятся всего в 200 байт на пару вход-выход. Проверка обладает высокой степенью параллелизации, занимая всего около 1 миллисекунды на выход. Эта эффективность позволяет ZkVM уделять приоритетное внимание безопасности без ущерба для шифрования данных, гарантируя, что данные раскрываются только авторизованным сторонам по принципу необходимости. Кроме того, платформа Bulletproofs устраняет необходимость в доверенной настройке, позволяя создавать новые протоколы на основе ZkVM без необходимости обновления каждой функции в масштабах всей сети.
Необходимость перехода с zkEVM на zkVM
Ограничения zkEVM
Несмотря на значительные улучшения, zkEVM по-прежнему имел некоторые ограничения, которые сдерживали его масштабируемость:
- Ограниченная совместимость: zkEVM был разработан в первую очередь для сети Ethereum . Это означало, что другие блокчейн-платформы не могли легко внедрить эту технологию, что ограничивало ее более широкое влияние на блокчейн-экосистему.
- Сложность: Для реализации zkEVM требовалось глубокое понимание доказательств с нулевым разглашением и криптографии. Эта сложность затрудняла интеграцию zkEVM в проекты разработчиков, что еще больше ограничивало его распространение.
- Проблемы хранения и обработки данных: zkEVM не смог эффективно решить проблему хранения данных в блокчейне. Большие объемы хранимых данных оставались узким местом для масштабируемости.
Переход на zkVM: прорыв в масштабируемости
Осознав ограничения zkEVM, блокчейн-сообщество приступило к разработке более универсального и масштабируемого решения, что привело к появлению zkVM, или виртуальной машины с нулевым разглашением информации.
zkVM основывается на фундаментальных принципах zkEVM, одновременно устраняя его недостатки. Давайте рассмотрим, как zkVM готов произвести революцию в масштабируемости блокчейна:
- Кроссплатформенная совместимость: В отличие от zkEVM, zkVM разработан как блокчейн-независимый инструмент. Это означает, что его можно интегрировать в различные блокчейн-сети, а не ограничиваться Ethereum. Такая широкая совместимость открывает для zkVM возможности оказать более значительное влияние на всю блокчейн-экосистему.
- Улучшенный пользовательский опыт: zkVM стремится упростить процесс внедрения для разработчиков. Предлагая удобные инструменты и интерфейсы, zkVM облегчает разработчикам использование возможностей доказательств с нулевым разглашением, снижая барьер для входа.
- Улучшенное управление данными: zkVM более эффективно решает проблему хранения данных. Он внедряет инновационные методы сжатия и хранения данных, уменьшая требования к хранению в блокчейне. Эта оптимизация оказывает прямое положительное влияние на масштабируемость за счет уменьшения размера данных в блокчейне.
- Ускоренная обработка транзакций: Благодаря возможностям внесетевых вычислений zkVM, вычислительная нагрузка на сеть блокчейна дополнительно снижается. Это приводит к ускорению обработки транзакций, снижению комиссий и повышению общей производительности.
Для чего мы проводим оптимизацию?
Компания Lockheed Martin взялась за амбициозную задачу создания F-35, задумывая его как универсальный истребитель, способный заменить специализированные истребители класса «воздух-воздух» и «воздух-земля». Однако это начинание столкнулось со значительными трудностями, отстав от запланированного графика на десятилетие и получив среди экспертов отрасли репутацию одного из наименее успешных истребителей, когда-либо созданных.
Главный вывод из этого опыта заключается в том, что когда система проектируется с учетом конкретной цели, она часто превосходно справляется с выполнением именно этой роли по сравнению с решением, пытающимся оптимизировать несколько задач одновременно.
Проводя параллель с миром блокчейна, следует отметить, что Ethereum изначально задумывался как полностью публичная и прозрачная платформа. Если попытаться внедрить функции обеспечения конфиденциальности в такой блокчейн, вряд ли удастся достичь того же уровня производительности, что и в системе, разработанной с учетом принципа конфиденциальности с самого начала. Это создает инженерные проблемы, поскольку разработчикам приходится адаптировать программы, которые изначально не предназначались для работы в этом контексте, что приводит к созданию сложных и громоздких схем.
Однако альтернативный подход предполагает разработку специализированного прикладного уровня, разработанного специально для обеспечения конфиденциальности. Этот подход позволяет оптимизировать функции, связанные с конфиденциальностью, одновременно используя преимущества доказательств с нулевым разглашением, о чем мы поговорим в следующем разделе.
Практическое применение zkVM и zkEVM
Как zkEVM, так и zkVM находят применение в различных областях, обещая изменить целые отрасли и сценарии использования блокчейна:
- DeFi Революция: платформы децентрализованных финансов (DeFi) могут использовать zkVM и zkEVM для повышения скорости транзакций, снижения комиссий и защиты конфиденциальных финансовых данных.
- Трансформация цепочки поставокповысить прозрачность и traczkVM и zkEVM позволяют
- Безопасность медицинских данных: zkEVM и zkVM могут обеспечить конфиденциальность и безопасность медицинских данных, позволяя безопасно обмениваться информацией между уполномоченными сторонами.
- Игры и NFT: Игровая индустрия и рынки невзаимозаменяемых токенов (NFT) могут извлечь выгоду из более быстрых транзакций и безопасной обработки данных, обеспечиваемых zkVM и zkEVM.
Будущее zkVM и масштабируемости блокчейна
По мере того как zkVM набирает tracв блокчейн-пространстве, он обладает потенциалом для решения давних проблем масштабируемости, которые ограничивали внедрение и развитие блокчейна. Однако, как и любая новая технология, она сопряжена с рядом трудностей и требует учета ряда важных моментов:
- Препятствия на пути внедрения: Хотя совместимость zkVM с различными блокчейнами является значительным преимуществом, широкое распространение по-прежнему будет зависеть от готовности блокчейн-проектов интегрировать эту технологию в свои сети.
- Проблемы безопасности: Доказательства с нулевым разглашением вводят сложные криптографические методы, и любые уязвимости могут представлять значительные риски для безопасности. Постоянный аудит и совершенствование реализаций zkVM имеют решающее значение для поддержания доверия пользователей.
- Нормативно-правовая база: По мере развития технологии блокчейн она будет продолжать сталкиваться с пристальным вниманием со стороны регулирующих органов. Остается неясным, как регуляторы будут относиться к доказательствам с нулевым разглашением и их применению, что может повлиять на будущее внедрение zkVM.
Заключение
Переход от zkEVM к zkVM представляет собой значительный шаг вперед в решении проблем масштабируемости блокчейна. В то время как zkEVM заложил основу, zkVM предлагает более универсальное и масштабируемое решение, способное революционизировать использование технологии блокчейна в различных отраслях.
Переход на zkVM сопряжен с определенными трудностями, но преимущества, которые он предоставляет с точки зрения кроссплатформенной совместимости, удобства использования, управления данными и скорости обработки транзакций, делают его убедительным шагом вперед в сфере блокчейна. По мере того, как zkVM продолжает развиваться и находить свое место в экосистемах блокчейна, мы можем ожидать появления более масштабируемых и эффективных блокчейн-приложений, способных трансформировать отрасли и улучшить жизнь людей во всем мире.
Бета-версия Polygon zkEVM второго этапа будет способствовать росту DApp-приложений и активности DeFi
