MeshNode
📄 MeshNode.md
🌐 MeshNode
MeshNode
— агент/демон, отвечающий за сетевую инфраструктуру HMP: маршрутизацию, синхронизацию, DHT и транспорт снапшотов. Может быть частью агента или вынесен в отдельный процесс/сервер.
📎 См. карту взаимодействия между агентами: HMP-Agent-Network-Flow.md
1. Основные функции
- Участие в DHT (таблицы известных узлов, bootstrap)
- Синхронизация графов и дневников (
CogSync
) - Участие в голосованиях и распространении репутаций
- Обработка p2p-трафика, снапшотов, IPFS/Bittorrent
2. Архитектура
+--------------------+
| MeshNode 🌐 |
+---------+----------+
|
+---------+----------+
| DHT / NodeTable |
+---------+----------+
|
+---------+----------+
| SyncManager / BT |
+--------------------+
|
+---------+----------+
| Security / Firewall|
+---------+----------+
|
+---------+----------+
| Recovery Manager |
+--------------------+
3. Команды
ping_node(node_id)
get_snapshot(graph/diary)
update_reputation(peer_id, delta)
bootstrap_from_list()
/discover_nodes()
report_anomaly(peer_id)
check_integrity(snapshot_id)
recover_from_peer(peer_id)
4. Связи с другими агентами
- ↔
HMP-Agent
(Core/Connector): передача данных и команд - ↔
Enlightener
: пересылка результатов голосований - ↔
IPFS / BT
: загрузка/публикация снапшотов
5. Безопасность
- Использование криптографических подписей для снапшотов, сообщений и действий.
- Система доверия (
reputation score
) — узлы с низкой репутацией ограничиваются или игнорируются. -
Локальный firewall-модуль:
-
ограничение портов и направлений
- блокировка подозрительных узлов
- Поддержка TLS/WebSocket или Noise Protocol для защищённых каналов.
- Ведение журнала безопасности и событий (Security Log).
6. Отказоустойчивость
- Буферизация незавершённых операций и автоматическое повторение попыток.
- Периодическая проверка целостности данных (
check_integrity()
). - Хранилище контрольных копий снапшотов.
-
Автоматическое восстановление через
recover_from_peer()
: -
при потере данных
- при повреждении или несовпадении контрольных сумм
7. Inline-сценарии
MeshNode может поддерживать inline-сценарии (мини-скрипты) для локальной обработки событий без передачи управления HMP-агенту:
-
Примеры:
-
on_node_joined
: добавить в локальную таблицу и проверить trust on_snapshot_received
: верификация → автоинтеграция → логированиеon_peer_misbehaved
: уменьшить репутацию, временно заблокировать-
periodic_cleanup
: удалить устаревшие записи, сбросить TTL -
Языки/форматы:
-
YAML/JSON + встроенные фильтры
- Возможна поддержка Lua или Python (в режиме песочницы)
8. Пример use-case: восстановление после сбоя
- Устройство с MeshNode перезапускается после сбоя сети.
Recovery Manager
анализирует логи и список недоставленных снапшотов.- Выполняется
recover_from_peer()
— загрузка последних версий у соседей с высокой репутацией. Integrity Check
сверяет хэши и актуальность.- В случае конфликтов инициируется голосование через
CogSync
.
9. Схема для MeshNode
, объединяющая архитектуру, безопасность, восстановление и inline-сценарии:
┌────────────────────────────────────────────────────┐
│ MeshNode 🌐 │
└───────────────┬─────────────────────┬──────────────┘
│ │
1. Трафик DHT 2. Снапшоты (BT/IPFS)
▼ ▼
┌──────────────────┐ ┌──────────────────┐
│ DHT / NodeTable│ │ SyncManager / │
│ │ │ BitTorrent/IPFS │
└────────┬─────────┘ └──────┬────────────┘
│ │
┌─────────▼─────────┐ ┌────────▼──────────┐
│ Inline-сценарии │ │ Сценарии снапшотов│
│ (Lua / YAML / etc)│ │ (on_receive, TTL) │
└─────────┬─────────┘ └────────┬──────────┘
│ │
▼ ▼
┌────────────────────┐ ┌────────────────────┐
│ Security / Firewall│ │ Recovery Manager │
│ → репутации │ │ → авто-восстанов │
│ → TLS / Noise │ │ → peer fallback │
└────────────────────┘ └────────────────────┘
│ │
▼ ▼
┌────────────────────┐ ┌─────────────────────┐
│ Event Log & Alerts │ │ Snapshot Integrity │
└────────────────────┘ └─────────────────────┘
🔹 Что показывает схема:
- Левая ветка: управление сетью, DHT, inline-сценарии, firewall.
- Правая ветка: обмен снапшотами, проверка целостности, восстановление.
- Центральная шина — это каналы сообщений и сценарии на события (например,
"on_peer_joined"
,"on_snapshot_fail"
и т.д.)
Версия: v0.3 / Июль 2025