43 lines
1.8 KiB
Python
43 lines
1.8 KiB
Python
"""
|
||
protocol.py — Константы протокола TIME_BANK v3.0
|
||
|
||
Montana Protocol
|
||
Банк Времени — орган верификации эмиссии монет времени
|
||
"""
|
||
|
||
|
||
class Protocol:
|
||
"""Константы протокола TIME_BANK v3.0"""
|
||
|
||
VERSION = "3.0"
|
||
|
||
# Сеть
|
||
NODES_COUNT = 5 # 5 узлов Montana
|
||
BANK_PRESENCE_PER_T2 = 600 # Банк всегда присутствует 600 сек (10 мин)
|
||
|
||
# Временные координаты (Temporal Coordinates)
|
||
TAU1_INTERVAL_SEC = 60 # τ₁ = 1 минута — интервал подписи присутствия
|
||
T2_DURATION_SEC = 10 * 60 # τ₂ = 10 минут = 600 секунд (slice/block)
|
||
TAU3_DURATION_SEC = 14 * 24 * 60 * 60 # τ₃ = 14 дней = 1,209,600 сек (checkpoint)
|
||
TAU4_DURATION_SEC = 4 * 365 * 24 * 60 * 60 # τ₄ = 4 года = 126,144,000 сек (epoch)
|
||
|
||
# Иерархия
|
||
T2_PER_TAU3 = 2016 # 2016 × τ₂ в τ₃ (14 дней / 10 минут)
|
||
TAU3_PER_YEAR = 26 # 26 × τ₃ в году (365 / 14)
|
||
TAU3_PER_TAU4 = 104 # 104 × τ₃ в τ₄ (4 года)
|
||
|
||
# Другие временные параметры
|
||
INACTIVITY_LIMIT_SEC = 3 * 60 # 3 минуты без активности = пауза
|
||
TICK_INTERVAL_SEC = 1 # Интервал обновления
|
||
|
||
# Монеты
|
||
COINS_PER_SECOND = 1 # 1 секунда = 1 монета (с халвингом)
|
||
|
||
# Presence Proof
|
||
PRESENCE_PROOF_VERSION = "MONTANA_PRESENCE_V1"
|
||
GENESIS_HASH = "0" * 64 # Genesis prev_hash
|
||
|
||
|
||
# Экспорт
|
||
__all__ = ['Protocol']
|