154 lines
6.3 KiB
Markdown
154 lines
6.3 KiB
Markdown
# Интеграция Криптографической Системы Узлов Montana
|
||
|
||
## ✅ Выполнено
|
||
|
||
### 1. Создана криптографическая система ([node_crypto.py](node_crypto.py))
|
||
- ML-DSA-65 генерация ключей
|
||
- Адрес формата: `mt + SHA256(public_key)[:20].hex()`
|
||
- Подпись и верификация транзакций
|
||
- Защита от IP hijacking, DNS spoofing, MITM атак
|
||
|
||
### 2. Обновлена документация
|
||
- **[NODE_CRYPTO_SYSTEM.md](NODE_CRYPTO_SYSTEM.md)** — полная спецификация криптографической системы
|
||
- **[NODE_WALLET_SYSTEM.md](NODE_WALLET_SYSTEM.md)** — переписан под криптографические адреса
|
||
- **[QUANTUM_TRANSFERS.md](QUANTUM_TRANSFERS.md)** — обновлены примеры переводов
|
||
|
||
### 3. Интегрировано в бот ([junona_bot_simple.py](junona_bot_simple.py))
|
||
- Импорт изменен: `from node_crypto import get_node_crypto_system`
|
||
- Команда `/node` работает с криптографическими адресами и alias
|
||
- Команда `/register_node` генерирует криптографические ключи
|
||
- Команда `/transfer` поддерживает:
|
||
- Telegram ID (пользователи)
|
||
- Криптографические адреса mt... (узлы)
|
||
- Alias вида `amsterdam.efir.org` (узлы)
|
||
|
||
### 4. Протестирована система ([test_node_crypto.py](test_node_crypto.py))
|
||
- ✅ Генерация ключей работает
|
||
- ✅ Подписи валидируются
|
||
- ✅ Атаки блокируются
|
||
- ✅ 6 узлов зарегистрированы (5 официальных + 1 тестовый)
|
||
|
||
## 🔐 Криптографические Адреса Официальных Узлов
|
||
|
||
```
|
||
🇳🇱 Amsterdam mta46b633d258059b90db46adffc6c5ca08f0e8d6c
|
||
alias: amsterdam.efir.org
|
||
IP: 72.56.102.240 (networking only)
|
||
|
||
🇷🇺 Moscow mta8ae14f74c38294b24c2f1c20c6406e6be929c93
|
||
alias: moscow.efir.org
|
||
IP: 176.124.208.93 (networking only)
|
||
|
||
🇰🇿 Almaty mtd07b0d9bdab2cb592f509bc1304c368ac703c45e
|
||
alias: almaty.efir.org
|
||
IP: 91.200.148.93 (networking only)
|
||
|
||
🇷🇺 St.Petersburg mtb397e136de69d92e5782f3fe14533a4a37b4ddec
|
||
alias: spb.efir.org
|
||
IP: 188.225.58.98 (networking only)
|
||
|
||
🇷🇺 Novosibirsk mtf3f0254b405382de38494e753924b4b92692bd2c
|
||
alias: novosibirsk.efir.org
|
||
IP: 147.45.147.247 (networking only)
|
||
```
|
||
|
||
## 📋 Примеры Использования
|
||
|
||
### Просмотр узла
|
||
```bash
|
||
# По криптографическому адресу
|
||
/node mta46b633d258059b90db46adffc6c5ca08f0e8d6c
|
||
|
||
# По alias (удобнее)
|
||
/node amsterdam.efir.org
|
||
|
||
# Список всех узлов
|
||
/node
|
||
```
|
||
|
||
### Перевод узлу
|
||
```bash
|
||
# По криптографическому адресу
|
||
/transfer mta46b633d258059b90db46adffc6c5ca08f0e8d6c 100
|
||
|
||
# По alias (удобнее)
|
||
/transfer amsterdam.efir.org 100
|
||
|
||
# Пользователю (как раньше)
|
||
/transfer 123456789 100
|
||
```
|
||
|
||
### Регистрация нового узла
|
||
```bash
|
||
# Генерирует криптографические ключи автоматически
|
||
/register_node tokyo "🇯🇵 Tokyo" 1.2.3.4 123456789 light
|
||
|
||
# Результат:
|
||
# ✅ Узел зарегистрирован
|
||
# Адрес: mtb9498a702435b2443bd8461574b80d8ed435159b
|
||
# Alias: tokyo.efir.org
|
||
# ⚠️ Private Key: [сохрани в безопасном месте!]
|
||
```
|
||
|
||
## 🛡️ Безопасность
|
||
|
||
### Защита от атак
|
||
- ✅ **IP Hijacking** — адрес не зависит от IP
|
||
- ✅ **DNS Spoofing** — alias только для удобства
|
||
- ✅ **Man-in-the-Middle** — все операции подписаны ML-DSA-65
|
||
- ✅ **Подделка транзакций** — требуется private key
|
||
|
||
### Важно
|
||
- IP адрес используется **только для networking**
|
||
- Криптографический адрес (mt...) — **истинный идентификатор кошелька**
|
||
- Alias — **только для удобства**, не влияет на безопасность
|
||
- Private key — **полный контроль над узлом**
|
||
|
||
## 🚀 Статус: MAINNET PRODUCTION
|
||
|
||
**Январь 2026:** ML-DSA-65 АКТИВЕН
|
||
|
||
- ✅ Все узлы на ML-DSA-65 (FIPS 204)
|
||
- ✅ Montana защищена от квантовых компьютеров с первого дня
|
||
- ✅ Нет legacy — чистый post-quantum
|
||
|
||
### Дополнительные функции
|
||
- [ ] Signature verification для переводов между узлами
|
||
- [ ] Multi-sig кошельки для узлов
|
||
- [ ] Hardware Security Module (HSM) для ключей
|
||
- [ ] Web dashboard для мониторинга узлов
|
||
- [ ] Автоматические награды за аптайм
|
||
|
||
## 📁 Файлы
|
||
|
||
### Созданы
|
||
- `node_crypto.py` — криптографическая система
|
||
- `test_node_crypto.py` — тесты
|
||
- `NODE_CRYPTO_SYSTEM.md` — документация
|
||
- `CRYPTO_INTEGRATION_COMPLETE.md` — этот файл
|
||
|
||
### Обновлены
|
||
- `junona_bot_simple.py` — интеграция в бот
|
||
- `NODE_WALLET_SYSTEM.md` — переписан под крипто
|
||
- `QUANTUM_TRANSFERS.md` — обновлены примеры
|
||
|
||
### Deprecated
|
||
- `node_wallet.py` — старая система (IP-based)
|
||
- `data/nodes/node_wallets.json` — старые кошельки
|
||
|
||
## 🎯 Результат
|
||
|
||
Montana теперь имеет **криптографически безопасную** систему узлов:
|
||
- Защита от IP hijacking
|
||
- Post-quantum готовность (миграция на ML-DSA-65)
|
||
- Удобные alias для пользователей
|
||
- Полная совместимость с Telegram кошельками пользователей
|
||
|
||
---
|
||
|
||
**Ɉ Montana — Протокол идеальных денег**
|
||
|
||
*Криптографическая защита от genesis*
|
||
|
||
*ML-DSA-65 MAINNET — Post-quantum от genesis*
|