Виртуальная машина с нулевым разглашением, которая генерирует доказательства корректного выполнения программ на Rust и других языках, компилируемых через LLVM.
aleo-labs-protocol/snarkOS
Децентрализованная операционная система и ПО узлов, обеспечивающие работу сети Aleo для приложений с доказательствами с нулевым разглашением.
- Звёзды
- 4,530
- Форки
- 2,697
- Открытые issues
- 131
- Последний коммит
- 3 часа назад
Что это?
snarkOS — это реализация узла для сети Aleo, блокчейна для приложений с доказательствами с нулевым разглашением. Она проверяет транзакции и хранит зашифрованное состояние приложений, которое можно публично проверить. ПО поддерживает три роли узлов: валидаторы участвуют в консенсусе AleoBFT, клиенты хранят копию реестра и ретранслируют транзакции и решения, а prover-узлы решают задачу Aleo, не поддерживая реестр.
Проект написан на Rust и устанавливается из исходного кода с помощью cargo. В его состав входит CLI snarkos для запуска узлов, создания аккаунтов Aleo и подписания с их помощью, а также REST-сервер на порту 3030 для клиентов. Валидаторы могут предоставлять телеметрию и метрики Prometheus, а для тестирования нескольких узлов на одной машине можно запустить локальный devnet с помощью скрипта.
Операторам узлов потребуется мощное оборудование: для валидаторов указаны характеристики от 64 ядер, 256 GiB оперативной памяти и нескольких терабайт NVMe-хранилища. В репозитории также есть инструменты для локального резервного копирования на основе контрольных точек RocksDB и документация по переходу со старых форматов хранения данных.
Ключевые возможности
- 01Запускает узлы-валидаторы, клиентские узлы и prover-узлы сети Aleo.
- 02Предоставляет CLI snarkos для запуска узлов и управления аккаунтами Aleo.
- 03Предоставляет REST-сервер для клиентов и конечные точки телеметрии валидаторов.
- 04Включает скрипт локального devnet для запуска нескольких узлов на одной машине.
- 05Предлагает локальное резервное копирование на основе RocksDB с использованием жёстких ссылок для экономии места.
Сценарии использования
- Запуск узла-валидатора или клиентского узла в сети Aleo.
- Предоставление вычислительных ресурсов для создания доказательств в качестве prover-узла.
- Тестирование работы нескольких узлов Aleo в локальном devnet.
- Изучение кода консенсуса и сетевого взаимодействия блокчейна с доказательствами с нулевым разглашением.
Быстрый старт
- 1
Установите Rust (ссылка на установку Rust находится в README).
- 2
Клонируйте ветку mainnet репозитория.
git clone --branch mainnet --single-branch https://github.com/ProvableHQ/snarkOS.git - 3
Установите snarkOS из клонированного каталога.
cargo install --locked --path . - 4
Запустите клиентский узел (после установки его можно запускать из любого каталога).
snarkos start --client --nodisplay --node 0.0.0.0:4130 --peers "core_client_ip_1:4130,core_client_ip_2:4130,core_client_ip3:4130,outer_client_ip_1:4130,..." --verbosity 1 --rest 0.0.0.0:3030
Что важно знать
- Для клиентских узлов поддерживаются только Ubuntu, macOS и Windows; валидаторам требуется Ubuntu 22.04.
- Для запуска узла требуется очень мощное оборудование. Клиентским узлам, например, нужно не менее 128 ГиБ ОЗУ и несколько терабайт хранилища.
- Функция CUDA prover является экспериментальной и может изменяться с нарушением обратной совместимости.
Темы
Частые вопросы
- Что такое snarkOS?
- Децентрализованная операционная система и ПО узлов, обеспечивающие работу сети Aleo для приложений с доказательствами с нулевым разглашением. snarkOS — это реализация узла для сети Aleo, блокчейна для приложений с доказательствами с нулевым разглашением. Она проверяет транзакции и хранит зашифрованное состояние приложений, которое можно публично проверить. ПО поддерживает три роли узлов: валидаторы участвуют в консенсусе AleoBFT, клиенты хранят копию реестра и ретранслируют транзакции и решения, а prover-узлы решают задачу Aleo, не поддерживая реестр.
- snarkOS можно использовать бесплатно? Какая у него лицензия?
- snarkOS распространяется с открытым исходным кодом под лицензией Apache-2.0. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- snarkOS всё ещё поддерживается?
- Активно поддерживается. Последний коммит в snarkOS — 7 нояб. 2026 г..
- Для чего можно использовать snarkOS?
- Запуск узла-валидатора или клиентского узла в сети Aleo. Предоставление вычислительных ресурсов для создания доказательств в качестве prover-узла. Тестирование работы нескольких узлов Aleo в локальном devnet. Изучение кода консенсуса и сетевого взаимодействия блокчейна с доказательствами с нулевым разглашением.
- Как установить snarkOS?
- Установите Rust (ссылка на установку Rust находится в README). Клонируйте ветку mainnet репозитория.: git clone --branch mainnet --single-branch https://github.com/ProvableHQ/snarkOS.git Установите snarkOS из клонированного каталога.: cargo install --locked --path . Запустите клиентский узел (после установки его можно запускать из любого каталога).: snarkos start --client --nodisplay --node 0.0.0.0:4130 --peers "core_client_ip_1:4130,core_client_ip_2:4130,core_client_ip3:4130,outer_client_ip_1:4130,..." --verbosity 1 --rest 0.0.0.0:3030
- Где скачать snarkOS?
- Исходный код и инструкции по установке — на GitHub: https://github.com/aleo-labs-protocol/snarkOS
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Реализация узла блокчейна Nimiq с Proof-of-Stake на Rust, использующая алгоритм консенсуса Albatross.
Фреймворк на TypeScript для создания zero-knowledge circuits и zkApps с генерацией и проверкой доказательств в браузере, Node.js или Mina Protocol.
Реализация на Rust для создания и проверки Circle STARK на поле M31: верификатор no_std и SIMD-бэкенд для прувера.
Библиотека на JavaScript и WebAssembly для создания и проверки zkSNARK-доказательств с Groth16, PLONK и FFLONK, работающая с циркуитами circom.
Приложение для анонимного голосования в Cardano: участники подтверждают членство с помощью доказательств с нулевым разглашением, а голоса остаются конфиденциальными.