769 lines
26 KiB
Markdown
769 lines
26 KiB
Markdown
# TIME_BANK — Банк Времени Montana
|
||
|
||
**Техническая Спецификация v3.0**
|
||
**Дата:** Январь 2026
|
||
**Автор:** Alejandro Montana
|
||
|
||
---
|
||
|
||
## Abstract
|
||
|
||
TIME_BANK — протокол эмиссии монет времени (金元Ɉ) на основе доказанного присутствия. Единственная валюта, где эмиссия ограничена **временем как физическим ресурсом**.
|
||
|
||
**Ключевая формула:**
|
||
```
|
||
1 секунда присутствия = 1 Ɉ × halving_coefficient
|
||
```
|
||
|
||
**Свойства:**
|
||
- Динамическая эмиссия (зависит от участников)
|
||
- Халвинг каждые τ₄ (4 года)
|
||
- Банк подтверждает время, вычитает свои секунды
|
||
|
||
|
||
---
|
||
|
||
# ЧАСТЬ I: ЭКОНОМИЧЕСКАЯ МОДЕЛЬ
|
||
|
||
## 1. Определение 金元Ɉ
|
||
|
||
**金元** (jīn yuán) — буквально "золотой юань".
|
||
**Ɉ** (Unicode U+0248) — Temporal Time Unit.
|
||
|
||
```
|
||
金元Ɉ = Время, доказанное присутствием
|
||
```
|
||
|
||
> *"Время — единственный ресурс, распределённый одинаково между всеми людьми."*
|
||
|
||
### 1.1 Фундаментальное свойство
|
||
|
||
```
|
||
lim(evidence → ∞) 1 Ɉ → 1 секунда
|
||
|
||
∀t: Trust(t) < 1
|
||
```
|
||
|
||
**Ɉ не равен секунде.** Ɉ асимптотически приближается к секунде по мере накопления доказательств.
|
||
|
||
| Доказательства | Точность | Доверие |
|
||
|----------------|----------|---------|
|
||
| 1 подпись | ±10 минут | ~0.1 |
|
||
| 1 τ₂ (10 мин) | ±1 минута | ~0.5 |
|
||
| 1 τ₃ (14 дней) | ±1 секунда | ~0.99 |
|
||
| 1 τ₄ (4 года) | ±0.1 секунды | ~0.9999 |
|
||
|
||
---
|
||
|
||
## 2. Временные координаты
|
||
|
||
Montana использует иерархию временных единиц:
|
||
|
||
| Единица | Длительность | Назначение |
|
||
|---------|--------------|------------|
|
||
| **τ₁** | 1 минута | Подпись присутствия (ML-DSA-65) |
|
||
| **τ₂** | 10 минут | Слайс (блок эмиссии) |
|
||
| **τ₃** | 14 дней | Чекпоинт (2,016 τ₂) |
|
||
| **τ₄** | 4 года | Эпоха (104 τ₃) — **ХАЛВИНГ** |
|
||
|
||
```
|
||
τ₄ содержит 104 × τ₃
|
||
τ₃ содержит 2,016 × τ₂
|
||
τ₂ содержит 10 × τ₁
|
||
```
|
||
|
||
**Иерархия:**
|
||
```
|
||
1 τ₄ = 104 τ₃ = 209,664 τ₂ = 2,096,640 τ₁
|
||
```
|
||
|
||
---
|
||
|
||
## 3. Механизм эмиссии
|
||
|
||
### 3.1 Принцип работы
|
||
|
||
**Банк Времени** — не участник, а **валидатор времени**:
|
||
|
||
```
|
||
Банк говорит: "Прошло ровно 10 минут (600 секунд)"
|
||
Банк всегда присутствует 600 секунд за τ₂
|
||
Банк вычитает свои секунды из эмиссии
|
||
```
|
||
|
||
### 3.2 Формула эмиссии
|
||
|
||
```python
|
||
# 1. Считаем всех участников (включая банк)
|
||
total_seconds = sum(user1, user2, ..., user_N) + bank_600_seconds
|
||
|
||
# 2. Банк вычитает себя
|
||
total_seconds -= bank_600_seconds
|
||
|
||
# 3. Применяем халвинг
|
||
emission = total_seconds × halving_coefficient(τ₄_count)
|
||
|
||
# Упрощённо:
|
||
emission = sum(только_пользователи) × halving_coefficient
|
||
```
|
||
|
||
### 3.3 Динамическая эмиссия
|
||
|
||
Эмиссия **не фиксированная**, а зависит от участников:
|
||
|
||
| Участники | Секунды за τ₂ | Эмиссия (τ₄=0) | Эмиссия (τ₄=1) |
|
||
|-----------|---------------|----------------|----------------|
|
||
| 1 | 600 | 600 Ɉ | 300 Ɉ |
|
||
| 10 | 6,000 | 6,000 Ɉ | 3,000 Ɉ |
|
||
| 100 | 60,000 | 60,000 Ɉ | 30,000 Ɉ |
|
||
| 1,000 | 600,000 | 600,000 Ɉ | 300,000 Ɉ |
|
||
|
||
**Чем больше участников, тем больше эмиссия.**
|
||
|
||
---
|
||
|
||
## 4. TIME_BANK Reserve — 21 млн минут
|
||
|
||
### 4.1 Фундаментальный принцип
|
||
|
||
**TIME_BANK имеет конечный резерв времени:**
|
||
|
||
```
|
||
BANK_TOTAL_MINUTES = 21,000,000 минут
|
||
BANK_TOTAL_SECONDS = 1,260,000,000 секунд
|
||
```
|
||
|
||
> *21 миллион минут — как 21 миллион Bitcoin. Конечный ресурс.*
|
||
|
||
### 4.2 Расход резерва
|
||
|
||
Банк **всегда тратит 10 минут за каждый T2**, подтверждая что прошло ровно 10 минут:
|
||
|
||
```python
|
||
# Каждый T2 (10 минут)
|
||
bank_seconds_spent += 600 # Банк тратит 10 минут из резерва
|
||
|
||
# Проверка исчерпания
|
||
if bank_seconds_spent >= BANK_TOTAL_SECONDS:
|
||
bank_exhausted = True # Oracle Mode
|
||
```
|
||
|
||
### 4.3 График исчерпания
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| Резерв | 21,000,000 минут |
|
||
| Расход/T2 | 10 минут |
|
||
| Всего T2 | 2,100,000 |
|
||
| Срок | **~40 лет** |
|
||
|
||
```
|
||
21,000,000 минут ÷ 525,600 мин/год = 39.95 лет
|
||
```
|
||
|
||
**По годам:**
|
||
|
||
| Год | Потрачено | Осталось | % резерва |
|
||
|-----|-----------|----------|-----------|
|
||
| 0 | 0 | 21,000,000 | 100% |
|
||
| 4 | 2,102,400 | 18,897,600 | 90% |
|
||
| 10 | 5,256,000 | 15,744,000 | 75% |
|
||
| 20 | 10,512,000 | 10,488,000 | 50% |
|
||
| 30 | 15,768,000 | 5,232,000 | 25% |
|
||
| 40 | 21,024,000 | 0 | 0% |
|
||
|
||
### 4.4 Oracle Mode
|
||
|
||
Когда резерв исчерпан (~40 лет), TIME_BANK переходит в **Oracle Mode**:
|
||
|
||
```
|
||
╔═══════════════════════════════════════════════════════════╗
|
||
║ ⏳ TIME_BANK RESERVE EXHAUSTED — ORACLE MODE ║
|
||
╚═══════════════════════════════════════════════════════════╝
|
||
|
||
Банк потратил все 21 млн минут
|
||
Теперь чистый оракул — продолжает верифицировать время
|
||
```
|
||
|
||
**В Oracle Mode банк:**
|
||
- ✅ Продолжает верифицировать T2 (подтверждать время)
|
||
- ✅ Участники продолжают получать монеты за присутствие
|
||
- ❌ Банк больше не "тратит" из резерва
|
||
- 📡 Становится чистым временным оракулом
|
||
|
||
### 4.5 Связь с халвингом
|
||
|
||
Резерв и халвинг — **независимые механизмы**:
|
||
|
||
| Механизм | Что ограничивает | Когда срабатывает |
|
||
|----------|------------------|-------------------|
|
||
| **Резерв 21M** | Время жизни банка как эмитента | ~40 лет |
|
||
| **Халвинг** | Эмиссию за секунду | Каждые 4 года (τ₄) |
|
||
|
||
```
|
||
Год 0-4: Резерв 100%, Халвинг 1.0x
|
||
Год 4-8: Резерв 90%, Халвинг 0.5x
|
||
Год 8-12: Резерв 75%, Халвинг 0.25x
|
||
...
|
||
Год 36-40: Резерв 10%, Халвинг 0.001x
|
||
Год 40+: Резерв 0%, Oracle Mode
|
||
```
|
||
|
||
### 4.6 Почему 21 миллион?
|
||
|
||
```
|
||
Bitcoin: 21,000,000 BTC — ограничено математикой
|
||
Montana: 21,000,000 минут — ограничено временем
|
||
|
||
21M — символ конечности.
|
||
Время банка конечно. Время участников — бесконечно.
|
||
```
|
||
|
||
---
|
||
|
||
## 5. Халвинг (Halving)
|
||
|
||
### 5.1 Механизм
|
||
|
||
Каждые **τ₄ (4 года)** эмиссия делится на 2:
|
||
|
||
```python
|
||
halving_coefficient(τ₄_count) = 1.0 / (2 ** τ₄_count)
|
||
```
|
||
|
||
### 5.2 График эмиссии
|
||
|
||
| Период | τ₄ | Коэффициент | За 1 секунду | Эмиссия за τ₂ (100 участников) |
|
||
|--------|-----|-------------|--------------|--------------------------------|
|
||
| 0-4 года | 0 | 1.0 | 1.0 Ɉ | 60,000 Ɉ |
|
||
| 4-8 лет | 1 | 0.5 | 0.5 Ɉ | 30,000 Ɉ |
|
||
| 8-12 лет | 2 | 0.25 | 0.25 Ɉ | 15,000 Ɉ |
|
||
| 12-16 лет | 3 | 0.125 | 0.125 Ɉ | 7,500 Ɉ |
|
||
| 16-20 лет | 4 | 0.0625 | 0.0625 Ɉ | 3,750 Ɉ |
|
||
|
||
### 5.3 Сравнение с Bitcoin
|
||
|
||
| Параметр | Bitcoin | 金元Ɉ |
|
||
|----------|---------|-------|
|
||
| Интервал халвинга | 210,000 блоков (~4 года) | τ₄ (ровно 4 года) |
|
||
| Механизм | Деление награды на 2 | Деление эмиссии на 2 |
|
||
| Детерминированность | Количество блоков | Физическое время |
|
||
| Ускорение | Можно (больше хешрейта) | **Невозможно** |
|
||
|
||
**Время нельзя ускорить, купить или подделать.**
|
||
|
||
---
|
||
|
||
## 6. Распределение
|
||
|
||
### 6.1 Параллельная эмиссия
|
||
|
||
Каждый участник получает монеты **параллельно** за своё присутствие:
|
||
|
||
```
|
||
User A: 450 сек × 1.0 = 450 Ɉ
|
||
User B: 600 сек × 1.0 = 600 Ɉ
|
||
User C: 150 сек × 1.0 = 150 Ɉ
|
||
───────────────────────────────
|
||
Эмиссия: 1,200 Ɉ
|
||
Распределено: 1,200 Ɉ
|
||
Резерв: 0 (нет резерва!)
|
||
```
|
||
|
||
**НЕТ лотереи, НЕТ резерва** — всё распределяется участникам.
|
||
|
||
### 6.2 Принцип "личного банка времени"
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ ПАРАЛЛЕЛЬНАЯ ЭМИССИЯ │
|
||
├─────────────────────────────────────────────────────────────┤
|
||
│ User A │ Присутствовал 450 сек │ +450 Ɉ │
|
||
│ User B │ Присутствовал 600 сек │ +600 Ɉ │
|
||
│ User C │ Присутствовал 150 сек │ +150 Ɉ │
|
||
│ Банк │ 600 сек (вычитается) │ +0 Ɉ │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
|
||
Каждый получает из своего "личного банка времени"
|
||
Сеть распределяет параллельно, не из общего пула
|
||
```
|
||
|
||
---
|
||
|
||
## 7. Свойства 金元Ɉ
|
||
|
||
### 7.1 Неподделываемость
|
||
|
||
```
|
||
Подделать Ɉ = Подделать время
|
||
Подделать время = Нарушить физику
|
||
∴ Ɉ неподделываем
|
||
```
|
||
|
||
### 7.2 Неинфлируемость
|
||
|
||
```
|
||
Эмиссия Ɉ ограничена временем
|
||
Все люди имеют одинаковое количество времени
|
||
Халвинг делит эмиссию на 2 каждые 4 года
|
||
∴ Ɉ распределён справедливо и предсказуемо
|
||
```
|
||
|
||
### 7.3 Верифицируемость
|
||
|
||
Каждый Ɉ имеет доказательство:
|
||
|
||
```
|
||
├── Подпись присутствия (ML-DSA-65)
|
||
├── Включение в presence_root (Merkle)
|
||
├── Подтверждение в таймчейне (хеш-цепь)
|
||
└── Аттестация сетью (P2P)
|
||
```
|
||
|
||
---
|
||
|
||
## 8. Формула ценности
|
||
|
||
```
|
||
V(Ɉ) = f(доказательства) × g(время) × h(участники) × k(халвинг)
|
||
|
||
где:
|
||
f(доказательства) → 1 при evidence → ∞
|
||
g(время) — монотонно возрастает
|
||
h(участники) — сетевой эффект
|
||
k(халвинг) — дефляционная компонента
|
||
```
|
||
|
||
**Ценность Ɉ растёт с:**
|
||
1. Количеством накопленных доказательств
|
||
2. Длительностью существования сети
|
||
3. Числом участников сети
|
||
4. Каждым халвингом (дефицит)
|
||
|
||
---
|
||
|
||
# ЧАСТЬ II: ТЕХНИЧЕСКАЯ РЕАЛИЗАЦИЯ
|
||
|
||
## 9. Архитектура TIME_BANK
|
||
|
||
### 9.1 Основные компоненты
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ TIME_BANK v3.0 │
|
||
├─────────────────────────────────────────────────────────────┤
|
||
│ Protocol │ Константы протокола │
|
||
│ halving() │ Коэффициент халвинга │
|
||
│ TimeBank │ Основной класс эмиссии │
|
||
│ PresenceCache │ Кэш присутствия участников │
|
||
│ _finalize_t2() │ Завершение слайса, начисление монет │
|
||
│ Presence Proof │ ML-DSA-65 подписи присутствия │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
### 9.2 Константы протокола
|
||
|
||
```python
|
||
class Protocol:
|
||
VERSION = "3.0"
|
||
|
||
# Сеть
|
||
NODES_COUNT = 5 # 5 узлов Montana
|
||
BANK_PRESENCE_PER_T2 = 600 # Банк всегда 600 сек
|
||
|
||
# TIME_BANK RESERVE — 21 млн минут (~40 лет)
|
||
BANK_TOTAL_MINUTES = 21_000_000 # 21 млн минут
|
||
BANK_TOTAL_SECONDS = 1_260_000_000 # 21M × 60
|
||
|
||
# Временные координаты
|
||
TAU1_INTERVAL_SEC = 60 # τ₁ = 1 минута
|
||
T2_DURATION_SEC = 10 * 60 # τ₂ = 10 минут
|
||
TAU3_DURATION_SEC = 14 * 24 * 60 * 60 # τ₃ = 14 дней
|
||
TAU4_DURATION_SEC = 4 * 365 * 24 * 60 * 60 # τ₄ = 4 года
|
||
|
||
# Иерархия
|
||
T2_PER_TAU3 = 2016 # τ₂ в τ₃
|
||
TAU3_PER_YEAR = 26 # τ₃ в году
|
||
TAU3_PER_TAU4 = 104 # τ₃ в τ₄
|
||
|
||
# Монеты
|
||
COINS_PER_SECOND = 1 # 1 секунда = 1 монета
|
||
INACTIVITY_LIMIT_SEC = 3 * 60 # 3 минуты без активности
|
||
```
|
||
|
||
---
|
||
|
||
## 10. Халвинг
|
||
|
||
### 10.1 Реализация
|
||
|
||
```python
|
||
def halving_coefficient(tau4_count: int) -> float:
|
||
"""
|
||
Коэффициент халвинга — деление на 2 каждые τ₄
|
||
|
||
Returns:
|
||
1.0 / (2 ** tau4_count)
|
||
|
||
Примеры:
|
||
halving_coefficient(0) → 1.0
|
||
halving_coefficient(1) → 0.5
|
||
halving_coefficient(2) → 0.25
|
||
halving_coefficient(3) → 0.125
|
||
"""
|
||
return 1.0 / (2 ** tau4_count)
|
||
```
|
||
|
||
### 10.2 Использование
|
||
|
||
```python
|
||
# В момент завершения τ₂
|
||
coef = halving_coefficient(self.tau4_count)
|
||
|
||
# Эмиссия с халвингом
|
||
emission = total_users_seconds × coef
|
||
|
||
# Распределение с халвингом
|
||
user_coins = user_seconds × coef
|
||
```
|
||
|
||
---
|
||
|
||
## 11. Presence Proof — Доказательство присутствия
|
||
|
||
### 11.1 Криптография ML-DSA-65
|
||
|
||
| Параметр | Значение |
|
||
|----------|----------|
|
||
| Алгоритм | ML-DSA-65 (Dilithium) |
|
||
| Стандарт | FIPS 204 |
|
||
| Уровень | NIST Level 3 (128-bit post-quantum) |
|
||
| Private Key | 4032 байт |
|
||
| Public Key | 1952 байт |
|
||
| Signature | 3309 байт |
|
||
|
||
### 11.2 Подпись присутствия
|
||
|
||
Каждую **τ₁ (1 минуту)** узел подписывает:
|
||
|
||
```python
|
||
# Формат сообщения
|
||
message = f"MONTANA_PRESENCE_V1:{timestamp}:{prev_hash}:{pubkey}:{t2_index}"
|
||
|
||
# POST-QUANTUM подпись
|
||
signature = ML_DSA_65.sign(private_key, message.encode())
|
||
|
||
# Hash для цепочки proofs
|
||
proof_hash = SHA256(f"{message}:{signature}")
|
||
```
|
||
|
||
### 11.3 Цепочка доказательств
|
||
|
||
```
|
||
┌─────────────────────────────────────────────────────────────┐
|
||
│ PRESENCE PROOF CHAIN │
|
||
├─────────────────────────────────────────────────────────────┤
|
||
│ Genesis │ prev_hash = "0000...0000" │
|
||
│ Proof #1 │ prev_hash = Genesis.hash │
|
||
│ Proof #2 │ prev_hash = Proof#1.hash │
|
||
│ ... │ ... │
|
||
└─────────────────────────────────────────────────────────────┘
|
||
```
|
||
|
||
---
|
||
|
||
## 12. Финализация τ₂
|
||
|
||
### 12.1 Алгоритм
|
||
|
||
```python
|
||
def _finalize_t2(self):
|
||
"""
|
||
Завершает T2, начисляет монеты с халвингом
|
||
|
||
Шаги:
|
||
1. Считаем сумму всех секунд присутствия
|
||
2. Банк вычитает свои 600 секунд
|
||
3. Применяем халвинг
|
||
4. Распределяем каждому
|
||
"""
|
||
# 1. Коэффициент халвинга
|
||
coef = halving_coefficient(self.tau4_count)
|
||
|
||
# 2. Сумма секунд участников
|
||
total_users_seconds = sum(user.t2_seconds for user in users)
|
||
|
||
# 3. Банк подтверждает 600 секунд
|
||
bank_seconds = 600
|
||
|
||
# 4. Эмиссия = сумма × халвинг
|
||
emission = total_users_seconds × coef
|
||
|
||
# 5. Распределяем каждому
|
||
for user in users:
|
||
coins = user.t2_seconds × coef
|
||
user.balance += coins
|
||
```
|
||
|
||
### 12.2 Проверка τ₃ и τ₄
|
||
|
||
```python
|
||
# Каждые 2016 τ₂ = τ₃ checkpoint
|
||
if t2_count % 2016 == 0:
|
||
tau3_count += 1
|
||
log("τ₃ CHECKPOINT")
|
||
|
||
# Каждые 104 τ₃ = τ₄ epoch — ХАЛВИНГ!
|
||
if tau3_count % 104 == 0:
|
||
tau4_count += 1
|
||
log("🔥 τ₄ HALVING — Эмиссия ÷ 2")
|
||
```
|
||
|
||
---
|
||
|
||
## 13. Интеграция с Montana
|
||
|
||
### 13.1 Философия
|
||
|
||
```
|
||
Montana = Организм
|
||
├── TIME_BANK = Орган (эмиссия монет времени)
|
||
├── ML-DSA-65 = Иммунная система (пост-квантовая защита)
|
||
├── 3-Mirror = Нервная система (синхронизация узлов)
|
||
├── Юнона (бот) = Лицо (интерфейс с пользователем)
|
||
└── Гиппокамп = Память (внешнее хранилище событий)
|
||
```
|
||
|
||
### 13.2 Юнона — Лицо Montana
|
||
|
||
**Бот отражает всё на "лице":**
|
||
|
||
```python
|
||
# Юнона показывает баланс
|
||
@bot.message_handler(commands=['balance'])
|
||
async def show_balance(message):
|
||
balance = time_bank.balance(user_id)
|
||
await bot.reply(f"💰 Баланс: {balance} Ɉ")
|
||
|
||
# Юнона показывает присутствие
|
||
@bot.message_handler(commands=['presence'])
|
||
async def show_presence(message):
|
||
info = time_bank.get(user_id)
|
||
await bot.reply(f"⏱️ Присутствие: {info['seconds']} сек")
|
||
|
||
# Юнона показывает халвинг
|
||
@bot.message_handler(commands=['halving'])
|
||
async def show_halving(message):
|
||
stats = time_bank.stats()
|
||
coef = stats['halving_coefficient']
|
||
await bot.reply(f"📊 Халвинг: {coef:.4f}x")
|
||
```
|
||
|
||
---
|
||
|
||
## 14. Защита от атак
|
||
|
||
| Атака | Механизм защиты | Статус |
|
||
|-------|-----------------|--------|
|
||
| Quantum | ML-DSA-65 post-quantum | ✅ |
|
||
| IP hijacking | Криптографические адреса | ✅ |
|
||
| Harvest now decrypt later | ML-DSA-65 с genesis | ✅ |
|
||
| Sybil | FIDO2 биометрия | ⚠️ Mock |
|
||
| Bot | Случайные интервалы проверки | ⚠️ Частично |
|
||
| Time manipulation | Физические ограничения | ✅ |
|
||
|
||
---
|
||
|
||
## 15. Сравнение с другими системами
|
||
|
||
| Система | Ограничение | Можно ускорить? | Справедливость |
|
||
|---------|-------------|-----------------|----------------|
|
||
| Bitcoin | Вычисления | ✅ Да (хешрейт) | Неравномерно |
|
||
| Ethereum | Stake | ✅ Да (купить) | Плутократия |
|
||
| 金元Ɉ | **Время** | ❌ **НЕТ** | **Равномерно** |
|
||
|
||
```
|
||
Золото ограничено в пространстве → добыча
|
||
Bitcoin ограничен вычислениями → майнинг
|
||
金元Ɉ ограничен временем → присутствие
|
||
```
|
||
|
||
**Время нельзя украсть, подделать или ускорить.**
|
||
|
||
---
|
||
|
||
## 16. Примеры использования
|
||
|
||
### 16.1 Начисление монет
|
||
|
||
```python
|
||
from time_bank import get_time_bank
|
||
|
||
bank = get_time_bank()
|
||
|
||
# Начать присутствие
|
||
bank.start(user_id="123456789", addr_type="telegram")
|
||
|
||
# Активность каждые N секунд
|
||
bank.activity(user_id="123456789")
|
||
|
||
# Каждые 600 секунд автоматически начисляются монеты
|
||
# (с учётом халвинга)
|
||
|
||
# Завершить присутствие
|
||
bank.end(user_id="123456789")
|
||
|
||
# Проверить баланс
|
||
balance = bank.balance(user_id="123456789")
|
||
print(f"Баланс: {balance} Ɉ")
|
||
```
|
||
|
||
### 16.2 Перевод монет
|
||
|
||
```python
|
||
# Перевод от Alice к Bob
|
||
result = bank.send(
|
||
from_addr="alice_123",
|
||
to_addr="bob_456",
|
||
amount=100
|
||
)
|
||
|
||
if result['success']:
|
||
print(f"TX: {result['proof']}")
|
||
```
|
||
|
||
### 16.3 Статистика
|
||
|
||
```python
|
||
stats = bank.stats()
|
||
|
||
print(f"Эмиссия/T2: {stats['emission_per_t2']} Ɉ")
|
||
print(f"Халвинг: {stats['halving_coefficient']:.4f}x")
|
||
print(f"τ₃: {stats['tau3_count']}")
|
||
print(f"τ₄: {stats['tau4_count']}")
|
||
print(f"Год: {stats['current_year']}")
|
||
```
|
||
|
||
---
|
||
|
||
## 16A. HTTP API для iOS/Web
|
||
|
||
### Эндпоинты
|
||
|
||
**Баланс** — Получить баланс по Telegram ID:
|
||
```
|
||
GET http://72.56.102.240/api/balance/{tg_id}
|
||
|
||
Response:
|
||
{
|
||
"tg_id": "123456789",
|
||
"balance": 1500,
|
||
"confirmed": 1500,
|
||
"pending": 0,
|
||
"slices": {
|
||
"tau1": 25.0, // 1500 / 60
|
||
"tau2": 2.5, // 1500 / 600
|
||
"tau3": 0.00124, // 1500 / 1209600
|
||
"tau4": 0.0000119 // 1500 / 126230400
|
||
},
|
||
"network": {
|
||
"total_reserve": 21000000,
|
||
"total_mined": 5000,
|
||
"remaining": 20995000
|
||
}
|
||
}
|
||
```
|
||
|
||
**Присутствие** — Регистрация секунд присутствия:
|
||
```
|
||
POST http://72.56.102.240/api/presence
|
||
Headers:
|
||
Content-Type: application/json
|
||
X-Device-ID: {tg_id}
|
||
|
||
Body:
|
||
{
|
||
"seconds": 60 // 1-3600
|
||
}
|
||
|
||
Response:
|
||
{
|
||
"success": true,
|
||
"added": 60,
|
||
"balance": 1560,
|
||
"tg_id": "123456789"
|
||
}
|
||
```
|
||
|
||
### Архитектура синхронизации
|
||
|
||
```
|
||
┌─────────────┐ POST /api/presence ┌──────────────────┐
|
||
│ iOS App │ ──────────────────────────▶│ Amsterdam Proxy │
|
||
│ (Montana) │ │ 72.56.102.240 │
|
||
└─────────────┘ └────────┬─────────┘
|
||
│ │
|
||
│ GET /api/balance/{tg_id} │ proxy
|
||
│ ▼
|
||
│ ┌──────────────────┐
|
||
└───────────────────────────────────▶│ TIME_BANK Server │
|
||
│ 176.124.208.93 │
|
||
│ :8081 │
|
||
└──────────────────┘
|
||
```
|
||
|
||
**Принцип:**
|
||
1. Устройство накапливает секунды локально
|
||
2. Каждые 30 сек отправляет дельту на сервер
|
||
3. Сервер кредитует секунды в TIME_BANK
|
||
4. Баланс синхронизируется по `tg_id` между устройствами
|
||
|
||
**Важно:** Баланс берётся **максимальный** — если на сервере больше, используется серверный; если локально больше, синхронизируется на сервер.
|
||
|
||
---
|
||
|
||
## 17. Дорожная карта
|
||
|
||
### v3.0 (текущая) ✅
|
||
- [x] Динамическая эмиссия
|
||
- [x] Халвинг через τ₄
|
||
- [x] ML-DSA-65 подписи
|
||
- [x] τ₃ checkpoints
|
||
- [x] Удалена лотерея 70/20/10
|
||
- [x] Удалён epoch coefficient
|
||
|
||
### v4.0 (планируется)
|
||
- [ ] FIDO2 биометрия (не Mock)
|
||
- [ ] Улучшенная защита от ботов
|
||
- [ ] Cross-chain bridges
|
||
- [ ] Смарт-контракты на Ɉ
|
||
|
||
---
|
||
|
||
## 18. Заключение
|
||
|
||
金元Ɉ — **первая валюта, основанная на времени как физическом ресурсе**.
|
||
|
||
**Ключевые преимущества:**
|
||
|
||
1. **Справедливость** — у всех одинаковое количество времени
|
||
2. **Неподделываемость** — время нельзя подделать
|
||
3. **Предсказуемость** — халвинг каждые 4 года
|
||
4. **Пост-квантовая защита** — ML-DSA-65
|
||
5. **Децентрализация** — 5 узлов, 3-Mirror failover
|
||
|
||
**Философия:**
|
||
|
||
> Время — единственный ресурс, который нельзя украсть, купить или ускорить.
|
||
> 金元Ɉ оцифровывает это присутствие и делает его валютой.
|
||
|
||
---
|
||
|
||
```
|
||
Alejandro Montana
|
||
TIME_BANK v3.0
|
||
Январь 2026
|
||
|
||
Ничто_Nothing_无_金元Ɉ
|
||
```
|