Сиддхарт Рао, IOSG Ventures
О производительности виртуальной машины Ethereum (EVM)
Каждая операция в сети Ethereum стоит определенное количество газа. Если мы поместим в цепочку все расчеты, необходимые для запуска базовых приложений, либо приложение выйдет из строя, либо пользователь обанкротится.
Это привело к появлению L2: OPRU представила секвенатор для объединения нескольких транзакций и последующей отправки их в основную сеть. Это не только помогает приложению унаследовать безопасность Ethereum, но и дает пользователям лучший опыт. Пользователи могут отправлять транзакции быстрее, а комиссии дешевле. Хотя операции стали дешевле, в качестве уровня исполнения по-прежнему используется собственный EVM. Подобно ZK Rollups, Scroll, Polygon, zkEVM использует или будет использовать схемы zk на основе EVM, а zk Proof будет генерироваться для каждой транзакции или большого пакета транзакций, совершенных на его проверяющем устройстве. Хотя это позволяет разработчикам создавать приложения «полной цепочки», остается ли по-прежнему эффективным и экономически выгодным запуск высокопроизводительных приложений?
Что это за высокопроизводительные приложения?
Первое, что приходит на ум, — это игры, книги заказов, социальные сети Web3, машинное обучение, моделирование генома и т. д. Все это требует больших вычислительных ресурсов и очень дорого выполняться на уровне L2. Другая проблема EVM заключается в том, что скорость и эффективность вычислений не так хороши, как у других современных систем, таких как SVM (виртуальная машина уровня моря).
Хотя EVM L3 может удешевить вычисления, сама структура EVM может быть не лучшим способом выполнения больших вычислений, поскольку она не может выполнять параллельные операции. Каждый раз, когда поверх него строится новый уровень, для поддержания духа децентрализации необходимо создавать новую инфраструктуру (новую сеть узлов), для масштабирования которой по-прежнему требуется то же количество провайдеров, или совершенно новый набор Требуются поставщики узлов (частные лица/предприятия) для предоставления ресурсов или и то, и другое.
Поэтому каждый раз, когда создается более продвинутое решение, необходимо модернизировать существующую инфраструктуру или создавать новый уровень поверх нее. Чтобы решить эту проблему, нам нужна постквантовая безопасная, децентрализованная, не требующая доверия, высокопроизводительная вычислительная инфраструктура, которая сможет по-настоящему и эффективно использовать квантовые алгоритмы для вычислений для децентрализованных приложений.
Alt-L1, такие как Solana, Sui и Aptos, способны к параллельному исполнению, но из-за настроений рынка, нехватки ликвидности и отсутствия разработчиков на рынке они не смогут бросить вызов Ethereum. Потому что существует недостаток доверия, а ров, который Эфириум построил с помощью сетевых эффектов, огромен. На данный момент не существует убийцы ETH/EVM. Вопрос здесь в том, почему все вычисления должны проводиться в цепочке? Существует ли такая же не требующая доверия децентрализованная система исполнения? Это то, чего может достичь система DCompute.
Инфраструктура DCompute должна быть децентрализованной, пост-квантовой безопасной и не требующей доверия. Она не требует или не должна использовать блокчейн/распределенную технологию, но очень важно проверять результаты вычислений, корректировать переходы между состояниями и окончательное подтверждение. Именно так работает цепочка EVM, позволяя перемещать децентрализованные, не требующие доверия и безопасные вычисления за пределы цепочки, сохраняя при этом безопасность и неизменность сети.
Что мы здесь в основном игнорируем, так это проблему доступности данных. В этой статье особое внимание уделяется доступности данных, поскольку такие решения, как Celestia и EigenDA, уже движутся в этом направлении.
1. Только аутсорсинг вычислений

2. Аутсорсинг вычислений и доступности данных
Когда мы увидели Тип 1, zk-rollups уже делали это, но они либо были ограничены EVM, либо требовали обучения разработчиков изучению совершенно нового языка/набора инструкций. Идеальное решение должно быть эффективным, действенным (затраты и ресурсы), децентрализованным, конфиденциальным и проверяемым. Доказательства ZK могут быть построены на серверах AWS, но они не децентрализованы. Такие решения, как Nillion и Nexus, пытаются решить проблему общих вычислений децентрализованным способом. Но эти решения непроверяемы без доказательств ЗК.
Тип 2 сочетает в себе модель вычислений вне сети с уровнем доступности данных, который остается отдельным, но вычисления все равно необходимо проверять в сети.
Давайте посмотрим на различные доступные сегодня модели децентрализованных вычислений, которые не заслуживают полного доверия и могут быть совершенно ненадежными.
Альтернативные вычислительные системы

Экологическая карта аутсорсинговых вычислений Ethereum
- Безопасные вычисления анклава/доверенная среда выполнения
TEE (Trusted Execution Environment) — это специальный ящик внутри компьютера или смартфона. Он имеет собственный замок и ключ, и доступ к нему могут получить только определенные программы (так называемые доверенные приложения). Когда эти доверенные приложения запускаются внутри TEE, они защищены другими программами и даже самой операционной системой.
Это похоже на секретное убежище, куда могут войти только несколько избранных друзей. Наиболее распространенными примерами TEE являются безопасные анклавы, которые существуют на используемых нами устройствах, таких как чип Apple T1 и Intel SGX, и используются для выполнения критически важных операций внутри устройства, таких как FaceID.
Поскольку TEE является изолированной системой, процесс аутентификации не может быть нарушен, поскольку при аутентификации предполагается доверие. Думайте об этом так, как будто есть защитная дверь, которая, по вашему мнению, безопасна, потому что ее построили Intel или Apple, но в мире достаточно злоумышленников (включая хакеров и другие компьютеры), которые могут взломать эту защитную дверь. TEE не являются «постквантовыми», а это означает, что квантовый компьютер с неограниченными ресурсами может нарушить безопасность TEE. Поскольку компьютеры быстро становятся более мощными, мы должны помнить о постквантовой безопасности при создании долгосрочных вычислительных систем и схем шифрования.
- Безопасные многосторонние вычисления (SMPC)
SMPC (Secure Multi-Party Computation) также является вычислительным решением, хорошо известным специалистам по технологии блокчейн. Общий рабочий процесс в сети SMPC будет состоять из следующих трех частей:
Шаг 1: Преобразуйте вычисленные входные данные в доли и распределите их между узлами SMPC.
Шаг 2. Выполните фактические вычисления, обычно включающие обмен сообщениями между узлами SMPC. В конце этого шага каждый узел будет владеть долей рассчитанного выходного значения.
Шаг 3. Отправьте общие ресурсы результатов на один или несколько узлов результатов, которые запускают LSS (алгоритм восстановления секретных общих ресурсов) для восстановления выходных результатов.
Представьте себе линию по производству автомобилей, на которой сборка и производство компонентов автомобиля (двигатель, двери, зеркала) передаются на аутсорсинг производителю оригинального оборудования (OEM) (рабочий узел), а затем существует сборочная линия, на которой собираются все компоненты. вместе сделать машину (результат узла).
Обмен секретами очень важен для моделей децентрализованных вычислений, сохраняющих конфиденциальность. Это не позволяет одной стороне получить полный «секрет» (в данном случае входные данные) и злонамеренно выдать ошибочные выходные данные. SMPC, вероятно, является одной из самых простых и безопасных децентрализованных систем. Хотя полностью децентрализованной модели в настоящее время не существует, она логически возможна.
Поставщики MPC, такие как Sharemind, предоставляют инфраструктуру MPC для вычислений, но поставщики по-прежнему централизованы. Как обеспечить конфиденциальность, как гарантировать, что сеть (или Sharemind) свободна от вредоносного поведения. Вот откуда берутся доказательства zk и проверяемые вычисления zk?
- Вычисление нулевого сообщения (NMC)
NMC — это новый метод распределенных вычислений, разработанный командой Nillion. Это обновленная версия MPC, в которой узлам не нужно взаимодействовать друг с другом посредством результатов. Для этого они использовали криптографический примитив под названием «Одновременное маскирование», который использует серию случайных чисел, называемых факторами ослепления, для маскировки секрета, аналогично одноразовому заполнению. OTM разработан для эффективного обеспечения корректности, а это означает, что узлам NMC не нужно обмениваться какими-либо сообщениями для выполнения вычислений. Это означает, что у NMC не будет проблем с масштабируемостью, присущих SMPC.
- Поддающиеся проверке вычисления с нулевым разглашением
ZK Verifying Computation (Проверяемые вычисления ZK) генерирует доказательство с нулевым разглашением для набора входных данных и функции и доказывает, что любые вычисления, выполняемые системой, будут выполнены правильно. Хотя расчет проверки ZK является новым, он уже является очень важной частью дорожной карты расширения сети Ethereum.
Существуют различные формы реализации доказательств ZK (как показано на рисунке ниже, на основе резюме в статье «Модели Off-Chaining_Models»):

Выше у нас есть базовое понимание реализации доказательства ZK, так каковы условия, необходимые для использования доказательства ZK для проверки вычислений?
Во-первых, нам нужно выбрать примитив доказательства. Идеальный примитив доказательства имеет низкую стоимость создания доказательств, небольшие требования к памяти и его легко проверить.
Во-вторых, выберите схему zk, предназначенную для вычислительной генерации доказательств вышеупомянутых примитивов.
Наконец, данная функция вычисляется в некоторой вычислительной системе/сети с предоставленными входными данными и дается выходной сигнал.
Дилемма разработчика – доказательство дилеммы эффективности
Еще я должен сказать, что порог создания схем по-прежнему очень высок. Разработчикам теперь нелегко изучать Solidity. Разработчикам теперь приходится изучать Circom и т. Д. Для создания схем или изучать конкретный язык программирования (). такие как Cairo) для создания zk-приложений, это кажется надуманной вещью.


Как показывает приведенная выше статистика, преобразование среды Web3, более подходящей для разработки, кажется более устойчивым, чем знакомство разработчиков с новой средой разработки Web3.
Если ZK — это будущее Web3, а приложения Web3 необходимо создавать с использованием существующих навыков разработчика, то схемы ZK необходимо проектировать для поддержки доказательств, генерируемых вычислениями, выполняемых алгоритмами, написанными на таких языках, как JavaScript или Rust.
Такие решения существуют, и на ум приходят две команды: RiscZero и Lurk Labs. Обе команды разделяют очень схожее видение: они позволяют разработчикам создавать zk-приложения, не проходя сложного обучения.
Lurk Labs еще только начинает развиваться, но команда работала над этим проектом уже долгое время. Они сосредоточены на создании Нова-доказательств с помощью универсальных схем. Доказательство Nova было представлено Абхирамом Котапалли из Университета Карнеги-Меллон, Шринатом Сетти из Microsoft Research и Иоанной Циалла из Нью-Йоркского университета. По сравнению с другими системами SNARK Nova имеет особые преимущества при выполнении дополнительных проверяемых вычислений (IVC). Инкрементальные проверяемые вычисления (IVC) — это концепция в области информатики и криптографии, целью которой является обеспечение проверки вычислений без необходимости пересчитывать все вычисления с нуля. Когда вычисления длинные и сложные, доказательство необходимо оптимизировать для IVC.

Доказательства Nova не работают «из коробки», как другие системы доказательств. Nova — это просто складной трюк, и разработчикам все еще нужна система доказательств для создания доказательств. Вот почему Lurk Labs создала Lurk Lang, реализацию LISP. Поскольку LISP является языком более низкого уровня, он позволяет легко генерировать доказательства на схемах общего назначения, а также легко переводить их на JavaScript, что поможет Lurk Labs получить поддержку со стороны 17,4 миллионов разработчиков Javascript. Также поддерживается перевод других языков общего назначения, таких как Python.
В целом доказательства Nova представляют собой отличную оригинальную систему доказательств. Хотя их недостатком является то, что размер доказательства увеличивается линейно с размером вычислений, доказательства Nova, с другой стороны, имеют возможности для дальнейшего сжатия.
Размер доказательств STARK не увеличивается с увеличением объема вычислений, поэтому он больше подходит для проверки очень больших вычислений. Чтобы еще больше улучшить опыт разработчиков, они также выпустили Bonsai Network, распределенную вычислительную сеть, проверенную доказательствами, созданными RiscZero. Это простая схема, показывающая, как работает сеть Bonsai RiscZero.

Прелесть сетевого дизайна Bonsai в том, что все вычисления можно инициализировать, проверять и выводить в цепочке. Все это звучит как утопия, но доказательства STARK также приносят проблемы — затраты на проверку слишком высоки.
Доказательства Nova, по-видимому, хорошо подходят для повторных вычислений (его схема свертывания экономически эффективна) и небольших вычислений, что может сделать Lurk хорошим решением для проверки выводов ML.
Кто победитель?


Некоторым системам zk-SNARK требуется доверенный процесс настройки на этапе начальной настройки для создания набора начальных параметров. Допущение доверия здесь заключается в том, что доверенная установка была выполнена честно, без какого-либо злонамеренного поведения или вмешательства. В случае нападения это может привести к созданию недействительных доказательств.
STARK доказывает безопасность гипотетических тестов низкого порядка, используемых для проверки свойств полиномов низкого порядка. Они также предполагают, что хэш-функция ведет себя как случайный оракул.
Правильная реализация обеих систем также является безопасным предположением.
Сети SMPC опираются на следующие моменты:
Среди участников SMPC могут быть «честные, но любопытные» участники, которые могут попытаться получить доступ к любой базовой информации, общаясь с другими узлами.
Безопасность сети SMPC основана на предположении, что участники правильно выполняют протокол и не допускают преднамеренных ошибок или злонамеренного поведения.
Некоторым протоколам SMPC может потребоваться этап доверенной настройки для генерации параметров шифрования или начальных значений. Допущение доверия здесь заключается в том, что доверенная установка реализована честно.
Как и в случае с сетью SMPC, предположения о безопасности остаются прежними, но из-за наличия OTM (автономные многосторонние вычисления) в ней нет «честных, но любопытных» участников.
OTM — это многосторонний вычислительный протокол, предназначенный для защиты конфиденциальности участников. Он обеспечивает защиту конфиденциальности, позволяя участникам сохранять конфиденциальность своих входных данных во время вычислений. Следовательно, «честных, но любопытных» субъектов не будет, поскольку они не смогут попытаться получить доступ к базовой информации путем общения с другими узлами.
Есть ли явный победитель? Мы не знаем. Но каждый метод имеет свои преимущества. Хотя NMC выглядит как явное обновление SMPC, сеть еще не подключена к сети и не проходила полевые испытания.
Преимущество использования проверяемых вычислений ZK заключается в том, что они безопасны и сохраняют конфиденциальность, но не имеют встроенных возможностей обмена секретами. Асимметрия между созданием доказательства и проверкой делает его идеальной моделью для проверяемых аутсорсинговых вычислений. Если система использует чистые проверочные вычисления zk, компьютер (или отдельный узел) должен быть очень мощным, чтобы выполнять большие объемы вычислений. Чтобы обеспечить разделение нагрузки и балансировку при сохранении конфиденциальности, необходимо разделение секретов. В этом случае такую систему, как SMPC или NMC, можно объединить с генератором zk, например Lurk или RiscZero, для создания мощной распределенной проверяемой аутсорсинговой вычислительной инфраструктуры.
Это становится особенно важным, поскольку сегодняшние сети MPC/SMPC централизованы. Крупнейшим поставщиком MPC в настоящее время является Sharemind, и поверх него уровень проверки ZK может оказаться полезным. Экономическая модель децентрализованной сети MPC еще не полностью разработана. Теоретически режим NMC — это обновление системы MPC, но мы еще не видели его успеха.
В соревновании за решения, гарантирующие ZK, не может быть ситуации, когда победитель получает все. Каждый метод доказательства оптимизирован для определенного типа вычислений, и ни один из них не подходит для всех типов моделей. Существует много типов вычислительных задач, и они зависят от компромиссов, которые разработчики идут на каждую систему доказательства. Автор считает, что системы на базе STARK и системы на основе SNARK и их будущие оптимизации имеют место в будущем ZK.
