Archipel par Blockchain Bandits est un prototype de communication P2P local conçu pour fonctionner sans serveur central et, hors Gemini, sans Internet. Chaque nœud découvre automatiquement les autres sur le LAN, établit un canal sécurisé, puis échange des messages et des fichiers de façon distribuée.

Le projet couvre les fonctionnalités clés attendues par sprint:

  1. Réseau P2P local
    Découverte des pairs via UDP multicast (HELLO) et échange de métadonnées via TCP (PEER_LIST, PING/PONG). Les pairs sont maintenus dans une table locale persistée.

  2. Sécurité bout en bout
    Authentification et chiffrement sans autorité centrale: identités Ed25519, échange de clé X25519, dérivation HKDF-SHA256, chiffrement AES-256-GCM, intégrité HMAC-SHA256. Le modèle de confiance repose sur TOFU + Web of Trust local (approbation/révocation).

  3. Transfert de fichiers par chunks
    Un fichier est découpé en blocs avec manifest signé. Chaque chunk est vérifié (SHA-256), téléchargé en parallèle depuis plusieurs sources, avec reprise/fallback en cas de nœud indisponible et redemande en cas de corruption.

  4. Intégration et démonstration
    Le dépôt fournit une CLI complète (start, peers, msg, send, receive, download, status, trust, ask) et une UI web locale pour piloter les tests de bout en bout (multi-nœuds, messagerie E2E, trust, transfert, historique).
    Gemini est intégré en option (mode contextuel), isolé et désactivable via --no-ai pour rester compatible avec un mode offline strict.

Le projet inclut aussi des scripts de validation par sprint (sprint1, sprint2, sprint3, sprint4) pour vérifier rapidement les cas d’usage attendus.

Built With

Share this project:

Updates