352 lines
9.2 KiB
Markdown
352 lines
9.2 KiB
Markdown
# Системы Кошельков Montana — Полная Реализация
|
||
|
||
## Обзор
|
||
|
||
Montana реализует **две параллельные системы кошельков** с единой философией:
|
||
|
||
**Адрес = Ключ = Идентификатор**
|
||
|
||
Никаких seed phrases, приватных ключей, метамасок. Самый простой подход к децентрализованным деньгам.
|
||
|
||
---
|
||
|
||
## 1. Кошельки Пользователей
|
||
|
||
### Адрес = Telegram ID
|
||
|
||
```
|
||
Telegram ID: 123456789
|
||
↓
|
||
Адрес кошелька: 123456789
|
||
↓
|
||
Ключ доступа: 123456789
|
||
```
|
||
|
||
### Команды Бота
|
||
|
||
#### `/start`
|
||
Показывает приветствие с адресом кошелька:
|
||
```
|
||
Ɉ
|
||
|
||
Привет, Алексей.
|
||
|
||
Я — Юнона. Богиня виртуального пространства Montana.
|
||
|
||
Твой адрес Montana: `123456789`
|
||
_(это твой Telegram ID — одновременно адрес кошелька и ключ)_
|
||
|
||
💰 Твои монеты времени Montana привязаны к этому аккаунту.
|
||
⚠️ При смене Telegram аккаунта — переноси монеты заранее.
|
||
```
|
||
|
||
#### `/balance`
|
||
Показывает баланс и статус присутствия:
|
||
```
|
||
Ɉ
|
||
|
||
**Твой кошелек Montana**
|
||
|
||
**Адрес:** `123456789`
|
||
_(твой Telegram ID — адрес кошелька и ключ)_
|
||
|
||
💰 **Баланс:** 1500 секунд
|
||
|
||
🟢 **Присутствие:** активно
|
||
⏱️ **Секунд в T2:** 45
|
||
|
||
📊 **/tx** — история транзакций
|
||
💸 **/transfer <адрес> <сумма>** — перевод
|
||
```
|
||
|
||
---
|
||
|
||
## 2. Кошельки Узлов
|
||
|
||
### Адрес = IP Адрес
|
||
|
||
```
|
||
IP адрес: 72.56.102.240
|
||
↓
|
||
Адрес кошелька: 72.56.102.240
|
||
↓
|
||
Ключ доступа: 72.56.102.240
|
||
```
|
||
|
||
### Официальные Узлы
|
||
|
||
```
|
||
⭐️ 🇳🇱 Amsterdam — 72.56.102.240 — Priority #1
|
||
⭐️ 🇷🇺 Moscow — 176.124.208.93 — Priority #2
|
||
⭐️ 🇰🇿 Almaty — 91.200.148.93 — Priority #3
|
||
⭐️ 🇷🇺 St.Petersburg — 188.225.58.98 — Priority #4
|
||
⭐️ 🇷🇺 Novosibirsk — 147.45.147.247 — Priority #5
|
||
```
|
||
|
||
### Команды Бота
|
||
|
||
#### `/node`
|
||
Показывает все узлы Montana:
|
||
```
|
||
Ɉ
|
||
|
||
**MONTANA NETWORK**
|
||
|
||
🌐 **Всего узлов:** 5
|
||
⭐️ **Официальных:** 5
|
||
🔷 **Full nodes:** 5
|
||
💰 **Общий баланс сети:** 12,500 секунд
|
||
|
||
**Узлы:**
|
||
⭐️ 🇳🇱 Amsterdam — `72.56.102.240` — 3850s
|
||
⭐️ 🇷🇺 Moscow — `176.124.208.93` — 2100s
|
||
...
|
||
```
|
||
|
||
#### `/node <ip>`
|
||
Показывает детали узла:
|
||
```
|
||
Ɉ
|
||
|
||
**Узел Montana:** 🇳🇱 Amsterdam
|
||
|
||
**Адрес кошелька:** `72.56.102.240`
|
||
_(выделенный IP адрес — одновременно адрес кошелька и ключ)_
|
||
|
||
**Тип:** FULL NODE
|
||
**Оператор:** Montana Foundation
|
||
**Приоритет:** #1
|
||
|
||
💰 **Баланс:** 3850 секунд
|
||
|
||
📊 **Последние транзакции:**
|
||
• +100.50s — Награда за валидацию блоков
|
||
```
|
||
|
||
---
|
||
|
||
## 3. Квантовая Система Переводов
|
||
|
||
### Универсальные Переводы
|
||
|
||
Любой адрес → Любой адрес:
|
||
- Пользователь → Пользователь (`123456789` → `987654321`)
|
||
- Пользователь → Узел (`123456789` → `72.56.102.240`)
|
||
- Узел → Пользователь (`72.56.102.240` → `123456789`)
|
||
- Узел → Узел (`72.56.102.240` → `176.124.208.93`)
|
||
|
||
### Команды
|
||
|
||
#### `/transfer <адрес> <сумма>`
|
||
Мгновенный перевод:
|
||
```bash
|
||
# Пользователь → Пользователь
|
||
/transfer 987654321 100
|
||
|
||
# Пользователь → Узел
|
||
/transfer 72.56.102.240 50
|
||
```
|
||
|
||
**Результат:**
|
||
```
|
||
Ɉ
|
||
|
||
✅ **Перевод выполнен**
|
||
|
||
💸 Отправлено: 100 секунд
|
||
📍 Адресат: `987654321`
|
||
🔐 Proof: `a7f8b3c2d1e4f5...`
|
||
|
||
💰 Новый баланс: 1400 секунд
|
||
|
||
_Транзакция анонимна. Публично виден только proof._
|
||
```
|
||
|
||
#### `/tx`
|
||
Личная история транзакций:
|
||
```
|
||
Ɉ
|
||
|
||
**💳 Твои транзакции**
|
||
|
||
📤 **Отправлено**
|
||
🔐 `a7f8b3c2d1e4f5...`
|
||
📅 2026-01-19T12:34:56
|
||
|
||
📥 **Получено**
|
||
🔐 `b8g9c4e2f3h6i7...`
|
||
📅 2026-01-19T11:22:33
|
||
|
||
_Адреса анонимны. Суммы скрыты._
|
||
```
|
||
|
||
#### `/feed`
|
||
Публичная лента всех транзакций:
|
||
```
|
||
Ɉ
|
||
|
||
**📡 Публичная лента Montana**
|
||
|
||
🔐 `a7f8b3c2d1e4f5...`
|
||
📅 2026-01-19T12:34:56 • send
|
||
|
||
_Полная анонимность: адреса хэшированы, суммы скрыты._
|
||
```
|
||
|
||
---
|
||
|
||
## 4. Квантовая Анонимность
|
||
|
||
### Что Видно Публично (/feed)
|
||
- ✅ Proof транзакции (криптографический хэш)
|
||
- ✅ Timestamp
|
||
- ✅ Тип транзакции
|
||
- ❌ Адреса (только SHA256 хэши)
|
||
- ❌ Суммы (amount_hidden = 1)
|
||
|
||
### Что Видишь Ты (/balance, /tx)
|
||
- ✅ Свой полный баланс
|
||
- ✅ Направление своих TX (in/out)
|
||
- ✅ Proof своих транзакций
|
||
- ❌ Чужие балансы
|
||
- ❌ Чужие адреса
|
||
- ❌ Суммы переводов
|
||
|
||
### Квантовая Архитектура
|
||
- **Пользователь видит:** только свой баланс
|
||
- **Узел видит:** только свой баланс
|
||
- **Сеть видит:** только proof (без адресов и сумм)
|
||
|
||
Это квантовая система — каждый участник изолирован и видит только свое состояние.
|
||
|
||
---
|
||
|
||
## 5. Техническая Реализация
|
||
|
||
### База Данных (montana.db)
|
||
|
||
#### Таблица `wallets`
|
||
```sql
|
||
CREATE TABLE wallets (
|
||
address TEXT PRIMARY KEY, -- telegram_id или ip
|
||
address_type TEXT NOT NULL, -- "user" или "node"
|
||
balance INTEGER DEFAULT 0, -- в секундах
|
||
...
|
||
);
|
||
```
|
||
|
||
#### Таблица `coin_transfers`
|
||
```sql
|
||
CREATE TABLE coin_transfers (
|
||
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, -- сумма скрыта
|
||
...
|
||
);
|
||
```
|
||
|
||
### API Montana
|
||
|
||
```python
|
||
from time_bank import get_time_bank
|
||
|
||
bank = get_time_bank()
|
||
|
||
# Баланс
|
||
balance = bank.balance("123456789")
|
||
|
||
# Перевод
|
||
result = bank.send("123456789", "72.56.102.240", 100)
|
||
proof = result['proof']
|
||
|
||
# Личная история
|
||
txs = bank.my_txs("123456789", limit=10)
|
||
|
||
# Публичная лента
|
||
feed = bank.tx_feed(limit=20)
|
||
```
|
||
|
||
---
|
||
|
||
## 6. Все Команды Бота
|
||
|
||
### Кошельки Пользователей
|
||
- `/start` — приветствие с адресом кошелька
|
||
- `/balance` — твой баланс и статус
|
||
|
||
### Кошельки Узлов
|
||
- `/node` — все узлы Montana
|
||
- `/node <ip>` — детали узла
|
||
- `/network` — сводка по сети
|
||
- `/register_node <ip> <name> <location> <operator> [type]` — регистрация узла (admin)
|
||
|
||
### Переводы
|
||
- `/transfer <адрес> <сумма>` — перевод времени
|
||
- `/tx` — твои транзакции
|
||
- `/feed` — публичная лента TX
|
||
|
||
### Гиппокамп
|
||
- `/stream` — поток мыслей
|
||
- `/export` — экспорт мыслей в MD
|
||
|
||
### Другое
|
||
- `/help` — помощь
|
||
|
||
---
|
||
|
||
## 7. Философия
|
||
|
||
### Простота
|
||
- Адрес = Ключ = Идентификатор
|
||
- Никаких seed phrases
|
||
- Никаких метамасок
|
||
- Просто твой Telegram ID или IP адрес
|
||
|
||
### Анонимность
|
||
- Публично видны только proof
|
||
- Адреса хэшированы SHA256
|
||
- Суммы скрыты
|
||
- Квантовая изоляция
|
||
|
||
### Мгновенность
|
||
- Переводы в микросекундах
|
||
- Без блокчейн задержек
|
||
- Без комиссий
|
||
- Прямая запись в БД
|
||
|
||
### Универсальность
|
||
- Любой адрес → Любой адрес
|
||
- Пользователи ↔ Узлы
|
||
- Единая система для всех
|
||
|
||
---
|
||
|
||
## 8. Документация
|
||
|
||
- **NODE_WALLET_SYSTEM.md** — кошельки узлов
|
||
- **QUANTUM_TRANSFERS.md** — система переводов
|
||
- **WALLET_SYSTEMS_SUMMARY.md** — этот файл
|
||
|
||
---
|
||
|
||
## 9. Тестирование
|
||
|
||
```bash
|
||
# Тест кошельков узлов
|
||
python3 test_node_wallet.py
|
||
|
||
# Тест квантовых переводов
|
||
python3 test_quantum_transfers.py
|
||
```
|
||
|
||
---
|
||
|
||
**Ɉ Montana — Протокол идеальных денег**
|
||
|
||
*Время — единственная реальная валюта*
|
||
|
||
*Адрес = Ключ = Идентификатор*
|
||
|
||
*Квантовая анонимность — защита приватности*
|