Protocole Blossom
Blossom est un protocole d’hébergement média pour Nostr qui stocke des blobs sur des serveurs HTTP ordinaires et les adresse par hash SHA-256 plutôt que par des identifiants assignés par le serveur.
Fonctionnement
Les serveurs Blossom exposent une interface HTTP restreinte pour la récupération, le téléversement et la gestion des blobs. L’identifiant canonique est le hash du fichier, de sorte qu’un même blob conserve la même adresse sur tous les serveurs conformes.
GET /<sha256>récupère un blob par son hashPUT /uploadtéléverse un blob- les événements Nostr de kind
24242autorisent les téléversements et les actions de gestion - les événements de kind
10063, définis dans BUD-03, permettent aux utilisateurs de publier leurs serveurs préférés
Comme le hash sert d’identifiant, les clients peuvent vérifier l’intégrité localement après téléchargement et tenter un autre serveur sans modifier la référence sous-jacente.
Pourquoi c’est important
Blossom sépare le stockage des blobs des événements sociaux. Une note ou un profil peut pointer vers un média sans lier ce média au schéma d’URL d’un seul hébergeur.
Cela change aussi la gestion des pannes. Si un serveur disparaît, les clients peuvent récupérer le même hash depuis un miroir, un cache ou un serveur découvert via la liste BUD-03 de l’auteur. C’est une amélioration concrète par rapport aux systèmes média où l’URL de l’hébergeur d’origine est le seul localisateur.
Notes d’interopérabilité
Blossom est modulaire. Le comportement de base pour la récupération et le téléversement est défini dans BUD-01 et BUD-02, tandis que la réplication, l’optimisation média, l’autorisation et le partage d’URI sont répartis dans des BUD séparés.
Cette séparation permet aux clients d’implémenter le minimum nécessaire pour l’interopérabilité de base, puis d’ajouter des éléments optionnels comme les indications URI BUD-10 ou la mise en cache locale au fur et à mesure que le support mûrit.
Sources principales :
- Dépôt Blossom
- BUD-01 : Exigences serveur et récupération de blobs
- BUD-02 : Téléversement et gestion de blobs
- Guide du cache local Blossom
Mentionné dans :
- Newsletter #1 : Actualités
- Newsletter #2 : Changements notables de code et documentation
- Newsletter #10 : La couche de cache local Blossom émerge
Voir aussi :