Skip to content

Silexperience210/MeshPay

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

54 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🥜🌐 MeshPay 📶⚡

Messagerie P2P Incensurable | Identité Bitcoin Proof | Wallet Cashu #1 | LoRa Mesh

Platform License Release Cashu

Bitcoin LoRa MeshCore

BitMesh est la première messagerie P2P incensurable avec identité Bitcoin proof et wallet Cashu #1. Aucun serveur, aucune censure, communication garantie même sans internet.

📦 Télécharger APK📖 Documentation🚀 Roadmap


🔥 Ce qui rend MeshPay UNIQUE

🛡️ Messagerie Incensurable

  • Aucun serveur central - Communication directe P2P
  • LoRa Mesh - Fonctionne sans internet (5-20 km)
  • BLE Gateway - Connexion directe appareil-à-appareil
  • Résistant à la censure - Impossible à bloquer

🆔 Identité Bitcoin Proof

  • NodeId dérivé de votre wallet - MESH-XXXX unique
  • Clés Bitcoin = Identité - Pas de compte, pas de pseudo
  • Vérification cryptographique - Impossible d'usurper
  • Display name optionnel - Anonymat préservé

💬 Forums P2P Décentralisés

  • Création de forums publics - Annoncés sur le réseau
  • Découverte automatique - Forums voisins détectés
  • Chiffrement de bout en bout - Seuls les membres peuvent lire
  • Pas de modération centralisée - Communautés autonomes

💰 Wallet Cashu #1 (9.5/10)

  • Mint/Melt/Swap complet - Tous les NUTs implémentés
  • Atomic swaps - BTC↔Cashu trustless
  • Notifications - Alertes quand token reçu

🏆 BitMesh vs Concurrence

Feature MeshPay Signal Telegram Cashu.me
Sans serveur ✅ P2P ❌ Centralisé ❌ Centralisé
Sans internet ✅ LoRa
Identité Bitcoin
Wallet intégré ✅ Cashu
Forums P2P ✅ Centralisés
Censure-résistant ⚠️

BitMesh = Seule solution combinant messagerie incensurable + identité Bitcoin + wallet Cashu


✨ Fonctionnalités Complètes

📡 Communication

  • DMs chiffrés E2E - ECDH + AES-GCM-256
  • Forums publics/privés - Chiffrement sélectif
  • LoRa longue portée - 868/915MHz, 5-20 km
  • BLE proximité - 10-100m, sans infrastructure
  • MQTT fallback - Internet quand disponible
  • Multi-hop routing - Jusqu'à 10 sauts
  • Messages auto-destruct - Effacement après 24h

🆔 Identité & Sécurité

  • NodeId unique - Dérivé cryptographiquement du wallet
  • Anti-usurpation - Vérification signature obligatoire
  • Display name personnalisable - Optionnel, changeable
  • Status en ligne - Présence temps réel
  • Radar de pairs - Carte GPS des utilisateurs proches

💰 Wallet Cashu Avancé

  • Mint/Melt/Swap - NUTs 03, 04, 05
  • P2PK - Tokens verrouillables (NUT-11)
  • DLEQ proofs - Vérification cryptographique (NUT-12)
  • QR animés - Gros tokens en plusieurs parties (NUT-16)
  • Atomic swaps - Échange BTC↔Cashu trustless
  • Notifications - Alertes tokens reçus
  • Backup/Restore - Export JSON

🗺️ Découverte & Réseau

  • Forums découverts - Annonces automatiques
  • GPS positioning - Partage position optionnel
  • Distance & bearing - Calcul vers autres pairs
  • Signal strength - Qualité de connexion

🌟 Pourquoi MeshPay ?

Communication d'urgence

  • Catastrophes naturelles (inondations, tremblements de terre)
  • Zones de conflit (censure, coupure internet)
  • Zones isolées (montagnes, déserts, océans)

Souveraineté numérique

  • Aucune entreprise ne contrôle vos données
  • Aucun gouvernement ne peut censurer
  • Vos clés = Votre identité = Vos fonds

Crypto-économie P2P

  • Paiements sans intermédiaire
  • Forums communautaires autonomes
  • Économie locale sans banque

⚡ État Actuel (Mars 2026)

✅ V2.6 - PRODUCTION READY

Module Status
Messagerie P2P (LoRa/MQTT/BLE) ✅ 100%
Chiffrement E2E ✅ 100%
Identité Bitcoin Proof ✅ 100%
Wallet Cashu complet ✅ 100%
Forums P2P ✅ 100%
GPS Radar ✅ 100%
Multi-hop routing ✅ 100%
Atomic swaps ✅ 100%
Sécurité wallet (audit) Renforcée
Tests unitaires 84 tests

🔒 Sécurité — Audit Mars 2026

Corrections appliquées (v1.0.11)

Composant Correction
cashu.ts Rejection sampling (blinding factor sans biais modulaire)
cashu.ts crypto.getRandomValues remplace Math.random (atomic swap ID)
cashu.ts HTTPS forcé pour toutes les URLs mint (anti MITM)
cashu.ts Validation keyset ID après fetchMintKeys
cashu.ts Sanitisation du champ memo (type + longueur max 1000)
bitcoin-tx.ts Clés privées effacées en mémoire (fill(0)) dans un bloc finally
bitcoin-tx.ts Timeout 5s par endpoint (AbortController) sur fetch scriptPubKey
bitcoin-tx.ts Fallback scriptPubKey strict — plus d'utilisation silencieuse de changeAddress
bitcoin-tx.ts Gardes Number.isSafeInteger sur tous les montants
BitcoinProvider.ts Mutex isSendingRef anti-envoi concurrent (TOCTOU)
BitcoinProvider.ts changeIndexRef incrémenté après chaque envoi (anti-réutilisation d'adresse)
mempool.ts Validation regex txid (/^[a-f0-9]{64}$/i) sur broadcast
mempool.ts Sanity check frais API — plafond 1 000 sat/vB (anti-MITM)
SendBitcoinModal.tsx Plafond frais custom à 500 sat/vB + avertissement visuel > 200 sat/vB
WalletSeedProvider.ts Validation stricte longueur mnémonique (12 ou 24 mots)

🗓️ TODO — Améliorations architecturales futures

Ces points nécessitent des changements d'API ou de module natif :

  • [ ] BigInt non-zéroable (cashu.ts) — Le facteur aveugle r (BigInt) ne peut pas être mis à zéro comme un Uint8Array. Nécessite de refactoriser createBlindedMessage/unblindSignature pour travailler avec des tableaux d'octets et effacer la mémoire après usage.
  • [ ] Mnémonique en React state (BitcoinProvider.ts) — Le mnémonique passe par React state, visible dans les heap dumps. Solution : déverrouillage biométrique par transaction via module natif, ou signing dans un service worker isolé.
  • [ ] Mode strict DLEQ (cashu.ts) — Conformément à NUT-12, les preuves sans DLEQ sont actuellement acceptées (mints anciens). Ajouter un mode strict configurable rejetant les proofs sans DLEQ pour les mints non-fiables.
  • [ ] Passphrase BIP39 (WalletSeedProvider.ts) — Ajouter support du 25e mot BIP39 (passphrase) à l'import/génération du wallet.
  • [ ] Persistance changeIndex (BitcoinProvider.ts) — changeIndexRef se remet à 0 au redémarrage. Persister dans SecureStore pour éviter la réutilisation d'adresses de change entre sessions.

📦 Installation

# Télécharger APK
wget https://github.com/Silexperience210/BitMesh/releases/latest/download/BitMesh-v2.5.apk

# Installer
adb install BitMesh-v2.5.apk

🚀 Utilisation Rapide

1. Créer son identité

Settings → Wallet → Generate 12 Words

Votre NodeId MESH-XXXX est automatiquement créé.

2. Rejoindre un forum

Messages → + → Discover → Sélectionner un forum

3. Envoyer un message

Sélectionner conversation → Taper message → Send

Fonctionne même sans internet (LoRa/BLE) !

4. Recevoir/envoyer Cashu

Messages → Attacher token → ou Wallet → Melt

💝 Soutenir MeshPay

Cashu: silexperience@minibits.cash

Vos dons financent le développement open-source.


📜 Licence

MIT License - Voir LICENSE


Fait avec ❤️ par la communauté BitMesh

⭐ Star ce repo🐛 Signaler un bug

About

Created by Rork

Resources

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages