364 lines
13 KiB
Markdown
364 lines
13 KiB
Markdown
|
|
# 金元Ɉ (Temporal Unit)
|
|||
|
|
|
|||
|
|
**Темпоральная единица Montana**
|
|||
|
|
**Montana Protocol v1.0**
|
|||
|
|
|
|||
|
|
**Статус:** ✅ Реализовано в Python
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## Абстракт
|
|||
|
|
|
|||
|
|
金元Ɉ — первая криптовалюта, где единица измерения привязана к времени. Символ объединяет три концепции: 金 (золото/ценность), 元 (генезис/начало), Ɉ (время). Ключевое свойство: 1 Ɉ асимптотически стремится к 1 секунде.
|
|||
|
|
|
|||
|
|
**Ключевая формула:**
|
|||
|
|
```
|
|||
|
|
lim(evidence → ∞) 1 Ɉ → 1 секунда
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 1. Введение
|
|||
|
|
|
|||
|
|
### 1.1 Проблема существующих единиц
|
|||
|
|
|
|||
|
|
| Криптовалюта | Единица | Привязка | Проблема |
|
|||
|
|
|--------------|---------|----------|----------|
|
|||
|
|
| Bitcoin | BTC | Рынок | Волатильность |
|
|||
|
|
| Ethereum | ETH | Рынок | Волатильность |
|
|||
|
|
| Stablecoins | USD | Фиат | Инфляция |
|
|||
|
|
| **Montana** | **Ɉ** | **Время** | **Нет** |
|
|||
|
|
|
|||
|
|
### 1.2 Символика
|
|||
|
|
|
|||
|
|
**金** — золото (ценность)
|
|||
|
|
**元** — генезис (начало)
|
|||
|
|
**Ɉ** — время (единица)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 2. Темпоральная система
|
|||
|
|
|
|||
|
|
### 2.1 Единицы τ
|
|||
|
|
|
|||
|
|
**Исходный код:** [time_bank.py:55-64](../бот/time_bank.py#L55-L64)
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
# Временные координаты (Temporal Coordinates)
|
|||
|
|
TAU1_INTERVAL_SEC = 60 # τ₁ = 1 минута
|
|||
|
|
T2_DURATION_SEC = 10 * 60 # τ₂ = 10 минут = 600 секунд
|
|||
|
|
TAU3_DURATION_SEC = 14 * 24 * 60 * 60 # τ₃ = 14 дней = 1,209,600 сек
|
|||
|
|
TAU4_DURATION_SEC = 4 * 365 * 24 * 60 * 60 # τ₄ = 4 года
|
|||
|
|
|
|||
|
|
# Иерархия
|
|||
|
|
T2_PER_TAU3 = 2016 # 2016 × τ₂ в τ₃
|
|||
|
|
TAU3_PER_YEAR = 26 # 26 × τ₃ в году
|
|||
|
|
TAU3_PER_TAU4 = 104 # 104 × τ₃ в τ₄
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 2.2 Назначение каждого слоя
|
|||
|
|
|
|||
|
|
| Слой | Период | Назначение |
|
|||
|
|
|------|--------|------------|
|
|||
|
|
| **τ₁** | 1 минута | **Финализация транзакций** + фиксация присутствия |
|
|||
|
|
| **τ₂** | 10 минут | **Финализация эмиссии** (раздача монет за τ₂) |
|
|||
|
|
| **τ₃** | 14 дней | **Чекпоинт** + механизмы охлаждения + защита + гармонизация сети |
|
|||
|
|
| **τ₄** | 4 года | **Халвинг** всей эмиссии (включая ускорители по датчикам) |
|
|||
|
|
|
|||
|
|
### 2.2 Таблица преобразований
|
|||
|
|
|
|||
|
|
| Единица | Значение | В секундах | В Ɉ (базовая) |
|
|||
|
|
|---------|----------|------------|---------------|
|
|||
|
|
| τ₁ | 1 минута | 60 | 60 Ɉ |
|
|||
|
|
| τ₂ | 10 минут | 600 | 600 Ɉ |
|
|||
|
|
| τ₃ | 14 дней | 1,209,600 | 1,209,600 Ɉ |
|
|||
|
|
| τ₄ | 4 года | 126,144,000 | 126,144,000 Ɉ |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 3. Генезис-формула
|
|||
|
|
|
|||
|
|
### 3.1 Beeple Anchor
|
|||
|
|
|
|||
|
|
Продажа NFT Beeple "Everydays: The First 5000 Days" 11 марта 2021 года установила генезисную цену времени:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
$69,300,000 ÷ 5000 дней ÷ 86400 сек = $0.1605/сек
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 3.2 Фиксированные курсы
|
|||
|
|
|
|||
|
|
| Валюта | Курс | Статус |
|
|||
|
|
|--------|------|--------|
|
|||
|
|
| USD | $0.16 | Зафиксирован навсегда |
|
|||
|
|
| RUB | 12.09₽ | Зафиксирован навсегда |
|
|||
|
|
| AMD | 83.46 драм | Зафиксирован навсегда |
|
|||
|
|
| BTC | 0.00000278 | Зафиксирован навсегда |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 4. Эмиссия с халвингом
|
|||
|
|
|
|||
|
|
### 4.1 Халвинг каждые τ₄
|
|||
|
|
|
|||
|
|
**Исходный код:** [time_bank.py:82-107](../бот/time_bank.py#L82-L107)
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
def halving_coefficient(tau4_count: int) -> float:
|
|||
|
|
"""
|
|||
|
|
Коэффициент халвинга — деление на 2 каждые τ₄ (4 года)
|
|||
|
|
|
|||
|
|
Формула:
|
|||
|
|
emission_per_second = 1.0 / (2 ** tau4_count)
|
|||
|
|
"""
|
|||
|
|
return 1.0 / (2 ** tau4_count)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 4.2 График халвингов
|
|||
|
|
|
|||
|
|
| Халвинг | Период | Награда за 1 сек |
|
|||
|
|
|---------|--------|------------------|
|
|||
|
|
| τ₄ #0 | Годы 1-4 | 1.0 Ɉ |
|
|||
|
|
| τ₄ #1 | Годы 5-8 | 0.5 Ɉ |
|
|||
|
|
| τ₄ #2 | Годы 9-12 | 0.25 Ɉ |
|
|||
|
|
| τ₄ #3 | Годы 13-16 | 0.125 Ɉ |
|
|||
|
|
| ... | ... | ... |
|
|||
|
|
| τ₄ #64 | ~260 лет | ~0 Ɉ |
|
|||
|
|
|
|||
|
|
### 4.3 Математическая формулировка
|
|||
|
|
|
|||
|
|
Пусть `n` — номер эпохи τ₄. Награда за 1 секунду присутствия:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
R(n) = 1 / 2ⁿ Ɉ
|
|||
|
|
|
|||
|
|
Сумма всей эмиссии (геометрический ряд):
|
|||
|
|
∑(n=0 to ∞) R(n) = 2 × базовая_эмиссия
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 5. Присутствие и начисление
|
|||
|
|
|
|||
|
|
### 5.1 Механизм начисления
|
|||
|
|
|
|||
|
|
**Исходный код:** [time_bank.py:560-567](../бот/time_bank.py#L560-L567)
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
# Распределяем: каждый получает свои секунды × halving
|
|||
|
|
for address, entry in self.presence.all().items():
|
|||
|
|
if entry["t2_seconds"] > 0:
|
|||
|
|
coins = int(entry["t2_seconds"] * self.current_halving_coefficient)
|
|||
|
|
self.db.credit(address, coins, entry.get("addr_type", "unknown"))
|
|||
|
|
entry["t2_seconds"] = 0
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 5.2 Пример
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Пользователь присутствовал 450 секунд в τ₂
|
|||
|
|
Текущая эпоха: τ₄ #0 (halving_coefficient = 1.0)
|
|||
|
|
|
|||
|
|
Начисление: 450 × 1.0 = 450 Ɉ
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
Тот же пользователь в τ₄ #1 (halving_coefficient = 0.5)
|
|||
|
|
|
|||
|
|
Начисление: 450 × 0.5 = 225 Ɉ
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 6. Константы протокола
|
|||
|
|
|
|||
|
|
### 6.1 Монеты
|
|||
|
|
|
|||
|
|
**Исходный код:** [time_bank.py:67-71](../бот/time_bank.py#L67-L71)
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
COINS_PER_SECOND = 1 # 1 секунда = 1 Ɉ (базовая)
|
|||
|
|
INACTIVITY_LIMIT_SEC = 3 * 60 # 3 минуты без активности = пауза
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 6.2 Presence Proof
|
|||
|
|
|
|||
|
|
**Исходный код:** [time_bank.py:74-75](../бот/time_bank.py#L74-L75)
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
PRESENCE_PROOF_VERSION = "MONTANA_PRESENCE_V1"
|
|||
|
|
GENESIS_HASH = "0" * 64 # Genesis prev_hash
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 7. Научная новизна
|
|||
|
|
|
|||
|
|
1. **Темпоральная привязка** — единица валюты = единица времени
|
|||
|
|
2. **Объективный генезис** — цена определена независимым рыночным событием (Beeple)
|
|||
|
|
3. **Фиксированные курсы** — защита от волатильности фиатных привязок
|
|||
|
|
4. **Асимптотическая конвергенция** — 1 Ɉ → 1 секунда при бесконечных доказательствах
|
|||
|
|
5. **Халвинг** — классическая модель убывающей эмиссии (как Bitcoin)
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 8. Реализация
|
|||
|
|
|
|||
|
|
| Компонент | Файл | Статус |
|
|||
|
|
|-----------|------|--------|
|
|||
|
|
| Константы τ | [time_bank.py:55-64](../бот/time_bank.py#L55-L64) | ✅ Работает |
|
|||
|
|
| halving_coefficient | [time_bank.py:82-107](../бот/time_bank.py#L82-L107) | ✅ Работает |
|
|||
|
|
| Начисление монет | [time_bank.py:560-567](../бот/time_bank.py#L560-L567) | ✅ Работает |
|
|||
|
|
| τ₃/τ₄ checkpoints | [time_bank.py:572-593](../бот/time_bank.py#L572-L593) | ✅ Работает |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 9. Ссылки
|
|||
|
|
|
|||
|
|
| Документ | Ссылка |
|
|||
|
|
|----------|--------|
|
|||
|
|
| ACP Консенсус | [001_ВКП.md](001_ВКП.md) |
|
|||
|
|
| 3-Mirror | [003_ТРОЙНОЕ_ЗЕРКАЛО.md](003_ТРОЙНОЕ_ЗЕРКАЛО.md) |
|
|||
|
|
| Adaptive Cooldown | [004_АДАПТИВНОЕ_ОХЛАЖДЕНИЕ.md](004_АДАПТИВНОЕ_ОХЛАЖДЕНИЕ.md) |
|
|||
|
|
| Post-Quantum | [007_ПОСТКВАНТОВЫЙ.md](007_ПОСТКВАНТОВЫЙ.md) |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
## 10. TimeChain — 4-слойная иерархическая цепочка
|
|||
|
|
|
|||
|
|
### 10.1 Архитектура
|
|||
|
|
|
|||
|
|
TimeChain — это не просто временные метки для экономики, а **полноценная 4-слойная blockchain** с вложенными хэшами:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
τ₁ → τ₁ → τ₁ → τ₁ ... (цепь 1-минутных блоков)
|
|||
|
|
↓ ↓ ↓ ↓
|
|||
|
|
└────┴────┴────┴─→ τ₂ (агрегирует 10 τ₁)
|
|||
|
|
↓
|
|||
|
|
└─→ τ₃ (агрегирует 2016 τ₂ + все τ₁)
|
|||
|
|
↓
|
|||
|
|
└─→ τ₄ (агрегирует 104 τ₃ + все τ₂ + все τ₁)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 10.2 Структура блоков
|
|||
|
|
|
|||
|
|
**τ₁ Block (60 секунд):**
|
|||
|
|
```python
|
|||
|
|
{
|
|||
|
|
"timestamp": int,
|
|||
|
|
"prev_tau1_hash": Hash, # Цепь τ₁ → τ₁
|
|||
|
|
"events": List[Event], # События за минуту
|
|||
|
|
"block_number": int,
|
|||
|
|
"signature": ML_DSA_65 # Постквантовая подпись
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**τ₂ Block (600 секунд):**
|
|||
|
|
```python
|
|||
|
|
{
|
|||
|
|
"timestamp": int,
|
|||
|
|
"prev_tau2_hash": Hash, # Цепь τ₂ → τ₂
|
|||
|
|
"tau1_headers": [Hash×10], # Хэши 10 τ₁ блоков
|
|||
|
|
"tau1_merkle_root": Hash, # Корень дерева τ₁
|
|||
|
|
"total_emissions": int, # Эмиссия за 10 минут
|
|||
|
|
"halving_coefficient": float,
|
|||
|
|
"signature": ML_DSA_65
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**τ₃ Block (14 дней):**
|
|||
|
|
```python
|
|||
|
|
{
|
|||
|
|
"timestamp": int,
|
|||
|
|
"prev_tau3_hash": Hash, # Цепь τ₃ → τ₃
|
|||
|
|
"tau2_headers": [Hash×2016], # Хэши 2016 τ₂ блоков
|
|||
|
|
"tau2_merkle_root": Hash, # Корень дерева τ₂
|
|||
|
|
"tau1_merkle_roots": [Hash×2016], # Корни τ₁ из каждого τ₂
|
|||
|
|
"epoch_number": int, # Номер эпохи (0-25)
|
|||
|
|
"signature": ML_DSA_65
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
**τ₄ Block (4 года):**
|
|||
|
|
```python
|
|||
|
|
{
|
|||
|
|
"timestamp": int,
|
|||
|
|
"prev_tau4_hash": Hash, # Цепь τ₄ → τ₄
|
|||
|
|
"tau3_headers": [Hash×104], # Хэши 104 τ₃ блоков
|
|||
|
|
"tau3_merkle_root": Hash, # Корень дерева τ₃
|
|||
|
|
"tau2_merkle_roots": [Hash], # Все корни τ₂ (104×2016)
|
|||
|
|
"tau1_checkpoint": Hash, # Агрегат всех τ₁
|
|||
|
|
"halving_number": int, # Номер халвинга
|
|||
|
|
"new_halving_coefficient": float, # Новый коэффициент
|
|||
|
|
"signature": ML_DSA_65
|
|||
|
|
}
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 10.3 Постквантовая защита
|
|||
|
|
|
|||
|
|
Каждый блок подписан **ML-DSA-65 (FIPS 204)**:
|
|||
|
|
|
|||
|
|
```python
|
|||
|
|
# Подпись блока
|
|||
|
|
block_hash = SHA256(block_data)
|
|||
|
|
signature = ML_DSA_65.sign(private_key, block_hash)
|
|||
|
|
|
|||
|
|
# Верификация
|
|||
|
|
ML_DSA_65.verify(public_key, block_hash, signature)
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
Квантовый компьютер **НЕ может**:
|
|||
|
|
- Подделать ML-DSA-65 подпись
|
|||
|
|
- Изменить прошлый блок без пересчёта всей цепи выше
|
|||
|
|
- Создать конфликтующую историю
|
|||
|
|
|
|||
|
|
### 10.4 Merkle Tree агрегация
|
|||
|
|
|
|||
|
|
Каждый верхний слой содержит **Merkle корни нижних слоёв**:
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
τ₂ Merkle Root
|
|||
|
|
├─ τ₁[0]
|
|||
|
|
├─ τ₁[1]
|
|||
|
|
├─ τ₁[2]
|
|||
|
|
...
|
|||
|
|
└─ τ₁[9]
|
|||
|
|
|
|||
|
|
τ₃ Merkle Root
|
|||
|
|
├─ τ₂[0] (содержит τ₁ root)
|
|||
|
|
├─ τ₂[1] (содержит τ₁ root)
|
|||
|
|
...
|
|||
|
|
└─ τ₂[2015]
|
|||
|
|
|
|||
|
|
τ₄ Merkle Root
|
|||
|
|
├─ τ₃[0] (содержит τ₂ roots → τ₁ roots)
|
|||
|
|
├─ τ₃[1]
|
|||
|
|
...
|
|||
|
|
└─ τ₃[103]
|
|||
|
|
```
|
|||
|
|
|
|||
|
|
### 10.5 Преимущества
|
|||
|
|
|
|||
|
|
1. **Быстрая верификация**: Light client скачивает только headers, не все события
|
|||
|
|
2. **Компактность**: τ₄ блок = proof всех 4 лет (104 хэша τ₃)
|
|||
|
|
3. **Параллелизм**: можно верифицировать слои параллельно
|
|||
|
|
4. **Постквантовая защита**: ML-DSA-65 на каждом блоке
|
|||
|
|
5. **Детерминизм**: невозможно изменить прошлое без пересчёта всей цепи
|
|||
|
|
|
|||
|
|
### 10.6 Реализация
|
|||
|
|
|
|||
|
|
| Компонент | Файл | Статус |
|
|||
|
|
|-----------|------|--------|
|
|||
|
|
| TimeChain классы | [timechain.py](../Бот/timechain.py) | ✅ Реализовано |
|
|||
|
|
| τ₁/τ₂/τ₃/τ₄ блоки | [timechain.py](../Бот/timechain.py) | ✅ Реализовано |
|
|||
|
|
| Merkle tree | [timechain.py:merkle_root()](../Бот/timechain.py) | ✅ Реализовано |
|
|||
|
|
| ML-DSA-65 подписи | Интеграция с [node_crypto.py](../Бот/node_crypto.py) | 🔄 В процессе |
|
|||
|
|
|
|||
|
|
---
|
|||
|
|
|
|||
|
|
```
|
|||
|
|
Alejandro Montana
|
|||
|
|
Montana Protocol v3.0
|
|||
|
|
Февраль 2026
|
|||
|
|
```
|