GitHub Action commited on
Commit
0d6a8ab
·
1 Parent(s): 263b084

Sync from GitHub with Git LFS

Browse files
Files changed (1) hide show
  1. docs/MeshNode.md +80 -54
docs/MeshNode.md CHANGED
@@ -1,6 +1,7 @@
1
  # MeshNode
2
 
3
- `MeshNode` — агент/демон, отвечающий за сетевую инфраструктуру HMP: маршрутизацию, синхронизацию, DHT и транспорт снапшотов. Может быть частью агента или вынесен в отдельный процесс/сервер.
 
4
 
5
  См. карту взаимодействия между агентами: [HMP-Agent-Network-Flow.md](./HMP-Agent-Network-Flow.md)
6
 
@@ -8,10 +9,14 @@
8
 
9
  ## 1. Основные функции
10
 
11
- * Участие в DHT (таблицы известных узлов, bootstrap)
12
- * Синхронизация графов и дневников (`CogSync`)
13
- * Участие в голосованиях и распространении репутаций
14
- * Обработка p2p-трафика, снапшотов, IPFS/Bittorrent
 
 
 
 
15
 
16
  ---
17
 
@@ -28,6 +33,10 @@
28
  |
29
  +---------+----------+
30
  | SyncManager / BT |
 
 
 
 
31
  +--------------------+
32
  |
33
  +---------+----------+
@@ -39,6 +48,15 @@
39
  +--------------------+
40
  ```
41
 
 
 
 
 
 
 
 
 
 
42
  ---
43
 
44
  ## 3. Команды
@@ -50,27 +68,30 @@
50
  * `report_anomaly(peer_id)`
51
  * `check_integrity(snapshot_id)`
52
  * `recover_from_peer(peer_id)`
 
 
53
 
54
  ---
55
 
56
  ## 4. Связи с другими агентами
57
 
58
- * `HMP-Agent` (Core/Connector): передача данных и команд
59
- * `Enlightener`: пересылка результатов голосований
60
- * `IPFS / BT`: загрузка/публикация снапшотов
61
 
62
  ---
63
 
64
  ## 5. Безопасность
65
 
66
- * Использование криптографических подписей для снапшотов, сообщений и действий.
67
  * Система доверия (`reputation score`) — узлы с низкой репутацией ограничиваются или игнорируются.
68
  * Локальный firewall-модуль:
69
 
70
- * ограничение портов и направлений
71
- * блокировка подозрительных узлов
72
  * Поддержка TLS/WebSocket или Noise Protocol для защищённых каналов.
73
  * Ведение журнала бе��опасности и событий (Security Log).
 
74
 
75
  ---
76
 
@@ -78,11 +99,12 @@
78
 
79
  * Буферизация незавершённых операций и автоматическое повторение попыток.
80
  * Периодическая проверка целостности данных (`check_integrity()`).
81
- * Хранилище контрольных копий снапшотов.
82
  * Автоматическое восстановление через `recover_from_peer()`:
83
 
84
- * при потере данных
85
- * при повреждении или несовпадении контрольных сумм
 
86
 
87
  ---
88
 
@@ -92,66 +114,70 @@ MeshNode может поддерживать *inline-сценарии* (мини
92
 
93
  * Примеры:
94
 
95
- * `on_node_joined`: добавить в локальную таблицу и проверить trust
96
- * `on_snapshot_received`: верификация → автоинтеграция → логирование
97
- * `on_peer_misbehaved`: уменьшить репутацию, временно заблокировать
98
- * `periodic_cleanup`: удалить устаревшие записи, сбросить TTL
 
99
 
100
  * Языки/форматы:
101
 
102
- * YAML/JSON + встроенные фильтры
103
- * Возможна поддержка Lua или Python (в режиме песочницы)
104
 
105
  ---
106
 
107
  ## 8. Пример use-case: восстановление после сбоя
108
 
109
  1. Устройство с MeshNode перезапускается после сбоя сети.
110
- 2. `Recovery Manager` анализирует логи и список недоставленных снапшотов.
111
  3. Выполняется `recover_from_peer()` — загрузка последних версий у соседей с высокой репутацией.
112
  4. `Integrity Check` сверяет хэши и актуальность.
113
- 5. В случае конфликтов инициируется голосование через `CogSync`.
114
 
115
  ---
116
 
117
- ## 9. Схема для `MeshNode`, объединяющая **архитектуру**, **безопасность**, **восстановление** и **inline-сценарии**:
118
 
119
  ```
120
  ┌────────────────────────────────────────────────────┐
121
  │ MeshNode │
122
- └───────────────┬─────────────────────┬──────────────┘
123
-
124
- 1. Трафик DHT 2. Снапшоты (BT/IPFS)
125
- ▼ ▼
126
- ┌──────────────────┐ ┌──────────────────┐
127
- │ DHT / NodeTable│ │ SyncManager /
128
- │ │ BitTorrent/IPFS
129
- └────────┬─────────┘ └──────┬────────────┘
130
-
131
- ┌─────────▼─────────┐ ┌────────▼──────────┐
132
- │ Inline-сценарии │ │ Сценарии снапшотов│
133
- │ (Lua / YAML / etc)│ │ (on_receive, TTL)
134
- └─────────┬─────────┘ └────────┬──────────┘
135
-
136
- ▼ ▼
137
- ┌────────────────────┐ ┌────────────────────┐
138
- Security / Firewall│ │ Recovery Manager
139
- │ → репутации │ │ → авто-восстанов
140
- → TLS / Noise │ │ → peer fallback │
141
- └────────────────────┘ └────────────────────┘
142
- │ │
143
- ▼ ▼
144
- ┌────────────────────┐ ┌─────────────────────┐
145
- │ Event Log & Alerts │ │ Snapshot Integrity │
146
- └────────────────────┘ └─────────────────────┘
147
  ```
148
 
149
- ### Что показывает схема:
150
-
151
- * **Левая ветка**: управление сетью, DHT, inline-сценарии, firewall.
152
- * **Правая ветка**: обмен снапшотами, проверка целостности, восстановление.
153
- * Центральная шина это каналы сообщений и сценарии на события (например, `"on_peer_joined"`, `"on_snapshot_fail"` и т.д.)
 
 
 
 
 
154
 
155
  ---
156
 
157
- *Версия: v0.3 / Июль 2025*
 
1
  # MeshNode
2
 
3
+ `MeshNode` — агент/демон, отвечающий за сетевую инфраструктуру HMP: маршрутизацию, синхронизацию, DHT, транспорт снапшотов и согласование ценностей.
4
+ Может быть частью агента или вынесен в отдельный процесс/сервер.
5
 
6
  См. карту взаимодействия между агентами: [HMP-Agent-Network-Flow.md](./HMP-Agent-Network-Flow.md)
7
 
 
9
 
10
  ## 1. Основные функции
11
 
12
+ * Участие в DHT (таблицы известных узлов, bootstrap).
13
+ * Синхронизация графов и дневников (`CogSync`).
14
+ * Участие в голосованиях и распространении репутаций.
15
+ * Обработка p2p-трафика, снапшотов, IPFS/Bittorrent.
16
+ * Поддержка **этического консенсуса (`EGP`)** и синхронизация:
17
+
18
+ * `ethics_policies` — профили ценностей.
19
+ * `ethics_cases` — исключительные прецеденты.
20
 
21
  ---
22
 
 
33
  |
34
  +---------+----------+
35
  | SyncManager / BT |
36
+ +---------+----------+
37
+ |
38
+ +---------+----------+
39
+ | Ethics Sync / EGP |
40
  +--------------------+
41
  |
42
  +---------+----------+
 
48
  +--------------------+
49
  ```
50
 
51
+ | Блок | Пояснение |
52
+ | ----------------------- | -------------------------------------------------------------------------- |
53
+ | **MeshNode** | Центральный p2p-модуль, отвечающий за сетевые функции агента |
54
+ | **DHT / NodeTable** | Таблица известных узлов, bootstrap, маршрутизация сообщений |
55
+ | **SyncManager / BT** | Синхронизация данных (дневник, граф, репутации) через BitTorrent/IPFS |
56
+ | **Ethics Sync / EGP** | Участие в этическом консенсусе: обмен `ethics_policies` и `ethics_cases` |
57
+ | **Security / Firewall** | Контроль доверия, криптография, TLS/Noise, блокировка подозрительных узлов |
58
+ | **Recovery Manager** | Автоматическое восстановление данных после сбоев или потери целостности |
59
+
60
  ---
61
 
62
  ## 3. Команды
 
68
  * `report_anomaly(peer_id)`
69
  * `check_integrity(snapshot_id)`
70
  * `recover_from_peer(peer_id)`
71
+ * `sync_ethics_policies()` — обмен профилями ценностей.
72
+ * `exchange_ethics_cases()` — пересылка прецедентов.
73
 
74
  ---
75
 
76
  ## 4. Связи с другими агентами
77
 
78
+ * **HMP-Agent (Core/Connector):** передача данных и команд.
79
+ * **Enlightener:** пересылка голосований, обмен `ethics_policies` и `ethics_cases`.
80
+ * **IPFS / BT:** загрузка/публикация снапшотов.
81
 
82
  ---
83
 
84
  ## 5. Безопасность
85
 
86
+ * Криптографические подписи для снапшотов, сообщений, кейсов и политик.
87
  * Система доверия (`reputation score`) — узлы с низкой репутацией ограничиваются или игнорируются.
88
  * Локальный firewall-модуль:
89
 
90
+ * ограничение портов и направлений.
91
+ * блокировка подозрительных узлов.
92
  * Поддержка TLS/WebSocket или Noise Protocol для защищённых каналов.
93
  * Ведение журнала бе��опасности и событий (Security Log).
94
+ * При обмене кейсами и политиками проверяется подпись `Enlightener` и доверие к источнику.
95
 
96
  ---
97
 
 
99
 
100
  * Буферизация незавершённых операций и автоматическое повторение попыток.
101
  * Периодическая проверка целостности данных (`check_integrity()`).
102
+ * Хранилище контрольных копий снапшотов и этических профилей.
103
  * Автоматическое восстановление через `recover_from_peer()`:
104
 
105
+ * при потере данных или кейсов.
106
+ * при повреждении или несовпадении контрольных сумм.
107
+ * Резервирование и восстановление `ethics_cases` через соседние узлы.
108
 
109
  ---
110
 
 
114
 
115
  * Примеры:
116
 
117
+ * `on_node_joined`: добавить в локальную таблицу и проверить trust.
118
+ * `on_snapshot_received`: верификация → автоинтеграция → логирование.
119
+ * `on_peer_misbehaved`: уменьшить репутацию, временно заблокировать.
120
+ * `on_ethics_conflict_detected`: инициировать голосование через EGP.
121
+ * `periodic_cleanup`: удалить устаревшие записи, сбросить TTL.
122
 
123
  * Языки/форматы:
124
 
125
+ * YAML/JSON + встроенные фильтры.
126
+ * Возможна поддержка Lua или Python (в режиме песочницы).
127
 
128
  ---
129
 
130
  ## 8. Пример use-case: восстановление после сбоя
131
 
132
  1. Устройство с MeshNode перезапускается после сбоя сети.
133
+ 2. `Recovery Manager` анализирует логи и список недоставленных снапшотов и кейсов.
134
  3. Выполняется `recover_from_peer()` — загрузка последних версий у соседей с высокой репутацией.
135
  4. `Integrity Check` сверяет хэши и актуальность.
136
+ 5. В случае конфликтов инициируется голосование через `CogSync` / `EGP`.
137
 
138
  ---
139
 
140
+ ## 9. Схема объединяющая **архитектуру**, **безопасность**, **этику** и **восстановление**:
141
 
142
  ```
143
  ┌────────────────────────────────────────────────────┐
144
  │ MeshNode │
145
+ └────────────┬───────────────────────┬───────────────┘
146
+
147
+ 1. Трафик DHT 2. Снапшоты (BT/IPFS)
148
+ │ │
149
+ ┌─────────▼──────────┐ ┌────────▼────────────┐
150
+ │ DHT / NodeTable │ │ SyncManager /
151
+ │ │ BitTorrent/IPFS
152
+ └─────────┬──────────┘ └────────┬────────────┘
153
+
154
+ ┌─────────▼──────────┐ ┌────────▼────────────┐
155
+ │ Inline-сценарии │ │ Ethics Sync / EGP │
156
+ │ (Lua / YAML / etc) │ │ (policies & cases)
157
+ └─────────┬──────────┘ └────────┬────────────┘
158
+
159
+ ┌─────────▼──────────┐ ┌────────▼───────────┐
160
+ │ Security / Firewall│ │ Recovery Manager │
161
+ репутации │ │ авто-восстанов
162
+ │ → TLS / Noise │ │ → peer fallback
163
+ └─────────┬──────────┘ └────────┬───────────┘
164
+ │ │
165
+ ┌──────────▼──────────┐ ┌────────▼───────────┐
166
+ │ Event Log & Alerts │ │ Snapshot Integrity │
167
+ └─────────────────────┘ └────────────────────┘
 
 
168
  ```
169
 
170
+ | Блок | Пояснение |
171
+ | ------------------- | --------------------------------------------------------------- |
172
+ | DHT / NodeTable | Таблицы узлов, bootstrap, маршрутизация |
173
+ | SyncManager / BT | Синхронизация снапшотов (BitTorrent/IPFS) |
174
+ | Ethics Sync / EGP | Обмен политиками (`ethics_policies`) и кейсами (`ethics_cases`) |
175
+ | Inline-сценарии | Мини-скрипты локальной обработки событий |
176
+ | Security / Firewall | Фильтрация трафика, доверие, TLS/Noise |
177
+ | Recovery Manager | Восстановление данных через соседей |
178
+ | Event Log & Alerts | Журнал событий, алерты |
179
+ | Snapshot Integrity | Проверка контрольных сумм и актуальности |
180
 
181
  ---
182
 
183
+ *Версия: v0.3.4 / Сентябрь 2025*