File size: 10,582 Bytes
2ed46dc 2c3dd0c 0d6a8ab 2c3dd0c bba4773 2c3dd0c 2d03b6f 2c3dd0c 0d6a8ab 3a2755c 0d6a8ab 2c3dd0c 2d03b6f 2c3dd0c 2ed46dc 2c3dd0c 0d6a8ab 2c3dd0c 0d6a8ab 2c3dd0c 2d03b6f 2c3dd0c 0d6a8ab 2c3dd0c 2d03b6f 2c3dd0c 0d6a8ab 2c3dd0c 2d03b6f 2c3dd0c 0d6a8ab 2c3dd0c 0d6a8ab 2c3dd0c 0d6a8ab 2c3dd0c 2d03b6f 2c3dd0c 0d6a8ab 2c3dd0c 0d6a8ab 2c3dd0c 2d03b6f 2c3dd0c 0d6a8ab 2c3dd0c 0d6a8ab 2c3dd0c 2d03b6f 2c3dd0c 0d6a8ab 2c3dd0c 0d6a8ab 2c3dd0c 0d6a8ab 2c3dd0c 2ed46dc 0d6a8ab 2c3dd0c 0d6a8ab 2c3dd0c 0d6a8ab |
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 |
# 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*
|