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