Данный репозиторий содержит дискретно-событийную симуляцию (на базе SimPy и NetworkX) децентрализованного сетевого протокола VAN Protocol.
VAN Protocol — это архитектура консенсуса нового поколения, которая решает проблему олигархии (свойственную Proof-of-Stake) и огромных энергозатрат (свойственную классическому Proof-of-Work). Консенсус и безопасность строятся на топологии сети (IP/CIDR ограничениях), криптографическом правосудии (Fraud Proofs) и динамической репутации (S-score).
- Полная Архитектура Протокола: Подробное теоретическое и математическое обоснование архитектуры VAN Protocol доступно в приложенных документах
VAN Protocol Architecture.odtиVAN Protocol Architecture.txt. - Результаты Симуляции: Полные логи прохождения всех стресс-тестов, модульных проверок и сценариев атак сохранены в файле
full_report.txt. Рекомендуется к ознакомлению для понимания математической стойкости сети.
В рамках этого проекта реализованы и успешно отражены 6 тяжелых векторов атак:
- Sybil Attack (Защита через CIDR) — сеть блокирует захват Комитета Валидаторов даже при контроле 30% сети, так как злоумышленник ограничен правилом "один узел на /16 подсеть".
- Topology Censorship (Цензура) — механизм
Delivery Receiptгарантирует, что если Комитет отказывается включать честный узел в сеть, жертва математически докажет факт цензуры, а репутация цензоров будет обнулена (S=0). - Spam Complicity (Фальшивые токены) — проверяет симметричное правосудие через BLS-мультиподписи: валидаторы, пропустившие токен без валидного PoW, теряют репутацию.
- Drift (Медленный дрейф) — ежедневная конкурентная ротация автоматически исключает из Комитета узлы, чья полезность (utility) падает.
- DDA Griefing (Атака на сложность) — динамический алгоритм подстройки сложности (DDA) успешно амортизирует спам-волны токенов, не давая сломать доступ в сеть.
- Eclipse Attack (Атака Затмения) — алгоритм k-buckets (на основе Kademlia DHT) обязывает узлы иметь дальние связи (long-range links), делая изоляцию честного узла невозможной.
Симуляция написана на чистом Python и не требует сложной инфраструктуры. Вся криптография (BLS12-381) реализована поверх py_ecc (Pure Python).
- Python 3.10+
simpynetworkxnumpy,pandasmatplotlibpy_ecc
python3 -m venv .venv
source .venv/bin/activate
pip install -r requirements.txtВы можете самостоятельно прогнать все тесты (юнит-тесты и 6 сценариев симуляции) с помощью одного скрипта. Он сгенерирует файл full_report.txt и построит графики в директории results/:
python generate_report.pyCLI-интерфейс позволяет запускать сценарии атак изолированно:
# Доступные команды: sybil, fraud, drift, censorship, churn, false_acc, dda, eclipse, all
python main.py eclipseГрафики топологии, состава комитета и сложности PoW будут сохранены в папке results/<название_сценария>/.