Знакомство со сталью

СреднийMay 27, 2024
RISC Zero является одним из ведущих разработчиков zkVM и недавно запустил Steel, библиотеку для проверки вызовов представлений, основанную на Alloy. Это приводит к значительным изменениям в том, как разработчики взаимодействуют с Ethereum L1 или другими цепочками EVM. Используя доказательства с нулевым разглашением и RISC Zero zkVM, Steel позволяет разработчикам выполнять вызовы представлений, а также доказуемо считывать и вычислять состояние Ethereum масштабируемым, безопасным и экономичным способом.
Знакомство со сталью

Представляем сталь: закаленный сплав, соединяющий RISC Zero с Ethereum

Успех Ethereum привел к процветанию экосистемы децентрализованных приложений, но проблемы масштабируемости становятся все более очевидными. Разработчики стоят перед сложным выбором: ограничить функциональность и насыщенность данными своих приложений или нести бремя чрезмерной платы за газ или лимитов газа. Что, если бы у разработчиков был способ обойти эти ограничения?

Steel, библиотека доказательств вызовов на основе Alloy от RISC Zero, представляет собой огромный сдвиг в том, как разработчики взаимодействуют с цепочками Ethereum L1 или EVM. Используя возможности доказательств с нулевым разглашением и RISC Zero zkVM, Steel позволяет разработчикам выполнять вызовы представлений, а также доказуемо считывать и вычислять состояние Ethereum масштабируемым, безопасным и экономически эффективным способом.

Удобство Solidity с мощью ZK.

Steel устраняет разрыв между разработкой приложений Ethereum и технологией нулевого разглашения, позволяя разработчикам проще, чем когда-либо, использовать возможности ZK в своих смарт-контрактах. В сочетании с возможностями RISC Zero zkVM Steel позволяет разработчикам создавать более безопасные, масштабируемые и эффективные приложения на Ethereum L1 или любой цепочке, эквивалентной EVM.

С помощью Steel разработчики получают возможность:

  • Выполняйте смарт-контракты Solidity непосредственно в zkVM для более сложной логики в цепочке
  • Доступ к историческому состоянию Ethereum внутри zkVM
  • Вычисления без ограничений по размеру блоков и транзакций с помощью продолжений
  • Обеспечьте безопасные и надежные вычисления вне сети, как если бы они выполнялись в блокчейне
  • Используйте первую готовую к использованию zkVM, тщательно протестированную и используемую различными партнерами
  • Приватные вычисления над состоянием Ethereum
  • Обеспечьте гибкость благодаря базе кода с открытым исходным кодом без привязки к поставщику

Бесшовная интеграция и экономия средств

В Steel выполнить вызов представления так же просто, как указать желаемые методы Solidity. Будь то получение баланса токенов ERC-20 (пример) или доступ к любому аспекту состояния Ethereum, Steel упрощает процесс, обеспечивая безопасность и эффективность за счет бесшовной интеграции с RISC Zero zkVM. Наши тесты показали, что Steel может обрабатывать более 100 тыс. операций SLOAD за один вызов представления, потенциально экономя тысячи долларов на плате за газ в основной сети. Мы можем доказать это примерно за 15 минут с помощью бонсай. Для этого потребуется не менее 210 млн газа, что в 7 раз превысит лимит блока.

Пример: ERC20 balanceOf

В приведенных ниже фрагментах кода мы демонстрируем процесс подтверждения баланса конкретного адреса для развернутого контракта ERC-20 на Ethereum с помощью Steel. Этот пример демонстрирует, как разработчики могут использовать Steel для взаимодействия с данными Ethereum в пределах zkVM. С полным кодом можно ознакомиться здесь.

Определение сигнатуры функции представления

Начните с определения сигнатуры функции balanceOf в ERC-20 с помощью sol! макрос. Это проанализирует синтаксис Solidity для генерации соответствующей структуры Rust, которая реализует типаж SolCall. Эту структуру можно использовать для вызова метода balanceOf, который принимает адрес учетной записи и возвращает связанный баланс токенов ERC-20.

Подготовка к звонку

Затем настройте вызов, создав экземпляр структуры balanceOfCall с адресом целевой учетной записи. Кроме того, определите константы для адреса контракта, который вы хотите запросить, и адреса вызывающего абонента.

Выполнение вызова в Main

Основная функция выполняется в zkVM, создавая доказательство с нулевым разглашением. Он начинает с чтения входной среды, а затем создает объект ViewCallEnv, гарантируя, что текущее состояние соответствует ожидаемому корню состояния. После фиксации соответствующего хэша и номера блока выполняется вызов представления и выводится баланс.

Как это работает

Steel упрощает процесс доказательства выполнения кода Solidity в RISC Zero zkVM в три простых шага:

  1. Предтестовая фаза: инициируйте предтестовую проверку, выполнив вызов представления к узлу RPC Ethereum. При этом кэшируются необходимые слоты хранилища, а база данных EVM заполняется только данными, необходимыми для запроса. Все слоты хранения обнаруживаются и извлекаются автоматически на основе выполнения вызова представления.
  2. Проверка хранилища: Проведите проверку целостности хранилища, убедившись, что данные в базе данных EVM соответствуют корню состояния блокчейна, тем самым подтверждая его легитимность.
  3. Solidity Execution: Запустите заданную функцию Solidity на EVM внутри RISC Zero zkVM.

Чем это отличается от доказательств хранения?

При использовании традиционных доказательств хранилища разработчики должны вручную выбирать, какие слоты хранения будут использоваться их смарт-контрактом, и заново реализовывать логику смарт-контракта. При использовании steel все слоты хранения обнаруживаются и извлекаются автоматически на основе выполнения вызова представления. Это значительно экономит разработчикам время и уменьшает количество ошибок при реализации, снижая вероятность уязвимостей в системе безопасности.

Получение проверенного хэша блока

При использовании кода операции blockhash для валидации в смарт-контрактах Ethereum обязательство для валидации должно ссылаться на blockhash не старше 256 блоков. Учитывая, что среднее время блока составляет 12 секунд, это устанавливает узкие временные рамки примерно в 50 минут для завершения создания доказательства и подтверждения включения проверяющей транзакции в блок.

Когда в блокчейне требуется проверенный хэш блока старше 256 блоков, можно использовать несколько стратегий:

  • Когда хэш блока, который будет необходим, известен заранее (например, при инициировании предложения по управлению), этот хэш блока может быть сохранен в состоянии контракта.
  • Другой подход заключается в использовании RISC Zero для доказательства хеш-цепочки от блока, который был запрошен, до блока в последних 256 годах.

Будущее ончейн-приложений

Мы представляем себе будущее, в котором существует бесшовная интеграция оффчейн-вычислений с ончейн-проверкой. Steel - это наш вклад в воплощение этого видения в реальность, позволяя разработчикам доказуемо получать доступ и выполнять вычисления на протяжении всей истории Ethereum внутри zkVM для создания следующей волны богатых данными и более функциональных ончейн-приложений.

Начало работы со сталью

Steel является ключевым компонентом стремления RISC Zero к запуску zkVM 1.0, вехи на пути к дешевой, безопасной проверке доказательств в цепочке и универсальным доказательствам с нулевым разглашением. Начните работу со Steel уже сегодня, посетив наш репозиторий GitHub для получения документации, примеров кода и ресурсов, которые помогут вам интегрировать Steel в свой проект.

Отказ:

  1. Эта статья перепечатана с [riscze]. Все авторские права принадлежат оригинальному автору [Сантьяго Кампосу]. Если у вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn , и они оперативно рассмотрят их.
  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, принадлежат исключительно автору и не являются какими-либо инвестиционными рекомендациями.
  3. Переводом статьи на другие языки занимается команда Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.

Знакомство со сталью

СреднийMay 27, 2024
RISC Zero является одним из ведущих разработчиков zkVM и недавно запустил Steel, библиотеку для проверки вызовов представлений, основанную на Alloy. Это приводит к значительным изменениям в том, как разработчики взаимодействуют с Ethereum L1 или другими цепочками EVM. Используя доказательства с нулевым разглашением и RISC Zero zkVM, Steel позволяет разработчикам выполнять вызовы представлений, а также доказуемо считывать и вычислять состояние Ethereum масштабируемым, безопасным и экономичным способом.
Знакомство со сталью

Представляем сталь: закаленный сплав, соединяющий RISC Zero с Ethereum

Успех Ethereum привел к процветанию экосистемы децентрализованных приложений, но проблемы масштабируемости становятся все более очевидными. Разработчики стоят перед сложным выбором: ограничить функциональность и насыщенность данными своих приложений или нести бремя чрезмерной платы за газ или лимитов газа. Что, если бы у разработчиков был способ обойти эти ограничения?

Steel, библиотека доказательств вызовов на основе Alloy от RISC Zero, представляет собой огромный сдвиг в том, как разработчики взаимодействуют с цепочками Ethereum L1 или EVM. Используя возможности доказательств с нулевым разглашением и RISC Zero zkVM, Steel позволяет разработчикам выполнять вызовы представлений, а также доказуемо считывать и вычислять состояние Ethereum масштабируемым, безопасным и экономически эффективным способом.

Удобство Solidity с мощью ZK.

Steel устраняет разрыв между разработкой приложений Ethereum и технологией нулевого разглашения, позволяя разработчикам проще, чем когда-либо, использовать возможности ZK в своих смарт-контрактах. В сочетании с возможностями RISC Zero zkVM Steel позволяет разработчикам создавать более безопасные, масштабируемые и эффективные приложения на Ethereum L1 или любой цепочке, эквивалентной EVM.

С помощью Steel разработчики получают возможность:

  • Выполняйте смарт-контракты Solidity непосредственно в zkVM для более сложной логики в цепочке
  • Доступ к историческому состоянию Ethereum внутри zkVM
  • Вычисления без ограничений по размеру блоков и транзакций с помощью продолжений
  • Обеспечьте безопасные и надежные вычисления вне сети, как если бы они выполнялись в блокчейне
  • Используйте первую готовую к использованию zkVM, тщательно протестированную и используемую различными партнерами
  • Приватные вычисления над состоянием Ethereum
  • Обеспечьте гибкость благодаря базе кода с открытым исходным кодом без привязки к поставщику

Бесшовная интеграция и экономия средств

В Steel выполнить вызов представления так же просто, как указать желаемые методы Solidity. Будь то получение баланса токенов ERC-20 (пример) или доступ к любому аспекту состояния Ethereum, Steel упрощает процесс, обеспечивая безопасность и эффективность за счет бесшовной интеграции с RISC Zero zkVM. Наши тесты показали, что Steel может обрабатывать более 100 тыс. операций SLOAD за один вызов представления, потенциально экономя тысячи долларов на плате за газ в основной сети. Мы можем доказать это примерно за 15 минут с помощью бонсай. Для этого потребуется не менее 210 млн газа, что в 7 раз превысит лимит блока.

Пример: ERC20 balanceOf

В приведенных ниже фрагментах кода мы демонстрируем процесс подтверждения баланса конкретного адреса для развернутого контракта ERC-20 на Ethereum с помощью Steel. Этот пример демонстрирует, как разработчики могут использовать Steel для взаимодействия с данными Ethereum в пределах zkVM. С полным кодом можно ознакомиться здесь.

Определение сигнатуры функции представления

Начните с определения сигнатуры функции balanceOf в ERC-20 с помощью sol! макрос. Это проанализирует синтаксис Solidity для генерации соответствующей структуры Rust, которая реализует типаж SolCall. Эту структуру можно использовать для вызова метода balanceOf, который принимает адрес учетной записи и возвращает связанный баланс токенов ERC-20.

Подготовка к звонку

Затем настройте вызов, создав экземпляр структуры balanceOfCall с адресом целевой учетной записи. Кроме того, определите константы для адреса контракта, который вы хотите запросить, и адреса вызывающего абонента.

Выполнение вызова в Main

Основная функция выполняется в zkVM, создавая доказательство с нулевым разглашением. Он начинает с чтения входной среды, а затем создает объект ViewCallEnv, гарантируя, что текущее состояние соответствует ожидаемому корню состояния. После фиксации соответствующего хэша и номера блока выполняется вызов представления и выводится баланс.

Как это работает

Steel упрощает процесс доказательства выполнения кода Solidity в RISC Zero zkVM в три простых шага:

  1. Предтестовая фаза: инициируйте предтестовую проверку, выполнив вызов представления к узлу RPC Ethereum. При этом кэшируются необходимые слоты хранилища, а база данных EVM заполняется только данными, необходимыми для запроса. Все слоты хранения обнаруживаются и извлекаются автоматически на основе выполнения вызова представления.
  2. Проверка хранилища: Проведите проверку целостности хранилища, убедившись, что данные в базе данных EVM соответствуют корню состояния блокчейна, тем самым подтверждая его легитимность.
  3. Solidity Execution: Запустите заданную функцию Solidity на EVM внутри RISC Zero zkVM.

Чем это отличается от доказательств хранения?

При использовании традиционных доказательств хранилища разработчики должны вручную выбирать, какие слоты хранения будут использоваться их смарт-контрактом, и заново реализовывать логику смарт-контракта. При использовании steel все слоты хранения обнаруживаются и извлекаются автоматически на основе выполнения вызова представления. Это значительно экономит разработчикам время и уменьшает количество ошибок при реализации, снижая вероятность уязвимостей в системе безопасности.

Получение проверенного хэша блока

При использовании кода операции blockhash для валидации в смарт-контрактах Ethereum обязательство для валидации должно ссылаться на blockhash не старше 256 блоков. Учитывая, что среднее время блока составляет 12 секунд, это устанавливает узкие временные рамки примерно в 50 минут для завершения создания доказательства и подтверждения включения проверяющей транзакции в блок.

Когда в блокчейне требуется проверенный хэш блока старше 256 блоков, можно использовать несколько стратегий:

  • Когда хэш блока, который будет необходим, известен заранее (например, при инициировании предложения по управлению), этот хэш блока может быть сохранен в состоянии контракта.
  • Другой подход заключается в использовании RISC Zero для доказательства хеш-цепочки от блока, который был запрошен, до блока в последних 256 годах.

Будущее ончейн-приложений

Мы представляем себе будущее, в котором существует бесшовная интеграция оффчейн-вычислений с ончейн-проверкой. Steel - это наш вклад в воплощение этого видения в реальность, позволяя разработчикам доказуемо получать доступ и выполнять вычисления на протяжении всей истории Ethereum внутри zkVM для создания следующей волны богатых данными и более функциональных ончейн-приложений.

Начало работы со сталью

Steel является ключевым компонентом стремления RISC Zero к запуску zkVM 1.0, вехи на пути к дешевой, безопасной проверке доказательств в цепочке и универсальным доказательствам с нулевым разглашением. Начните работу со Steel уже сегодня, посетив наш репозиторий GitHub для получения документации, примеров кода и ресурсов, которые помогут вам интегрировать Steel в свой проект.

Отказ:

  1. Эта статья перепечатана с [riscze]. Все авторские права принадлежат оригинальному автору [Сантьяго Кампосу]. Если у вас есть возражения против этой перепечатки, пожалуйста, свяжитесь с командой Gate Learn , и они оперативно рассмотрят их.
  2. Отказ от ответственности: Взгляды и мнения, выраженные в этой статье, принадлежат исключительно автору и не являются какими-либо инвестиционными рекомендациями.
  3. Переводом статьи на другие языки занимается команда Gate Learn. Если не указано иное, копирование, распространение или плагиат переведенных статей запрещены.
Начните торговать сейчас
Зарегистрируйтесь сейчас и получите ваучер на
$100
!