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

296 lines
8.5 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Квантовая Система Переводов 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 — Протокол идеальных денег**
*Время — единственная реальная валюта*
*Квантовая анонимность — защита приватности*