26 KiB
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 Формула эмиссии
# 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 минут:
# Каждый 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:
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(халвинг) — дефляционная компонента
Ценность Ɉ растёт с:
- Количеством накопленных доказательств
- Длительностью существования сети
- Числом участников сети
- Каждым халвингом (дефицит)
ЧАСТЬ II: ТЕХНИЧЕСКАЯ РЕАЛИЗАЦИЯ
9. Архитектура TIME_BANK
9.1 Основные компоненты
┌─────────────────────────────────────────────────────────────┐
│ TIME_BANK v3.0 │
├─────────────────────────────────────────────────────────────┤
│ Protocol │ Константы протокола │
│ halving() │ Коэффициент халвинга │
│ TimeBank │ Основной класс эмиссии │
│ PresenceCache │ Кэш присутствия участников │
│ _finalize_t2() │ Завершение слайса, начисление монет │
│ Presence Proof │ ML-DSA-65 подписи присутствия │
└─────────────────────────────────────────────────────────────┘
9.2 Константы протокола
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 Реализация
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 Использование
# В момент завершения τ₂
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 минуту) узел подписывает:
# Формат сообщения
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 Алгоритм
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 Проверка τ₃ и τ₄
# Каждые 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
Бот отражает всё на "лице":
# Юнона показывает баланс
@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 Начисление монет
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 Перевод монет
# Перевод от 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 Статистика
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 │
└──────────────────┘
Принцип:
- Устройство накапливает секунды локально
- Каждые 30 сек отправляет дельту на сервер
- Сервер кредитует секунды в TIME_BANK
- Баланс синхронизируется по
tg_idмежду устройствами
Важно: Баланс берётся максимальный — если на сервере больше, используется серверный; если локально больше, синхронизируется на сервер.
17. Дорожная карта
v3.0 (текущая) ✅
- Динамическая эмиссия
- Халвинг через τ₄
- ML-DSA-65 подписи
- τ₃ checkpoints
- Удалена лотерея 70/20/10
- Удалён epoch coefficient
v4.0 (планируется)
- FIDO2 биометрия (не Mock)
- Улучшенная защита от ботов
- Cross-chain bridges
- Смарт-контракты на Ɉ
18. Заключение
金元Ɉ — первая валюта, основанная на времени как физическом ресурсе.
Ключевые преимущества:
- Справедливость — у всех одинаковое количество времени
- Неподделываемость — время нельзя подделать
- Предсказуемость — халвинг каждые 4 года
- Пост-квантовая защита — ML-DSA-65
- Децентрализация — 5 узлов, 3-Mirror failover
Философия:
Время — единственный ресурс, который нельзя украсть, купить или ускорить. 金元Ɉ оцифровывает это присутствие и делает его валютой.
Alejandro Montana
TIME_BANK v3.0
Январь 2026
Ничто_Nothing_无_金元Ɉ