Nostr Compass #15
Bienvenue dans Nostr Compass, votre guide hebdomadaire sur Nostr.
Cette semaine : Primal Android enchaîne après sa version 3.0 orientée portefeuille avec Follow Packs, enrichissement zap et liens profonds primalconnect://. BigBrotr publie une analyse de fuite de nsec portant sur 41 millions d’événements à travers 1 085 relays et trouve 16 599 clés privées valides, tandis que npub.world intègre des avertissements de fuite sur les pages de profil la même semaine. Martti Malmi lance nostr-vpn, une alternative à Tailscale qui signale via les relays Nostr et établit des tunnels WireGuard, avec 11 versions en sept jours. L’équipe Vector open source un DOOM P2P sur Nostr, FIPS livre v0.2.0, et Nostrability Schemata s’étend à six langages en une semaine.
Actualités
Primal adds Follow Packs, zap enrichment, and deep links
Suite à la couverture de la 3.0.7 la semaine dernière, Primal Android a consacré cette semaine au travail post-version autour de l’onboarding, de l’UX de composition et du contexte portefeuille. L’onboarding repensé introduit les Follow Packs (PR #949), un bouton GIF natif rejoint l’éditeur de notes, un service d’enrichissement zap (PR #979) annote les transactions du portefeuille avec leur contexte zap, et un protocole de lien profond primalconnect:// (PR #969) permet la navigation entre applications.
Primal iOS livre le même travail via TestFlight en parallèle, avec le changement de portefeuille (PR #191), l’implémentation des sondages et la refonte de l’onboarding dans la même fenêtre.
BigBrotr maps exposed private keys across the relay network
BigBrotr, la plateforme d’analytique de relays Nostr, a publié une analyse détaillée des clés privées exposées sur le réseau de relays. L’étude a parcouru 41 millions d’événements sur 1 085 relays, à la recherche de chaînes nsec valides intégrées dans le contenu des événements, et a trouvé 16 599 clés privées valides. Le chiffre paraît alarmant jusqu’à ce qu’on filtre un bot nommé « Mr.nsec », qui représente 92 % des correspondances. Après retrait du trafic du bot, seuls 38 comptes réels totalisant plus de 21 000 abonnés avaient des clés exposées, et aucun ne montrait de signe de conscience que ses clés étaient publiques.
L’équipe a construit un nsec-leak-checker comme service NIP-90 (Data Vending Machine), permettant aux utilisateurs de vérifier si leur clé privée apparaît quelque part dans l’ensemble de données scanné sans révéler la clé au vérificateur. npub.world a intégré les données de fuite la même semaine, affichant des bannières d’avertissement sur les pages de profil où des clés exposées ont été détectées. La combinaison donne au réseau à la fois une interface programmatique pour les DVMs et les agents, et un avertissement lisible par l’humain pour les utilisateurs ordinaires. L’ensemble de données sous-jacent alimente aussi BigBrotr v6.4.0, qui ajoute des vues matérialisées d’événements remplaçables et adressables ainsi qu’un correctif de délai d’inactivité du synchroniseur.
Nostr VPN launches as a Tailscale alternative
Martti Malmi (mmalmi), créateur d’Iris, a construit et livré nostr-vpn, un VPN pair à pair qui utilise les relays Nostr pour le signalement et WireGuard (via boringtun) pour les tunnels chiffrés. La motivation était directe : « Got annoyed by Tailscale requiring 3rd party accounts, so created Nostr VPN. » L’outil crée des réseaux maillés entre appareils en utilisant des paires de clés Nostr comme identité, sans serveur central de coordination.
Le projet a livré 11 versions en sept jours, de v0.2.2 à v0.2.13. Ce sprint a ajouté le support Windows, l’appairage LAN pour la découverte sur réseau local, et un sidecar Android pour les appareils mobiles. L’architecture est simple : deux appareils échangent les métadonnées de connexion via les relays Nostr, puis établissent un tunnel WireGuard direct. Nostr gère la découverte et le signalement de traversée NAT. WireGuard transporte le trafic réel. L’identité est une paire de clés Nostr.
Malmi a aussi continué à pousser nostr-double-ratchet, une bibliothèque de canal de messagerie sécurisée de type Signal, avec six versions de v0.0.86 à v0.0.93 pendant la même semaine.
Open-source DOOM runs peer-to-peer over Nostr
L’équipe Vector a open sourcé une implémentation multijoueur pair à pair de DOOM qui utilise Nostr pour la découverte de pairs, Marmot pour le chiffrement de bout en bout, et Iroh, la bibliothèque réseau QUIC de n0, pour le transport gossip. Le jeu est livré sous forme d’un fichier WebXDC de 4,2 Mo qui peut être envoyé dans des messages de chat, sans nécessiter de serveurs pour héberger ou coordonner une partie.
L’approche technique remplace le netcode lockstep original de 1993 par un modèle hybride de synchronisation en temps réel. Les joueurs se découvrent via des requêtes relay Nostr, négocient les sessions via des canaux chiffrés Marmot, puis basculent sur la couche gossip QUIC d’Iroh pour le trafic de jeu à faible latence. La pile utilise Nostr pour la découverte, Marmot pour le chiffrement et Iroh pour le transport.
Vector a aussi livré du durcissement de sécurité cette semaine. La version ajoute un coffre de clés renforcé en mémoire avec protections anti-debug et zeroize pour le matériel sensible, le blocage d’utilisateurs avec filtrage complet des DMs et messages de groupe, et des correctifs de canaux temps réel WebXDC pour les Mini Apps.
FIPS v0.2.0 ships Tor transport, reproducible builds, and sidecar examples
FIPS, le Free Internetworking Peering System et projet de réseau maillé adjacent à Nostr, a livré v0.2.0. La version ajoute le support du transport Tor pour des liens maillés anonymisés, des builds reproductibles, un exemple sidecar qui se connecte via un relay Nostr, et la publication de versions Nostr dans le workflow de paquets OpenWrt. La version corrige aussi les pics de gigue post-rekey causés par les frames de drain-window. Le format filaire a changé depuis v0.1.0, donc les nœuds v0.1.0 existants ne peuvent pas interopérer avec v0.2.0 sans mise à niveau.
Nostrability Schemata goes multilingual
Le projet Nostrability Schemata, qui maintient des définitions JSON Schema pour valider les kinds d’événements Nostr, est passé de JavaScript seul à six langages en une semaine. De nouveaux paquets ont été livrés pour Rust, Go, Dart, Swift et Python, chacun fournissant à la fois un paquet de données et un validateur. v0.2.6 a aussi ajouté 17 nouveaux schémas de kinds d’événements.
Le tracker d’interopérabilité Nostrability a reçu une refonte parallèle. Un nouvel onglet What’s New publie les mises à jour via un flux Atom et un événement Nostr, le filtrage par catégorie d’application permet aux visiteurs de cibler des types de clients précis, et le tracker détecte maintenant automatiquement les langages de programmation à partir des métadonnées des dépôts GitHub. Nostrability possède aussi désormais son propre npub, ce qui rend le projet lui-même découvrable via le protocole qu’il documente. Pour les auteurs de bibliothèques travaillant sur plusieurs langages, les paquets de schémas multi-langages signifient que les mêmes définitions de kinds d’événements sont disponibles comme imports natifs, au lieu d’obliger chaque projet à maintenir sa propre copie de schémas.
Versions
Amethyst v1.06.0 and v1.06.1
Amethyst, le client Android maintenu par vitorpamplona, a livré v1.06.0 et v1.06.1 le 23 mars. La fonctionnalité phare est le support des sondages en utilisant les données NIP-85 (Trusted Assertions) pour le vote pondéré, avec des cartes de sondages et de zap polls repensées. Le nouveau rendu donne aux sondages standard et pondérés par zap une disposition visuelle plus propre. v1.06.1 suit avec des correctifs de crash liés aux modifications concurrentes qui résolvent des régressions de stabilité introduites dans le chemin de rendu des sondages.
Amber v5.0.0 and v5.0.1
Amber, l’application signataire NIP-55 (Android Signer Application), a promu son travail de pré-version récent en 4.1.x vers la stable avec v5.0.0 le 18 mars. Cette version stable embarque les changements d’auth relay NIP-42, de Tor intégré, de permissions par type de contenu et de stockage chiffré du PIN couverts la semaine dernière. v5.0.1 retire ensuite la permission internet de la variante hors ligne, de sorte que cette build ne peut plus effectuer de requêtes réseau au niveau des permissions Android.
Mostro v0.17.0 and Mostro Mobile v1.2.2
Mostro, l’échange Bitcoin pair à pair construit sur Nostr, a livré v0.17.0 le 18 mars. La version serveur poursuit le travail sur les litiges et les évaluations du cycle v0.16.x, en ajoutant des données de réputation commerciale plus complètes pour les acheteurs et vendeurs sous forme d’événements Nostr. Mostro Mobile, le client Flutter, a suivi avec v1.2.2 le 23 mars, maintenant l’interface mobile synchronisée avec les derniers changements du protocole.
Shosho v0.14.0
Shosho, l’application de streaming live Nostr, a livré v0.14.0 le 19 mars avec le lancement de Shosho Shop. La version ajoute un onglet Shop sur les profils, Shop dans Browse, et un bouton In-Live Shop sur les lives et clips. Les notes de version indiquent que les « Nostr products » existants apparaissent automatiquement et que les acheteurs cliquent vers la page Plebeian Market du vendeur pour l’achat. Les notes de version de Shosho n’identifient pas le kind d’événement de listing, il n’est donc pas encore possible de confirmer si Shosho Shop lit les mêmes annonces NIP-99 que Shopstr prend explicitement en charge dans son README.
Applesauce v5.2.0
Applesauce, la collection de paquets utilitaires de hzrd149 pour construire des applications Nostr, a livré v5.2.0 le 22 mars. La version s’étend sur six paquets. Le paquet SQLite corrige une collision de contrainte UNIQUE sur les tags d’événements qui provoquait des insertions dupliquées. Le paquet signers ajoute AndroidNativeSigner, qui encapsule l’interface native de signataire Android NIP-55 pour que les applications basées sur webview puissent utiliser une signature adossée au matériel sans code de pont personnalisé. Le paquet relay ajoute un champ challenge aux objets d’état du relay et du pool, suivant l’état d’auth NIP-42 pour que les applications puissent détecter quand un relay demande une authentification et répondre programmatiquement. Le paquet core gagne isEventPointerSame et isAddressPointerSame pour dédupliquer les références d’événements, et le paquet common ajoute user.blossomServers$ pour résoudre les serveurs médias Blossom d’un utilisateur. Applesauce alimente noStrudel, Satellite et plusieurs autres clients web, donc ces correctifs se propagent à travers toute la couche des clients web.
Wisp ships 16 releases in one week
Wisp, le client Nostr Android, a livré 16 versions de v0.9.3-beta à v0.13.1-beta cette semaine. Les ajouts de fonctionnalités incluent le support multi-comptes, un mode zen notifications pour réduire les interruptions, les brouillons et publications planifiées, des filtres de sécurité de contenu et une nouvelle icône flamme.
Manent v1.2.0
Manent, l’application privée de notes chiffrées et de stockage de fichiers, a livré v1.2.0 le 20 mars. La version ajoute la capture caméra directement depuis l’application, le redimensionnement d’image avant téléversement pour réduire les coûts de stockage, et le pinch-to-zoom pour examiner les images stockées. Manent stocke notes et fichiers chiffrés sur les relays Nostr à l’aide de la paire de clés de l’utilisateur, ce qui fait du téléphone ou de l’application desktop un client léger capable de reconstruire tout son état à partir des données des relays.
diVine 1.0.7
diVine, le client vidéo court format, a livré 1.0.7 le 21 mars avec un watchdog de lecture vidéo qui relance automatiquement les vidéos bloquées. Après l’infrastructure de tests E2E et le chargement direct MP4 dans v1.0.6, cette version cible le chemin d’échec restant de lecture : les vidéos qui s’arrêtent en milieu de flux sans lancer d’erreur.
Alby Extension v3.14.2
Alby Extension, l’extension de navigateur NIP-07 (Browser Extension Signer), a livré v3.14.2 le 18 mars avec l’affichage de QR codes d’adresses Lightning et le support de signature Schnorr. Cet ajout Schnorr aligne l’extension de navigateur avec le schéma de signature secp256k1 que Nostr utilise nativement.
NoorNote v0.6.5 through v0.6.11
NoorNote, l’application de prise de notes, a livré sept versions de v0.6.5 à v0.6.11. L’ajout principal est Follow Packs : des ensembles curatés de comptes que les utilisateurs peuvent parcourir et suivre en masse, similaires aux Twitter Lists mais conçus pour l’onboarding. Les utilisateurs peuvent créer, modifier et partager des Follow Packs avec des titres, descriptions et images de couverture personnalisés. La série met aussi à niveau la bibliothèque Nostr sous-jacente de NDK v2 à v3, ce qui apporte une meilleure gestion des connexions relay et des abonnements. Les picture notes et une expérience de connexion relay repensée complètent le cycle.
nak v0.19.1 and v0.19.2
nak, la boîte à outils Nostr en ligne de commande de fiatjaf pour interagir avec les relays, encoder et décoder les identifiants NIP-19 (Bech32-Encoded Entities), signer des événements et interroger les données relay, a livré v0.19.1 et v0.19.2 les 17 et 20 mars. Ces deux point releases suivent l’ajout de l’interface forum de groupe de v0.19.0.
Calendar by Form* v0.2.1
Calendar by Form*, l’application de calendrier décentralisée construite sur NIP-52 (Calendar Events), a livré v0.2.1 le 20 mars. La version corrige un problème de modèle de notification qui affectait les rappels d’événements. Calendar stocke les événements sous forme d’événements Nostr kind 31922 (basés sur la date) et kind 31923 (basés sur l’heure), permettant à n’importe quel client Nostr d’afficher les données de calendrier s’il choisit de supporter ces kinds. L’application est construite par l’équipe Formstr, qui maintient aussi Formstr (formulaires décentralisés) et Pollerama (sondages).
NYM v3.50 through v3.53
NYM, le client de chat éphémère ponté avec Bitchat, a livré 28 versions de v3.50 à v3.53. La fonctionnalité la plus notable est Nymbot, un chatbot intégré qui répond aux mentions @nymbot dans les canaux et fournit des fonctions de statut et de gestion des relays. Un « hardcore mode » génère une nouvelle paire de clés pour chaque message envoyé, rendant les fils de conversation non corrélables au niveau de l’identité. Le compromis est clair : on perd une identité persistante mais on gagne en anonymat par message. La couche proxy relay a aussi reçu du travail, avec des workers proxy relay shardés pour une meilleure connectivité, le support de canaux geohash et la tolérance au décalage d’horloge pour les nœuds aux horloges système imprécises.
Mises à jour des projets
Ditto adds Bluesky bridge and Wikipedia integration
Ditto, le client social Nostr personnalisable de l’équipe Soapbox, a enregistré plus de 300 commits cette semaine à travers trois pistes fonctionnelles distinctes. La première est un pont Bluesky (19 commits) qui rend les publications Bluesky inline sous forme de fils complets de style flux, ajoute une navigation latérale vers une page de découverte Bluesky alimentée par le flux officiel Discover (whats-hot), et relie des boutons d’action pour commenter, partager, réagir et copier les liens. Lorsqu’un utilisateur répond à un post Bluesky depuis Ditto, la fenêtre de composition affiche un avertissement rappelant la nature inter-protocole de l’interaction. Les réactions de kind 17 NIP-73 (External Content IDs) alimentent ce modèle : un utilisateur Nostr réagit à un post Bluesky, et la réaction est stockée comme un événement Nostr standard référant l’identifiant de contenu externe. C’est le même motif NIP-73 qui pourrait faire le pont vers n’importe quel contenu externe, des posts Bluesky aux vidéos YouTube en passant par les pages web.
La seconde piste est une intégration Wikipedia (9 commits). Ditto rend maintenant du contenu riche d’articles Wikipedia sur les pages de détail au lieu de simples aperçus de liens, ajoute l’autocomplétion de recherche avec miniatures d’articles, et fournit une page /wikipedia qui récupère le contenu mis en avant depuis l’API Wikipedia. Les résultats Wikipedia et Archive.org apparaissent aussi dans la liste générale d’autocomplétion de recherche. La troisième piste concerne le support iOS via Capacitor, avec un script de build distant et la configuration de plateforme livrés en parallèle d’une refonte UI (55 commits) qui remplace les en-têtes flous par un nouveau design de navigation en arc à travers toute l’application. Ces 314 commits déplacent Ditto d’un client Nostr-only vers un agrégateur multi-protocole qui traite Bluesky et Wikipedia comme des sources de contenu de première classe aux côtés du flux Nostr.
Pika builds a NIP-34 forge CI pipeline
Pika, l’application de messagerie chiffrée basée sur Marmot, a fusionné 33 PRs cette semaine autour d’une forge NIP-34 auto-hébergée avec CI avant fusion. La forge est une couche d’hébergement git qui reçoit les patches comme événements NIP-34, exécute les vérifications CI avant fusion, puis renvoie un statut structuré via des événements Nostr. PR #701 ajoute une CI pré-fusion et nocturne par lanes, où chaque chemin de code (Rust, TypeScript, builds Apple) s’exécute dans sa propre lane avec un statut indépendant de réussite ou d’échec. PR #715 déplace les agents CI gérés vers des conteneurs Incus OpenClaw pour l’isolation, et PR #733 ajoute un CLI ph forge pour interagir avec la forge hébergée depuis la ligne de commande. Des PRs de support gèrent les permissions d’écriture du dépôt pour les fusions (PR #736), les métadonnées CI structurées avec badges de statut en direct (PR #722), la séparation des builds nocturnes Apple (PR #738), et des correctifs d’authentification de forge et de lookup de branches (PR #734). C’est l’un des premiers systèmes CI/CD opérationnels construits au-dessus des événements git NIP-34, amenant l’hébergement de code source basé sur Nostr au-delà du simple échange de patches vers le workflow merge-and-test que les développeurs attendent de GitHub ou GitLab.
Nostria adds communities, code snippets, and voice event handling
Nostria, le client Nostr cross-platform maintenu par sondreb, a passé cette semaine à étendre la surface de l’application au-delà du filtrage Web of Trust couvert dans le numéro 14. L’ajout principal est une implémentation complète de NIP-72 (Moderated Communities) avec création de communautés, configuration des modérateurs et relays, suivi de l’approbation des publications avec aperçus d’images, et une page dédiée aux communautés avec onglets Posts et Moderators.
La même période de travail ajoute aussi le rendu et l’édition de snippets de code avec éditeur à coloration syntaxique, le support des réponses à événements vocaux pour les conversations audio, les paramètres de relays de chat pour les messages directs, le partage de canaux via l’API Web Share, un système d’ancrage de la barre d’outils pour le lecteur multimédia, l’inscription intégrée au dernier service Brainstorm Web of Trust, les flux d’envoi et de réception d’argent dans les DMs utilisant NWC et des invoices BOLT-11, la gestion native des GIFs Nostr, et un chemin d’import RSS renforcé pour les musiciens capable de récupérer les répartitions Lightning existantes depuis les flux de podcasts.
nostr-vpn rapid iteration
Au-delà du lancement initial, l’historique de commits de nostr-vpn révèle les problèmes précis rencontrés lors du déploiement réel. v0.2.3 à v0.2.5 ont ajouté le script d’installation initial et le CLI cross-platform. v0.2.6 et v0.2.7 ont apporté le support Windows, ce qui a nécessité le quoting des chemins UAC pour les écritures de configuration et les mises à jour de configuration possédées par le daemon. v0.2.8 à v0.2.10 ont corrigé les actions du service GUI Windows, la gestion des sous-processus CLI et la configuration des services à l’échelle de la machine. v0.2.12 a remplacé la découverte LAN par un appairage LAN temporisé, un flux initié par l’utilisateur où deux appareils sur le même réseau local s’appairent sans signalement relay. Le motif est celui d’un test terrain de phase précoce : chaque version cible un échec précis de déploiement, la base d’utilisateurs est assez petite pour itérer quotidiennement, et le développeur utilise l’outil lui-même entre les versions.
Comet automated builds
Comet (anciennement Captain’s Log), l’outil long format natif Nostr de Nodetec, a produit plus de 40 builds alpha automatisés cette semaine. Comet est une application desktop pour écrire et publier des articles NIP-23 (Long-form Content), avec stockage local des brouillons, édition markdown et publication en un clic vers l’ensemble de relays de l’utilisateur. Le pipeline de build automatisé génère une version taguée pour chaque commit sur la branche main, ce qui rend le nombre brut de versions trompeur comme mesure de vitesse fonctionnelle. Ce que montrent ces 40 builds, c’est que l’application est en développement actif quotidien, chaque commit étant testé, empaqueté et rendu téléchargeable en quelques minutes.
Mises à jour des NIP
Changements récents dans le dépôt NIPs durant la fenêtre du 17 au 24 mars :
Aucune fusion NIP n’a eu lieu entre le 18 et le 24 mars.
PRs ouvertes et discussions mises à jour pendant la fenêtre :
NIP-AA: Autonomous Agents on Nostr (PR #2259) : Propose des conventions pour les agents autonomes opérant sur le réseau Nostr. La PR définit comment les agents s’identifient, découvrent des services et se coordonnent avec d’autres agents et humains via des événements Nostr.
NIP-50 (Search) : extensions de tri (PR #2283) : Ajoute des paramètres de tri aux requêtes de recherche NIP-50, notamment top, hot, zaps et new. Cela permettrait aux clients de demander des résultats classés aux relays qui supportent la recherche plein texte au lieu de trier côté client.
NIP-A5: WASM Programs (PR #2281) : Propose une convention pour publier et découvrir des programmes WebAssembly sur Nostr. Les binaires WASM pourraient être distribués comme événements Nostr, avec les relays comme couche de découverte pour du code exécutable portable.
NIP-CF: Combine Forces interoperable napps (PR #2277) : Définit une convention pour des applications Nostr interopérables (« napps ») capables de composer leurs fonctionnalités entre différents clients et services.
Snapshots NIP (PR #2279) : Propose un mécanisme de snapshots d’état relay, pour la synchronisation et la sauvegarde des relays.
Checkpoints NIP (PR #2278) : Propose des événements de checkpoints pour marquer un état relay connu comme bon, en complément de la proposition snapshots.
NIP-58 (Badges) : refonte des Badge Sets (PR #2276) : Restructure la manière dont les collections de badges sont organisées et référencées.
NIP-11 (Relay Information Document) : extensions (PR #2280) : Ajoute des champs supplémentaires au document d’information relay pour des métadonnées relay plus riches et lisibles par machine.
Cinq ans de mars Nostr
La newsletter du mois dernier retraçait la progression des mois de février de Nostr, de la réécriture de NIP-01 (Basic Protocol Flow) à la vague Damus sur l’App Store, puis au réseau maillé et aux propositions d’agents. Cette rétrospective suit ce qui s’est passé chaque mois de mars de 2021 à 2026.
March 2021: Two Commits
Quatre mois après sa création, le mois de mars de Nostr a produit exactement deux commits dans le dépôt du protocole, tous deux le 4 mars. fiatjaf a ajouté des liens vers des instances nostwitter, orientant les premiers visiteurs vers des déploiements fonctionnels, et a ajouté kind à la définition de filtre de base. Ce second commit est révélateur : en mars 2021, on ne pouvait pas encore filtrer les événements Nostr par kind. Le protocole en était à ce niveau de primitivité. Deux ou trois relays servaient le réseau. Le groupe Telegram constituait l’unique canal de coordination. Le dépôt NIPs n’existait pas encore, les propositions protocole vivaient comme fichiers dans le dépôt principal nostr. fiatjaf était l’unique committer ce mois-là. Toute la production de mars 2021 de ce qui deviendrait un protocole supportant VPNs, jeux multijoueurs et réseau maillé cinq ans plus tard tient dans un seul diff git.
March 2022: Pre-Damus Building
Le dépôt principal du protocole n’a reçu aucun commit en mars 2022. Le développement s’était entièrement déplacé vers les dépôts outils. Branle, le client web Vue.js de fiatjaf et à l’époque l’interface Nostr principale, a reçu 5 commits incluant le support de déploiement Docker et des correctifs d’affichage de noms NIP-05 (DNS-Based Verification) supprimant le préfixe _@ des badges de vérification. more-speech de Robert C. Martin, le client desktop Clojure, a enregistré 13 commits ou plus ajoutant threading, navigation clavier et fenêtre d’édition. L’auteur logiciel le plus célèbre construisant activement sur Nostr ce mois-là n’était pas un développeur crypto, mais la personne dont « Clean Code » s’est vendu à des millions d’exemplaires, écrivant un client Nostr en Clojure, un choix de langage qui dit tout sur la communauté des débuts : des programmeurs au caractère bien trempé construisant pour eux-mêmes.
Le réseau relay s’était étendu à environ 15 relays avec une base d’utilisateurs active comptée en centaines. Damus n’existait pas encore et ne serait créé qu’en avril 2022. Nostream n’était pas non plus apparu. Le travail du mois relevait de l’infrastructure : rendre les outils existants plus fiables pour la petite communauté qui les utilisait déjà au quotidien.
March 2023: Post-Explosion Infrastructure
Un mois après la vague Damus App Store et l’explosion au-delà de 300 000 clés publiques, mars 2023 a consisté à absorber la croissance. Le dépôt NIPs a fusionné 28 pull requests, le deuxième total mensuel le plus élevé de l’histoire du protocole. NIP-51 (Lists) a été fusionné, donnant aux clients des collections structurées de follow, mute et bookmarks. NIP-39 (External Identities in Profiles) a été intégré, NIP-78 (Application-Specific Data) a fourni un kind de stockage généraliste pour les applications ayant besoin d’état privé, et une réécriture de NIP-57 (Lightning Zaps) (PR #392) a consolidé le flux zap et clarifié la terminologie. La PR la plus discutée du mois était une proposition alternative de gestion des mentions (PR #381) avec plus de 50 commentaires.
Le nouveau projet le plus déterminant fut NDK (Nostr Development Kit), la bibliothèque TypeScript pour les connexions relay, la signature d’événements, le cache et la gestion des abonnements. pablof7z a fait le commit initial le 16 mars 2023, puis l’a réécrit de zéro 11 jours plus tard le 27 mars (« basically another initial commit »), et le support LNURL et zap fonctionnait au 31 mars. NDK est passé de rien à zap-capable en 15 jours. Cinq jours après la création de NDK, le 21 mars, l’équipe Alby a créé NWC (Nostr Wallet Connect), l’implémentation de référence de NIP-47 qui connecte les portefeuilles Lightning aux applications Nostr. Les deux projets qui soutiendraient les trois années suivantes de développement web Nostr sont nés dans la même fenêtre de 30 jours. OpenSats n’avait pas encore lancé son fonds Nostr ; la première vague n’arriverait qu’en juillet 2023, quatre mois après la création de NDK.
D’autres créations notables ce mois-là incluaient NostrGit, NostrChat, un projet nostr-signing-device par LNbits, et nostrmo. Gossip, le client desktop Rust centré sur la sélection intelligente de relays, a livré trois versions. Le protocole était en mode construction, et les outils créés en mars 2023 sont encore utilisés trois ans plus tard.
March 2024: Protocol Maturation
Mars 2024 a consisté à durcir le protocole pour un usage de long terme. Le dépôt NIPs a fusionné 12 pull requests. La plus significative fut NIP-34 (Git Stuff), PR #997, fusionnée le 5 mars après plus de 130 commentaires et 44 jours de revue. Le fil de discussion est une capsule temporelle montrant la communauté débattant de la manière de construire un GitHub décentralisé. jb55 a tracé des parallèles avec git send-email, Giszmo a proposé d’utiliser les hashes de commit racine pour la découverte inter-forks (« something GitHub doesn’t do and we could »), mikedilger a suggéré l’authentification signée par événements NIP-98 (HTTP Auth) au lieu des clés SSH, et fiatjaf a balayé sans détour le besoin de généralité du contrôle de version : « not for each version control system, just for git. No one uses the others. » Quelques heures après l’ouverture de la PR, fiatjaf avait déjà modifié nak, go-nostr et gitstr pour accepter des patches via Nostr. DanConwayDev, dont ngit était déjà bénéficiaire d’une subvention OpenSats, faisait partie des contributeurs les plus actifs de la discussion. Un champ bot pour les métadonnées de profil a aussi été fusionné, donnant aux clients un moyen lisible par machine de distinguer les comptes automatisés des comptes humains.
Amethyst a livré v0.85.0 avec support des événements git, articles wiki, rendu de données médicales et édition de contenu dans une seule version. Mostro a atteint v0.10.0. Nosflare, un relay Nostr serverless tournant sur Cloudflare Workers, a prouvé que la logique relay pouvait tourner à l’edge. OpenSats a accordé une subvention Long-Term Support à Bruno Garcia pour des contributions continues au client Amethyst.
March 2025: Infrastructure Expansion
Mars 2025 a produit 10 NIPs fusionnés. Le sujet central était NIP-66 (Relay Discovery and Liveness Monitoring), PR #230, fusionnée le 3 mars après un parcours de 25 mois. dskvr avait d’abord proposé la surveillance relay en février 2023, s’était entendu dire que cela pouvait se faire côté client, avait expliqué pourquoi se connecter à des milliers de relays à la fois était impraticable pour les clients individuels, avait traversé sept brouillons complets, construit des nœuds de monitoring sur huit régions géographiques (Nord-Est US, Brésil, US-Ouest, US-Est, Australie, Inde, Corée, Afrique du Sud), et attendu que l’outillage relay rattrape son retard. Au moment de la fusion, des implémentations existaient déjà dans nostr.watch, relaypag.es, monitorlizard, Snort, noStrudel et Jumble. Les données NIP-66 alimenteraient plus tard les benchmarks outbox de Nostrability couverts dans la Newsletter #12. NIP-C0 (Code Snippets) a aussi été fusionné (PR #1852, 63 commentaires), ajoutant les événements kind 1337 pour partager du code source.
Les premiers serveurs MCP pour Nostr sont apparus ce mois-là. nostr-mcp-server est apparu le 23 mars et nwc-mcp-server le 14 mars, seulement quatre mois après l’annonce du Model Context Protocol par Anthropic en novembre 2024. Ces premiers ponts ont précédé le SDK ContextVM complet et le travail ultérieur sur le commerce d’agents à la fin 2025 et au début 2026.
Gossip a livré v0.14.0. Coracle, le client web de hodlbod avec gestion de flux consciente des relays, a livré trois versions. OpenSats a annoncé sa dixième vague de subventions Nostr, poursuivant la chaîne de financement en place depuis mi-2023.
March 2026: Convergence
L’activité de mars 2026 est tirée des numéros Nostr Compass #12 à #15 (ce numéro).
Mars 2026 est le mois où des fils jusqu’ici séparés convergent vers des systèmes opérationnels. Le Marmot Development Kit a livré sa première version publique avec médias chiffrés, liaisons multi-langages et une migration ChaCha20-Poly1305 qui a exigé des mises à jour coordonnées à travers la spécification, Rust et TypeScript. Shopstr et Milk Market ont ajouté des surfaces de commerce MCP pour des achats pilotés par agents. L’auth relay NIP-42 a atterri simultanément dans Amber, strfry et OAuth Bunker, bouclant la boucle entre signataire, relay et logiciel bunker. Notedeck a livré des mises à jour logicielles natives Nostr via des événements de version NIP-94 (File Metadata).
Cette semaine, BigBrotr a scanné tout le réseau relay à la recherche de clés privées fuitées et a publié à la fois l’analyse et un vérificateur DVM. Nostr VPN a prouvé que le modèle de clé de Nostr fonctionne pour l’infrastructure réseau, pas seulement pour les médias sociaux. DOOM a montré que la découverte Nostr, le chiffrement Marmot et le transport QUIC peuvent faire tourner un jeu multijoueur en temps réel. Amber a bondi en v5.0.0. Wisp a livré 16 versions en sept jours. Vingt-cinq versions taguées ou plus sont venues de projets majeurs en une seule semaine.
Sept NIPs ont fusionné dans les 24 premiers jours du mois. Le protocole a ajouté le balisage Djot de NIP-54 (Wiki), des limites d’entrée pour NIP-19 (Bech32-Encoded Entities), la logique de requêtes booléennes NIP-91 (AND Operator for Filters) et les assertions Web of Trust NIP-85 (Trusted Assertions). Les propositions ouvertes allaient des agents autonomes (NIP-AA) aux programmes WASM (NIP-A5) en passant par les extensions de tri de recherche pour NIP-50.
Looking Ahead
Cinq mois de mars Nostr dessinent un arc clair. En 2021, une seule personne a fait deux commits dans un protocole qui ne pouvait pas encore filtrer les événements par kind. En 2023, NDK et NWC sont nés à cinq jours d’écart pour absorber l’explosion post-Damus. En 2024, un fil de PR de 141 commentaires débattait de la manière dont la collaboration git devait fonctionner sur un protocole social. En 2025, une spécification de monitoring relay patiemment réécrite sept fois en 25 mois a enfin été fusionnée. En 2026, quelqu’un s’est agacé de voir Tailscale exiger un compte et a construit un VPN avec des paires de clés Nostr, tandis que quelqu’un d’autre a livré un DOOM multijoueur qui découvre les pairs via des relays Nostr et chiffre la partie via Marmot. Le scan de 41 millions d’événements sur 1 085 relays par BigBrotr donne une mesure concrète de la croissance du réseau. La surface du protocole en mars 2026 aurait été méconnaissable pour le mars 2021, mais le modèle sous-jacent, des événements signés par des clés secp256k1 et distribués via des relays, n’a pas changé.
C’est tout pour cette semaine. Vous construisez quelque chose ou avez des nouvelles à partager ? Contactez-nous via NIP-17 (Private Direct Messages) DM ou retrouvez-nous sur Nostr.