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 hash
  • PUT /upload téléverse un blob
  • les événements Nostr de kind 24242 autorisent 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 :

Mentionné dans :

Voir aussi :