HMP / docs /MeshNode.md
GitHub Action
Sync from GitHub with Git LFS
3a2755c
|
raw
history blame
10.6 kB
# 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*