Технология блокчейн прошла долгий путь с момента появления Bitcoin более десяти лет назад. Хотя первоначальные сети блокчейнов были новаторскими в своем децентрализованном подходе, они столкнулись с серьезными проблемами, особенно с точки зрения масштабируемости. Поскольку приложения и варианты использования блокчейна продолжают расширяться, поиск решений проблем масштабируемости стал главным приоритетом.
Одним из многообещающих достижений в этой области является переход от zkEVM (виртуальной машины Ethereum с нулевым разглашением) к zkVM (виртуальная машина с нулевым разглашением), что потенциально может значительно улучшить масштабируемость блокчейна. В этой статье мы углубимся в мир zkEVM, изучим его ограничения и поймем, как развитие zkVM приведет к существенным улучшениям масштабируемости блокчейна.
Рост доказательств с нулевым разглашением (ZKP)
Доказательства с нулевым разглашением играют ключевую роль в защите конфиденциальности пользователей в Интернете, особенно сейчас, когда мы стремимся к широкому внедрению блокчейна. Они также обещают решить вычислительные проблемы. В настоящее время существует два основных способа достижения этой цели: zkEVM и zkVM. В этом исследовании мы углубимся в оба подхода, взвесив их преимущества и недостатки. Однако, прежде чем углубиться в этот анализ, важно понять, для чего мы оптимизируем и почему конфиденциальность имеет такое значение.
В сфере криптографической эволюции, как и в биологической эволюции, развитие черт направляется целью оптимизации для достижения конкретных результатов. Bitcoin, например, отдавал приоритет безопасности превыше всего, признавая, что децентрализованная цифровая валюта должна быть однозначно безопасной, прежде чем она сможет получить признание и широкое распространение. Ethereum пошел по тому же пути, подчеркнув безопасность и введя дополнительный уровень: программируемость, обеспечиваемую смарт-trac.
Эти итерации криптографической эволюции имеют тенденцию дополнять друг друга, каждая из которых приносит свой уникальный набор компромиссов. В случае с Ethereumкаждый узел должен повторно выполнять каждую транзакцию, что создает огромные вычислительные проблемы, которые приводят к высоким комиссиям за газ и низкой скорости транзакций. Решение выполнять вычисления непосредственно в блокчейне было принято для повышения безопасности и прозрачности. Однако за это приходится платить: снижается производительность и конфиденциальность.
Накопительные пакеты появились как решение для повышения масштабируемости за счет снижения вычислительной нагрузки, связанной с Ethereum. Хотя они начинают решать проблемы производительности, они не учитывают проблемы конфиденциальности. Это важно, поскольку конфиденциальность стала обязательным условием для приложений, стремящихся расширить свою пользовательскую базу. Пользователи все чаще требуют большего контроля над своими данными и начинают опасаться организаций, стремящихся получить неограниченный доступ к их информации.
Разработчики приложений осознали эту растущую тенденцию к конфиденциальности и ее необходимость. Следовательно, они активно изучают методы защиты конфиденциальности посредством использования доказательств с нулевым разглашением (ZKP). Эти криптографические протоколы позволяют пользователям или приложениям проверять истинность утверждения без разглашения какой-либо дополнительной информации. Например, ZKP могут подтвердить, что пользователю больше 18 лет, не раскрывая его точный возраст или дату рождения.
Как подчеркивается в отчете a16z о состоянии криптовалют за 2023 год, внедрение разработчиками технологии защиты от ZK, скорее всего, будет и дальше расти. Эта тенденция обусловлена ростом количества научных публикаций и ростом количества ежедневных транзакций, которые включают проверку доказательств ZK в сети Ethereum . Динамика ZKP демонстрирует их растущую важность в стремлении сбалансировать конфиденциальность, безопасность и масштабируемость в пространстве блокчейна.
Понимание zkVM
Первый аспект, который требует defi: что представляет собой виртуальная машина (ВМ)? В двух словах, виртуальная машина — это программа, способная выполнять другие программы, обычно функционирующая как итеративный цикл, выполняющий указанный набор инструкций — эти инструкции представляют «другую программу».
В частности, виртуальная машина Ethereum (EVM) служит виртуальной машиной, ответственной за выполнение смарт-tracEthereum . Оригинальный сборник поддерживаемых инструкций и их соответствующего поведения был изложен в 2014 году в оригинальной желтой книге, отличающейся не только своей важностью, но и характерным желтым цветом, автором которой является Гэвин Вуд. Документ постоянно обновляется, стремясь отразить текущий набор поддерживаемых инструкций.
С другой стороны, виртуальная машина с нулевым разглашением (zk VM), по сути, представляет собой виртуальную машину, реализованную в виде схемы в системе доказательства с нулевым разглашением (zkp). Это отличает ее от обычных систем zkp, которые преимущественно ориентированы на проверку выполнения программы. В zkVM акцент смещается в сторону проверки выполнения самой виртуальной машины. Следовательно, некоторые люди проводят различие, классифицируя zkps, не относящийся к VM, как часть подхода FPGA (программируемая пользователем вентильная матрица), рассматривая zkVM как составные части подхода CPU (центрального процессора).
В системах zkp программы или схемы являются неизменяемыми объектами, во многом похожими на двоичные файлы, скомпилированные из определенных программ. Следовательно, схема zkVM эффективно реализует заранее определенное количество итераций цикла, что можно сравнить с развертыванием цикла. По сути, zkVM — это схема, предназначенная для выполнения виртуальной машины. Инструкции реальной программы могут быть введены в качестве общедоступных входных данных в эту схему, что обеспечивает полную прозрачность в отношении проверяемой программы. (Существуют различные методы передачи инструкций программы виртуальной машине, если кто-то захочет изучить дополнительные альтернативы.)
Появилось несколько проектов zkVM, среди которых есть как минимум три заслуживающих внимания начинания:
- Каир: этот проект, использованный Старкнетом, примечателен своей тщательной документацией, которую считают произведением искусства. Экспериментальная реализация, известная как «турши», также присутствует в структуре Кимчи.
- Miden: проект в рамках экосистемы Polygon, Miden в настоящее время находится в стадии разработки.
- Risczero: Еще одна инициатива, находящаяся в стадии разработки, Risczero направлена на поддержку набора инструкций RISC-V, широко признанного стандарта за пределами области блокчейна.
Каждый из этих проектов использует отдельные наборы инструкций, что делает их несовместимыми друг с другом.
Типы ЗКВМ
Сферу виртуальных машин zk можно разделить на два различных типа:
- Виртуальные машины, оптимизированные для zk. Яркими примерами являются Cairo и Miden. Эти виртуальные машины тщательно разработаны с учетом приоритета эффективности, что делает их значительно быстрее. Их основная цель — облегчить плавную интеграцию с системами доказательства с нулевым разглашением (zkp), упрощая процесс проверки.
- Реальные виртуальные машины: в эту категорию входят такие виртуальные машины, как RiscZero, поддерживающие набор инструкций RISC-V, и различные zkEVM, адаптированные к виртуальной машине Ethereum (EVM). Реальные виртуальные машины предназначены для обеспечения совместимости с установленными наборами инструкций и экосистемами, выходящим за рамки доказательств с нулевым разглашением.
Мотивацию поддержки EVM можно объяснить несколькими вескими причинами. Во-первых, для самого Ethereum это позволяет создавать доказательства, охватывающие весь переход состояния — от исходного состояния к последнему состоянию Ethereum . Примером этой возможности являются такие проекты, как Mina.
Во-вторых, для проектов, не связанных сEthereum , совместимость с EVM дает преимущество беспрепятственного включения проектов и приложений из экосистемы Ethereum , таких как Uniswap. Это не только облегчает взаимодействие, но и дает возможностьtracразработчиков из сообщества Ethereum к новым проектам.
Механизм ЗКВМ
ZkVM, основанный на нашей предыдущей работе над TxVM и под влиянием дизайна Bitcoin и Ethereum , представляет новый формат транзакций. В ZkVM транзакция представлена как программа, которая напрямую манипулирует потоками активов как первоклассными объектами, обновляя состояние блокчейна через журнал транзакций. Такое отделение приложения журнала транзакций от проверки обеспечивает высокую масштабируемость конструкции, обеспечивая при этом надежную среду для пользовательскихtrac.
Чтобы повысить масштабируемость блокчейна и обеспечитьdentпередачу ценностей, ZkVM использует модель UTXO (выход неизрасходованных транзакций) для представления остатков. Все балансы выражаются как наборы неизрасходованных выходов (UTXO), которые можно создавать, уничтожать и манипулировать ими в рамках транзакций. Эти UTXO эффективно хранятся как корни Merkle с использованием схемы 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 для повышения скорости транзакций, снижения комиссий и защиты конфиденциальных финансовых данных.
- Трансформация цепочки поставок . Повышение прозрачности и trac цепочек поставок возможно с помощью zkVM и zkEVM, что позволяет снизить уровень мошенничества и повысить эффективность.
- Безопасность медицинских данных : zkEVM и zkVM могут обеспечить конфиденциальность и безопасность медицинских данных, обеспечивая безопасный обмен информацией между авторизованными сторонами.
- Игры и NFT . Игровая индустрия и рынки невзаимозаменяемых токенов (NFT) могут извлечь выгоду из более быстрых транзакций и безопасной обработки данных, обеспечиваемых zkVM и zkEVM.
Будущее zkVM и масштабируемости блокчейна
Поскольку zkVM набирает tracв пространстве блокчейнов, у него есть потенциал для решения давних проблем масштабируемости, которые ограничивают внедрение и рост блокчейна. Однако, как и в случае с любой новой технологией, существуют проблемы, которые необходимо преодолеть, и соображения, о которых следует помнить:
- Препятствия при внедрении: Хотя совместимость zkVM с различными блокчейнами является значительным преимуществом, широкое внедрение по-прежнему будет зависеть от готовности блокчейн-проектов интегрировать эту технологию в свои сети.
- Проблемы безопасности. Доказательства с нулевым разглашением требуют сложных криптографических методов, и любые уязвимости могут представлять значительную угрозу безопасности. Постоянный аудит и улучшение реализаций zkVM имеют решающее значение для поддержания доверия пользователей.
- Нормативно-правовая база: По мере развития технологии блокчейна она будет продолжать подвергаться тщательному контролю со стороны регулирующих органов. Еще неизвестно, как регулирующие органы будут относиться к доказательствам с нулевым разглашением и их приложениям, что может повлиять на будущее внедрение zkVM.
Заключение
Переход от zkEVM к zkVM представляет собой значительный шаг вперед в решении проблем масштабируемости блокчейна. В то время как zkEVM заложил основу, zkVM предлагает более универсальное и масштабируемое решение, которое потенциально может произвести революцию в использовании технологии блокчейн в различных отраслях.
Переход на zkVM не лишен проблем, но преимущества, которые он приносит с точки зрения кросс-платформенной совместимости, удобства для пользователя, управления данными и скорости обработки транзакций, делают его убедительным достижением в пространстве блокчейнов. По мере того, как zkVM продолжает развиваться и находить свое место в экосистемах блокчейнов, мы можем ожидать появления более масштабируемых и эффективных приложений блокчейна, которые могут преобразовать отрасли и улучшить жизнь людей во всем мире.