2023 год — первый год вспышки ЗК, и уже есть некоторые мнения. В этой статье мы сосредоточимся на обсуждении различных типов аппаратных дорожек zkEVM и ZKP и т. д. и проанализируем их один за другим. На встрече по инвестиционным исследованиям на тему ZK, инициированной ChainTimes на прошлой неделе, все активно общались. В этой статье будет рассмотрен анализ zkEVM и оборудования, предоставленный MetaStone Capital.

01.О zk-rollup

В качестве решения масштабируемости Ethereum Rollups может объединять и сжимать транзакции через свою собственную сеть и отправлять их в цепочку Ethereum для проверки. Это может повысить эффективность работы сети за счет одновременной проверки нескольких транзакций в сети. увеличить количество исполнений транзакций и добиться расширения.

Благодаря количеству транзакций, выполняемых одновременно самим Rollups, проблема TPS, за которую критикуют Ethereum, может быть решена. Учитывая безопасность самого Ethereum, количество исполняемых транзакций может быть увеличено на несколько порядков.

zkRollups может сочетать конфиденциальность с решениями с помощью технологии доказательства с нулевым разглашением, которая позволяет одной стороне доказывать что-то другой стороне, не раскрывая информацию, подтверждающую эту сторону, тем самым обеспечивая конфиденциальность. Конечно, не все zkRollup смогут воспользоваться преимуществами конфиденциальности технологии с нулевым разглашением данных. В то же время, по сравнению с L1, zkRollups имеет более сильную экономию за счет масштаба. Что касается L1 Ethereum, его стоимость и скорость обработки, как правило, не подходят для все большего числа пользователей. Для zkRollups больше пользователей транзакций еще больше снизят стоимость. использования сети и достижения первоначальной цели.

Очевидными преимуществами применения zk-rollup на ETH являются:

1. Совместное использование безопасности консенсусного уровня Ethereum

2. Решить проблему масштабируемости в невозможном треугольнике блокчейна.

3. Огромные сетевые эффекты

02. Как работают EVM и zkEVM

а. Принцип работы ЭВМ.

Байт-код смарт-контракта загружается из хранилища EVM и выполняется одноранговыми узлами на EVM.

Коды операций EVM взаимодействуют с различными частями состояния EVM и выполняют операции чтения и записи (включая память и стек).

Код операции EVM выполняет вычисления над значением, полученным из хранилища состояний, прежде чем вернуть новое значение для завершения перехода состояния.

б. Как работает zkEVM

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



3.программа выполнения zkEVM

01. Базовые условия zkEVM требуют, чтобы evm-совместимая виртуальная машина выполняла коды операций и запускала смарт-контракты.

02. Существует схема проверки, которая генерирует доказательства с нулевым разглашением. Завершите процесс генерации доказательства, используя в качестве входных данных информацию о предварительном состоянии, входных транзакциях и пост-состоянии.

03. Отправьте сертификат действительности к контракту на проверку ETH для проверки.



4. Проблемы совместимости между Scroll и zkSync, Starknet и Polygon.

Поскольку EVM не учитывала вопрос расчета zkp при первоначальной разработке, существует два способа объединить zk+zvm:

а. Метод компиляции

Сам Starknet использует язык Cairo (язык системы доказательства с нулевым разглашением). Если разработчики хотят переместить eth-приложения в Starknet, им необходимо позаимствовать компилятор команды Starknet для компиляции, что позволит проектам, написанным на Solidity, «одним щелчком мыши» использовать свою кодовую базу. Переводится на Каир.

zksync также компилируется на языке. Через промежуточный язык YUL с использованием инфраструктуры LLVM байт-код контракта Solidity компилируется в язык YUL, а затем компилируется в исполняемый байт-код zksync ZKEVM, установленный через байт-код YUL.

Polygon компилируется на основе байт-кода, а байт-код Solidity с открытым исходным кодом компилируется в исполняемый код микрооперации Polygon uvm, который фактически заменяет собственный код операции evm. Но суть прогресса в том, чтобы обеспечить полную совместимость evm на уровне байт-кода.

b.scroll — это процесс разработки схем с нулевым разглашением для кодов операций evm.

Scroll выполнит смарт-контракт на EVM, перенесет байт-код смарт-контракта в память, выполнит его один за другим с кодами операций, получит дерево Меркла и настроит схему для каждого дерева. Каждый код операции имеет схему, и при объединении нет необходимости транслятора и необходимости что-либо модифицировать.

ZkEVM на уровне байт-кода удобен для разработчиков: одним из моментов является низкопороговое развертывание. Кроме того, без преобразования кода Solidity в другой язык кодирования разработчики могут напрямую использовать общие инструменты разработки Ethereum, библиотеки, кошельки (такие как MetaMask), Market и. отладчик, это самое критичное. Напротив, использование совместимости на уровне языка создаст определенные трудности для разработчиков при использовании инструментов eth и миграции экологических приложений Ethereum, а совместимость будет хуже.

Помимо совместимости, как сравнить ZK-EVM:

В среде с открытым исходным кодом различия между различными решениями ZK общей системы Prove очень малы и не существенны, что слабо влияет на эффективность Prove. С инженерной точки зрения это измеряется сложностью доказательства, сложностью проверки, сложностью связи и т. д., а также общими идеями разработки схемы. Невозможно судить, кто в итоге победит. Потому что сетевые эффекты, культура сообщества, продвижение операций, эффекты благосостояния, поддержка разработчиков и т. д. — все это наиболее важные элементы экосистемы.

5. Современные типы ЗКП

Чтобы доказать вычисление с помощью ZK, вам обычно необходимо преобразовать традиционную программу в программу, совместимую с ZK.

Чем сложнее расчет и он несовместим с ZK, тем медленнее будет процесс генерации доказательства. Некоторые операции несовместимы с ZK (ша/побитовая операция). Если расчет совместим с ZK, тем быстрее он будет. будет Система доказательств. В настоящее время существуют PLONK, Spartan и STARK. Эти системы доказательств могут выводить доказательство на основе входных данных.

Однако в настоящее время узким местом в создании доказательства является не что иное, как один из двух. Все системы доказательства в основном включают два алгоритма: FFT и MSM. Основной фактор, ограничивающий скорость этих двух алгоритмов, в настоящее время зависит от стоимости оборудования и затрат на полосу пропускания.

Текущие типы аппаратного обеспечения в основном включают следующие три типа ASIC графического процессора FPGA. В настоящее время ZKP все еще находится на ранней стадии разработки. Работа по стандартизации параметров системы (таких как ширина БПФ или битовый размер элемента) еще незначительна. система доказательств также отсутствует соответствующий стандарт.

Основываясь на вышеупомянутых факторах, для сценариев ZKP FPGA имеет два основных атрибута, которые делают ее лучше, чем ASIC:

01Напишите несколько раз» VS «Напишите один раз»

Бизнес-логика ASIC предназначена для однократной записи. Если есть какие-либо модификации логики ZKP, нужно начинать заново. FPGA может перепрошиваться в течение 1 секунды и поддерживает перепрошивку бесчисленное количество раз. Это означает, что одно и то же оборудование может быть повторно использовано между разными цепочками, в которых используются несовместимые системы проверки (например, если вы хотите извлечь MEV из разных цепочек), и одно и то же оборудование. можно использовать повторно в любое время. Гибко адаптироваться к изменениям в ЗК "мета".

02Здоровое питание:

Проектирование, производство и внедрение ASIC обычно занимает от 12 до 18 месяцев и более. Цепочка поставок FPGA налажена. Ведущие поставщики FPGA, такие как Xilinx, позволяют размещать оптовые заказы онлайн (то есть никаких других контактов не требуется) и доставлять их в течение 16 недель. Это позволяет предприятиям, ориентированным на FPGA, иметь более тесную обратную связь по своим продуктам и расширять свою деятельность за счет покупки и развертывания большего количества FPGA.

И мы также ожидаем, что производительность FPGA будет лучше, чем у GPU, главным образом по двум причинам:

1) Накладные расходы на оборудование: лучшие FPGA (ведущие узлы обработки, тактовые частоты, энергоэффективность и пропускная способность памяти) примерно в 3 раза дешевле, чем лучшие графические процессоры. Глобальный спрос на графические процессоры еще больше усугубляет проблему.

2) Эффективность энергопотребления: энергопотребление FPGA> в 10 раз выше, чем у графического процессора. Основная причина заключается в том, что графический процессор необходимо подключить к хост-устройству, которое обычно потребляет много энергии.

Мы считаем, что будущими победителями на рынке будут: FPGA > ASIC (или GPU). Если в будущем в масштабе будет доминировать только одно или небольшое количество решений ZK L1 или L2, а система доказательства ZK стабилизируется вокруг одной реализации, тогда ASIC может превзойти FPGA. Но в настоящее время такая ситуация не произойдет через несколько лет.

Майнеры биткойнов заработали более 15 миллиардов долларов, а майнеры Ethereum — чуть более 17 миллиардов долларов. Доказательства с нулевым разглашением в конечном итоге станут фактическим средством обеспечения вычислительной целостности и конфиденциальности в сети, и в этом случае возможности для майнеров/доказательств ZK могут быть аналогичны по размеру рынку майнинга с доказательством работы.

ZKP работает медленно и требует аппаратного ускорения для реализации сложных вычислений. Мы считаем, что наиболее важной технологией для аппаратного ускорения ZK является FPGA, а не графический процессор (ограниченный стоимостью и энергоэффективностью) или ASIC (ограниченный своей негибкостью и длинным циклом итерации).