montana/Русский/Бот/КВАНТОВЫЕ_ПЕРЕВОДЫ.md

296 lines
8.5 KiB
Markdown
Raw Permalink Normal View History

# Квантовая Система Переводов Montana
## Концепция
Montana реализует **квантовую архитектуру** переводов времени между кошельками:
### Принципы
1. **Адрес = Ключ**
- **Пользователи:** Telegram ID одновременно является адресом и ключом
- **Узлы:** Криптографический адрес (mt + SHA256(public_key)[:20])
- Никаких seed phrases для пользователей, приватный ключ ML-DSA-65/ML-DSA-65 для узлов
- Простая система — идентификатор = доступ
2. **Полная Анонимность**
- Публично видны только хэши адресов (SHA256)
- Суммы переводов скрыты
- Только proof транзакции публичен
- Узел видит **только свой баланс**
3. **Мгновенные Переводы**
- Переписывание баланса в БД
- Без блокчейн задержек
- Без комиссий
- Квантовая скорость
4. **Универсальность**
- Любой адрес → Любой адрес
- Пользователь → Пользователь
- Пользователь → Узел
- Узел → Узел
## Команды Бота
### `/balance`
Показывает твой баланс и адрес кошелька:
```
Ɉ
**Твой кошелек Montana**
**Адрес:** `123456789`
_(твой Telegram ID — адрес кошелька и ключ)_
💰 **Баланс:** 1500 секунд
🟢 **Присутствие:** активно
⏱️ **Секунд в T2:** 45
📊 **/tx** — история транзакций
💸 **/transfer <адрес> <сумма>** — перевод
⚠️ При смене Telegram аккаунта — переноси монеты заранее.
```
### `/transfer <адрес> <сумма>`
Перевод времени на другой адрес:
**Примеры:**
```bash
# Перевод пользователю (Telegram ID)
/transfer 987654321 100
# Перевод узлу Amsterdam (криптографический адрес)
/transfer mta46b633d258059b90db46adffc6c5ca08f0e8d6c 50
# Или по alias (удобнее)
/transfer amsterdam.efir.org 50
# Перевод узлу Moscow
/transfer mta8ae14f74c38294b24c2f1c20c6406e6be929c93 200
```
**Ответ:**
```
Ɉ
**Перевод выполнен**
💸 Отправлено: 100 секунд
📍 Адресат: `987654321`
🔐 Proof: `a7f8b3c2d1e4f5...`
💰 Новый баланс: 1400 секунд
_Транзакция анонимна. Публично виден только proof._
```
### `/tx`
Личная история транзакций:
```
Ɉ
**💳 Твои транзакции**
📤 **Отправлено**
🔐 `a7f8b3c2d1e4f5...`
📅 2026-01-19T12:34:56
📥 **Получено**
🔐 `b8g9c4e2f3h6i7...`
📅 2026-01-19T11:22:33
_Адреса анонимны. Суммы скрыты._
🌐 **/feed** — публичная лента TX
```
### `/feed`
Публичная лента всех транзакций Montana:
```
Ɉ
**📡 Публичная лента Montana**
🔐 `a7f8b3c2d1e4f5...`
📅 2026-01-19T12:34:56 • send
🔐 `b8g9c4e2f3h6i7...`
📅 2026-01-19T11:22:33 • send
олная анонимность: адреса хэшированы, суммы скрыты._
```
## Техническая Реализация
### База Данных (montana.db)
#### Таблица `wallets`
```sql
CREATE TABLE wallets (
address TEXT PRIMARY KEY, -- telegram_id или mt... (криптографический)
address_type TEXT NOT NULL, -- "user" или "node"
created_at TEXT NOT NULL,
last_seen TEXT NOT NULL,
balance INTEGER DEFAULT 0, -- в секундах
total_presence_seconds INTEGER DEFAULT 0
);
```
#### Таблица `coin_transfers`
```sql
CREATE TABLE coin_transfers (
id INTEGER PRIMARY KEY AUTOINCREMENT,
timestamp TEXT NOT NULL,
tx_proof TEXT UNIQUE NOT NULL, -- криптографический proof
from_hash TEXT NOT NULL, -- SHA256(from_address)
to_hash TEXT NOT NULL, -- SHA256(to_address)
amount_hidden INTEGER DEFAULT 1, -- сумма скрыта
tx_type TEXT DEFAULT 'transfer'
);
```
### API Montana DB
#### `send(from_addr, to_addr, amount)`
```python
from montana_db import get_db
db = get_db()
# Перевод 100 секунд (пользователь → узел)
proof = db.send(
from_addr="123456789",
to_addr="mta46b633d258059b90db46adffc6c5ca08f0e8d6c",
amount=100
)
print(f"TX proof: {proof}")
# TX proof: a7f8b3c2d1e4f567890abcdef1234567...
```
#### `balance(address)`
```python
# Баланс по адресу
balance = db.balance("123456789")
print(f"Balance: {balance} секунд")
```
#### `my_txs(address, limit)`
```python
# Личная история
txs = db.my_txs("123456789", limit=10)
for tx in txs:
print(f"{tx['direction']}: {tx['proof'][:16]}...")
```
#### `tx_feed(limit)`
```python
# Публичная лента
feed = db.tx_feed(limit=20)
for tx in feed:
print(f"{tx['timestamp']}: {tx['proof'][:16]}...")
```
## Квантовая Анонимность
### Что Видно Публично
```json
{
"timestamp": "2026-01-19T12:34:56Z",
"tx_proof": "a7f8b3c2d1e4f5...",
"tx_type": "send"
}
```
### Что Скрыто
- ❌ Адрес отправителя (только SHA256 хэш)
- ❌ Адрес получателя (только SHA256 хэш)
- ❌ Сумма перевода (amount_hidden = 1)
### Что Видишь Ты
- ✅ Свой баланс
- ✅ Направление своих TX (in/out)
- ✅ Proof своих транзакций
### Что Видит Узел
-**Только свой баланс**
- ✅ Направление своих TX (in/out)
- ❌ Чужие балансы
- ❌ Чужие адреса
- ❌ Суммы переводов
## Безопасность
### Криптография
```python
def hash_address(address: str) -> str:
"""SHA256 хэширование адреса"""
return hashlib.sha256(address.encode()).hexdigest()[:16]
def generate_tx_proof() -> str:
"""64-байтный криптографический proof"""
return secrets.token_hex(32)
```
### Защита
- 🔒 Адреса хэшированы SHA256
- 🔒 Proof генерируется `secrets.token_hex(32)`
- 🔒 Суммы не хранятся в публичной таблице
- 🔒 Узлы изолированы (видят только себя)
## Примеры Использования
### Пользователь → Пользователь
```bash
# Alice (123456) отправляет Bob (789012) 100 секунд
/transfer 789012 100
# Alice видит: баланс уменьшен на 100
# Bob видит: баланс увеличен на 100
# Сеть видит: только proof транзакции
```
### Пользователь → Узел
```bash
# Пользователь отправляет награду узлу Amsterdam
/transfer mta46b633d258059b90db46adffc6c5ca08f0e8d6c 50
# Или по alias (удобнее)
/transfer amsterdam.efir.org 50
# Публично: только proof
# Узел видит: +50 секунд на балансе
```
### Узел → Узел
```bash
# Amsterdam переводит Moscow (через админа с подписью)
/transfer mta8ae14f74c38294b24c2f1c20c6406e6be929c93 1000
# Требуется подпись private key узла Amsterdam
# Публично: только proof
# Оба узла видят свой баланс
# Никто не видит сумму перевода
```
## Roadmap
- [ ] Web интерфейс для переводов
- [ ] QR коды для адресов
- [ ] Автоматические recurring платежи
- [ ] Escrow смарт-контракты
- [ ] Multi-sig кошельки для узлов
- [ ] Lightning-style каналы для мгновенных микроплатежей
---
**Ɉ Montana — Протокол идеальных денег**
*Время — единственная реальная валюта*
*Квантовая анонимность — защита приватности*