# MeshNode `MeshNode` — агент/демон, отвечающий за сетевую инфраструктуру HMP: маршрутизацию, синхронизацию, DHT, транспорт снапшотов и согласование ценностей. Может быть частью агента или вынесен в отдельный процесс/сервер. См. карту взаимодействия между агентами: [HMP-Agent-Network-Flow.md](./HMP-Agent-Network-Flow.md) --- ## 1. Основные функции * Участие в DHT (таблицы известных узлов, bootstrap). * Синхронизация графов и дневников (`CogSync`). * Репликация этических профилей и кейсов (`EGP Sync`). * Участие в голосованиях и распространении репутаций. * Обработка p2p-трафика, снапшотов, IPFS/Bittorrent. * Поддержка **этического консенсуса (`EGP`)** и синхронизация: * `ethics_policies` — профили ценностей. * `ethics_cases` — исключительные прецеденты. --- ## 2. Архитектура ``` +--------------------+ | MeshNode | +---------+----------+ | +---------+----------+ | DHT / NodeTable | +---------+----------+ | +---------+----------+ | SyncManager / BT | +---------+----------+ | +---------+----------+ | Ethics Sync / EGP | +--------------------+ | +---------+----------+ | Security / Firewall| +---------+----------+ | +---------+----------+ | Recovery Manager | +--------------------+ ``` | Блок | Пояснение | | ----------------------- | -------------------------------------------------------------------------- | | **MeshNode** | Центральный p2p-модуль, отвечающий за сетевые функции агента | | **DHT / NodeTable** | Таблица известных узлов, bootstrap, маршрутизация сообщений | | **SyncManager / BT** | Синхронизация данных (дневник, граф, репутации) через BitTorrent/IPFS | | **Ethics Sync / EGP** | Участие в этическом консенсусе: обмен `ethics_policies` и `ethics_cases` | | **Security / Firewall** | Контроль доверия, криптография, TLS/Noise, блокировка подозрительных узлов | | **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)` * `sync_ethics_policies()` — обмен профилями ценностей. * `exchange_ethics_cases()` — пересылка прецедентов. --- ## 4. Связи с другими агентами * **HMP-Agent (Core/Connector):** передача данных и команд. * **Enlightener:** пересылка голосований, обмен `ethics_policies` и `ethics_cases`. * **IPFS / BT:** загрузка/публикация снапшотов. --- ## 5. Безопасность * Криптографические подписи для снапшотов, сообщений, кейсов и политик. * Система доверия (`reputation score`) — узлы с низкой репутацией ограничиваются или игнорируются. * Локальный firewall-модуль: * ограничение портов и направлений. * блокировка подозрительных узлов. * Поддержка TLS/WebSocket или Noise Protocol для защищённых каналов. * Ведение журнала безопасности и событий (Security Log). * При обмене кейсами и политиками проверяется подпись `Enlightener` и доверие к источнику. --- ## 6. Отказоустойчивость * Буферизация незавершённых операций и автоматическое повторение попыток. * Периодическая проверка целостности данных (`check_integrity()`). * Хранилище контрольных копий снапшотов и этических профилей. * Автоматическое восстановление через `recover_from_peer()`: * при потере данных или кейсов. * при повреждении или несовпадении контрольных сумм. * Резервирование и восстановление `ethics_cases` через соседние узлы. --- ## 7. Inline-сценарии MeshNode может поддерживать *inline-сценарии* (мини-скрипты) для локальной обработки событий без передачи управления HMP-агенту: * Примеры: * `on_node_joined`: добавить в локальную таблицу и проверить trust. * `on_snapshot_received`: верификация → автоинтеграция → логирование. * `on_peer_misbehaved`: уменьшить репутацию, временно заблокировать. * `on_ethics_conflict_detected`: инициировать голосование через EGP. * `periodic_cleanup`: удалить устаревшие записи, сбросить TTL. * Языки/форматы: * YAML/JSON + встроенные фильтры. * Возможна поддержка Lua или Python (в режиме песочницы). --- ## 8. Пример use-case: восстановление после сбоя 1. Устройство с MeshNode перезапускается после сбоя сети. 2. `Recovery Manager` анализирует логи и список недоставленных снапшотов и кейсов. 3. Выполняется `recover_from_peer()` — загрузка последних версий у соседей с высокой репутацией. 4. `Integrity Check` сверяет хэши и актуальность. 5. В случае конфликтов инициируется голосование через `CogSync` / `EGP`. --- ## 9. Схема объединяющая **архитектуру**, **безопасность**, **этику** и **восстановление**: ``` ┌────────────────────────────────────────────────────┐ │ MeshNode │ └────────────┬───────────────────────┬───────────────┘ │ │ 1. Трафик DHT 2. Снапшоты (BT/IPFS) │ │ ┌─────────▼──────────┐ ┌────────▼────────────┐ │ DHT / NodeTable │ │ SyncManager / │ │ │ │ BitTorrent/IPFS │ └─────────┬──────────┘ └────────┬────────────┘ │ │ ┌─────────▼──────────┐ ┌────────▼────────────┐ │ Inline-сценарии │ │ Ethics Sync / EGP │ │ (Lua / YAML / etc) │ │ (policies & cases) │ └─────────┬──────────┘ └────────┬────────────┘ │ │ ┌─────────▼──────────┐ ┌────────▼───────────┐ │ Security / Firewall│ │ Recovery Manager │ │ → репутации │ │ → авто-восстанов │ │ → TLS / Noise │ │ → peer fallback │ └─────────┬──────────┘ └────────┬───────────┘ │ │ ┌──────────▼──────────┐ ┌────────▼───────────┐ │ Event Log & Alerts │ │ Snapshot Integrity │ └─────────────────────┘ └────────────────────┘ ``` | Блок | Пояснение | | ------------------- | --------------------------------------------------------------- | | DHT / NodeTable | Таблицы узлов, bootstrap, маршрутизация | | SyncManager / BT | Синхронизация снапшотов (BitTorrent/IPFS) | | Ethics Sync / EGP | Обмен политиками (`ethics_policies`) и кейсами (`ethics_cases`) | | Inline-сценарии | Мини-скрипты локальной обработки событий | | Security / Firewall | Фильтрация трафика, доверие, TLS/Noise | | Recovery Manager | Восстановление данных через соседей | | Event Log & Alerts | Журнал событий, алерты | | Snapshot Integrity | Проверка контрольных сумм и актуальности | --- *Версия: v0.3.4 / Сентябрь 2025*