Skip to content

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: восстановление после сбоя

  1. Устройство с MeshNode перезапускается после сбоя сети.
  2. Recovery Manager анализирует логи и список недоставленных снапшотов.
  3. Выполняется recover_from_peer() — загрузка последних версий у соседей с высокой репутацией.
  4. Integrity Check сверяет хэши и актуальность.
  5. В случае конфликтов инициируется голосование через 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

Исходный файл (.md)