
Legion — это ткань аутентификации с нулевым разглашением, созданная для конфиденциальности
Настоящая аутентификация с нулевым разглашением с аппаратно-привязанными кольцевыми подписями устройств
Legion — это система аутентификации с нулевым разглашением без пароля, которая доказывает, что вы авторизованы, не раскрывая, кто вы.
Аутентифицируйтесь, используя только отпечаток пальца + 24-словную фразу восстановления (как в MetaMask). Без имен пользователей, без паролей, без серверных секретов.
| Свойство | Гарантия |
|---|---|
| Аутентификация | Без пароля (BIP-39 + отпечаток пальца) |
| Анонимность пользователя | 1 из 2^20 (1,048,576) |
| Анонимность устройства | 1 из 2^10 (1,024) на пользователя |
| Ошибка обоснованности | 2^-128 |
| Система доказательств | Halo2 PLONK (прозрачная настройка) |
| Вывод учётных данных | Blake3 (сид BIP-39) |
| Аппаратная привязка | WebAuthn Level 2 (TPM/Secure Enclave) |
| Несколько устройств | Макс. 2 устройства на учётную запись |
| Ограничение скорости | 5 попыток в час |
| Отзыв устройств | Мгновенный чёрный список |
git clone https://github.com/deadends/legion.git cd legion
chmod +x scripts/install.sh && ./scripts/install.sh
scripts\install.bat
**Вот и всё!** Откройте http://localhost в своём браузере.
### Что устанавливается
- ✅ Redis (хранилище сессий)
- ✅ Legion Server (проверка ZK-доказательств)
- ✅ Frontend (WASM-клиент)
- ✅ Nginx (обратный прокси)
**Производительность**: Регистрация ~5с, Аутентификация ~2мин (генерация доказательств k=14)
---
### Ручная настройка (без Docker)
<details>
<summary>Нажмите, чтобы развернуть инструкцию по установке</summary>```bash
# 1. Install Redis
# macOS: brew install redis && redis-server
# Ubuntu: sudo apt install redis && redis-server
# Windows: https://redis.io/docs/install/install-redis/install-redis-on-windows/
# 2. Run server (terminal 1)
cd legion-server
cargo run --release --features redis
# 3. Build frontend (terminal 2)
cd wasm-client
wasm-pack build --target web --release
python3 -m http.server 8000
# 4. Open http://localhost:8000
Для production-развертывания см. DEPLOYMENT.md
| Уровень безопасности | k | Время доказательства | Размер доказательства | Сценарий использования |
|---|---|---|---|---|
| Разработка | 12 | ~30с | 3.2 КБ | Тестирование |
| Продакшн | 14 | ~2мин | 3.4 КБ | Рекомендуется |
Тестовое оборудование: Lenovo IdeaPad 3 - Intel Core i3 11th Gen
Примечание: Производительность может варьироваться в зависимости от характеристик оборудования.
| Метрика | Значение | Примечания |
|---|---|---|
| Размер доказательства | 3,264 байт | 3.19 КБ сжато |
| Публичные входные данные | 10 | корень дерева пользователя, корень дерева устройства, nullifier и т.д. |
| Генерация параметров | 7.03с | Единоразовая настройка для каждого значения k |
| Создание схемы | 2.3мкс | Незначительные накладные расходы |
| Генерация верифицирующего ключа | 1.29с | Единоразовая генерация ключа |
| Верификация доказательства | 107.7мс | Фактическая проверка ZK-доказательства |
| Итоговая верификация | 8.43с | Сквозная верификация (без кэширования) |
Детализация:
| Метрика | Значение | Примечания |
|---|---|---|
| Размер доказательства | 3,392 байт | 3.31 КБ сжато |
| Публичные входные данные | 10 | корень дерева пользователя, корень дерева устройства, nullifier и т.д. |
| Генерация параметров | 100.78с | Единоразовая настройка для каждого значения k |
| Создание схемы | 5мкс | Незначительные накладные расходы |
| Генерация верифицирующего ключа | 12.89с | Единоразовая генерация ключа |
| Верификация доказательства | 967.2мс | Фактическая проверка ZK-доказательства |
| Итоговая верификация | 114.65с | Сквозная верификация (без кэширования) |
Детализация:
Важно: Генерация параметров и генерация ключа являются единоразовыми затратами, которые могут быть кэшированы. После кэширования верификация занимает всего ~108-967мс в зависимости от значения k. Текущая реализация пока не кэширует параметры.
Почему медленнее старых бенчмарков? Беспарольная схема теперь верифицирует ДВА дерева Меркла (пользователь + устройство) вместо одного, обеспечивая истинную анонимность на уровне устройства (1 из 1024 устройств на пользователя).
📖 Для подробного пошагового описания процесса аутентификации с криптографическими деталями см. ARCHITECTURE_FLOW.md