Стейблкоины

Погружение в нулевые знания: Учебник по JavaScript с использованием SnarkJS и Circom

Стейблкоины
JavaScript tutorial for Zero-Knowledge Proofs Using SnarkJS and Circom - hackernoon.com

В этой статье на Hackernoon представлен краткий JavaScript-урок по применению нулевых знаний (Zero-Knowledge Proofs) с использованием библиотек SnarkJS и Circom. Читатели познакомятся с основами создания и проверки доказательств, что станет полезным инструментом для разработки безопасных децентрализованных приложений.

В последние годы концепция нулевых знаний (Zero-Knowledge Proofs, ZKP) стала одной из самых захватывающих тем в мире криптографии и блокчейна. Это доказательство, позволяющее одной стороне (доказателю) убедить другую сторону (верификатор) в том, что какое-то утверждение истинно, не раскрывая при этом никакой дополнительной информации об этом утверждении. С увеличением популярности децентрализованных приложений и смарт-контрактов, технологии, использующие нулевые знания, становятся всё более актуальными. В этой статье мы рассмотрим, как начать работу с SnarkJS и Circom, двумя популярными библиотеками для реализации доказательств с нулевыми знаниями на языке JavaScript. SnarkJS — это библиотека, которая позволяет создавать, проверять и использовать доказательства с нулевыми знаниями.

Она позволяет разработчикам эффективно интегрировать методы нулевых знаний в свои приложения, делая их более безопасными. Circom в свою очередь представляет собой язык описания схем, который упрощает создание сложных логических структур для доказательств. Вместе эти инструменты формируют мощный комплект для разработки приложений, использующих нулевые знания. Первым шагом для работы с SnarkJS и Circom является установка необходимых инструментов. Для начала вам понадобится Node.

js, если он ещё не установлен на вашем компьютере. Следующим шагом будет установка самой библиотеки SnarkJS. Вы можете сделать это с помощью менеджера пакетов npm, выполнив команду: ```bash npm install snarkjs ``` После установки SnarkJS можно переходить к Circom. Установить его несложно, и вы можете воспользоваться следующей командой: ```bash npm install -g circom ``` Теперь, когда у вас установлены все необходимые библиотеки, давайте создадим базовую схему для доказательства с нулевыми знаниями. Для этого создадим новый файл, например `example.

circom`, в котором опишем простой контекст, который мы хотим доказать. Например, мы можем захотеть подтвердить, что мы знаем некое число `x`, квадрат которого равен `y`. Вот как это можно реализовать в Circom: ```circuit template Square() { signal input x; signal input y; signal output out; out <== x * x; out === y; } component main = Square(); ``` В этом примере мы создали схему, которая принимает два входных сигнала (x и y) и возвращает квадрат `x`, который должен соответствовать `y`. Этот шаблон можно компилировать и использовать для создания доказательства. После написания схемы, следующий шаг заключается в её компиляции.

Это можно сделать с помощью следующей команды: ```bash circom example.circom --r1cs --wasm --sym ``` Эта команда создаст несколько файлов, включая файл `example.r1cs`, который содержит описание вашей схемы, и файл `example.wasm`, который будет использоваться для генерации доказательства. Теперь, когда у нас есть скомпилированная схема, мы можем создать ключи для генерации и верификации доказательства.

Это делается с помощью SnarkJS. Выполним команду для создания ключей: ```bash snarkjs setup example.r1cs pot15_final.ptau --protocol gr15 ``` После успешного выполнения этой команды у вас будет файл с ключами, который можно использовать для дальнейших операций. Теперь давайте создадим доказательство.

Для этого мы должны запустить наш компилированный WebAssembly-модуль и передать в него значения для `x` и `y`. Мы можем создать файл `input.json`, содержащий следующие данные: ```json { "x": 3, "y": 9 } ``` Теперь, чтобы создать доказательство, выполните следующую команду: ```bash snarkjs prove example.wasm input.json ``` Если всё выполнено успешно, у вас будет несколько файлов, включая `.

proof` файл, который содержит само доказательство, и `.public.json`, который содержит публичные данные, которые можно использовать для верификации. Последним шагом будет верификация доказательства. Для этого используйте Собранные ключи и команду: ```bash snarkjs verify example.

vkey.json output.json ``` Если всё выполнено корректно, вы увидите сообщение о том, что доказательство успешно подтверждено. Стоит отметить, что это всего лишь базовый пример использования SnarkJS и Circom для работы с нулевыми знаниями. Эти технологии могут применяться в самых различных случаях — от анонимного голосования до обеспечения приватности финансовых транзакций.

Автоматическая торговля на криптовалютных биржах Покупайте и продавайте криптовалюту по лучшей цене

Далее
Man Utd 0-1 Spurs | Robert’s verdict: “We had good control of the game
Четверг, 19 Декабрь 2024 Сперс обыгрывают Юнайтед: Роберт Вилахамн о контроле игры в победе 1-0

Тоттенхэм завершил предсезонную программу победой над Манчестер Юнайтед со счётом 1:0. Главный тренер Роберт Вилахамн отметил, что команда показала хороший контроль над игрой, создала множество моментов и успешно защитилась в концовке матча.

Good Weekend Superquiz, September 28
Четверг, 19 Декабрь 2024 Умственные битвы выходного дня: Супервикторина 28 сентября

В этом выпуске Good Weekend Superquiz, который выйдет 28 сентября, пользователи смогут проверить свои знания, несмотря на временные технические проблемы с доступом. Подробности о конкурсе и актуальные вопросы ждут своих участников.

Dogecoin Founder's Comment on Crypto Market Crash Stirs DOGE Community - U.Today
Четверг, 19 Декабрь 2024 Комментарии основателя Dogecoin о крахе рынка криптовалют возбуждают сообщество DOGE

Основатель Dogecoin прокомментировал недавний крах крипторынка, вызвав бурную реакцию в сообществе DOGE. Его слова, отражающие текущее состояние рынка, подогрели обсуждения среди инвесторов и фанатов криптовалюты.

US Senator: Bitcoin Is a Commodity — 'There Is No Dispute About This' - Bitcoin.com News
Четверг, 19 Декабрь 2024 Сенатор США: Биткойн — это товар, и в этом нет никаких споров!

Сенатор США заявил, что Биткойн является товаром, подчеркивая, что "в этом нет споров". Это заявление поднимает важные вопросы о классификации криптовалют и их регулировании.

Civitas Resources: Optimizing All The Acquisitions
Четверг, 19 Декабрь 2024 Оптимизация приобретений: Как Civitas Resources трансформирует рынок

Civitas Resources, образованная в 2021 году в результате слияния нескольких компаний, делает акцент на оптимизации своих приобретений, используя сочетание акций и долгового финансирования для поддержания приемлемого уровня долговой нагрузки. Несмотря на риск, связанный с быстрым ростом через поглощения, руководство компании демонстрирует успешное управление.

Best Crypto Casinos with VIP Programs in 2024
Четверг, 19 Декабрь 2024 Топ крипто-казино с VIP-программами в 2024 году: откройте мир эксклюзивных привилегий!

В статье рассматриваются лучшие крипто-казино с программами VIP в 2024 году. Обзор включает десять популярных платформ, предлагающих щедрые приветственные бонусы, разнообразные игровые предложения и эксклюзивные привилегии для высоких игроков.

Hong Kong weighs new OTC crypto scheme with SFC - South China Morning Post
Четверг, 19 Декабрь 2024 Гонконг рассматривает новую OTC-криптосхему с SFC: шаг к регулированию цифровых активов

Гонконг рассматривает новую схему внедрения внебиржевых криптовалют (OTC) совместно с Комиссией по ценным бумагам и фьючерсам (SFC), что может позитивно отразиться на регуляции крипторынка в регионе.