Blossom-protocol
Blossom is een media-hostingprotocol voor Nostr dat blobs opslaat op gewone HTTP-servers en ze adresseert met een SHA-256-hash in plaats van door de server toegekende ID’s.
Hoe Het Werkt
Blossom-servers bieden een kleine HTTP-interface voor blob retrieval, upload en beheer. De canonieke identifier is de bestandshash, dus dezelfde blob houdt hetzelfde adres op elke compatibele server.
GET /<sha256>haalt een blob op via hashPUT /uploaduploadt een blob- kind
24242Nostr-events autoriseren uploads en beheeracties - kind
10063events, gedefinieerd in BUD-03, laten gebruikers hun voorkeursservers publiceren
Omdat de hash de identifier is, kunnen clients de integriteit lokaal verifiëren na het downloaden en een andere server proberen zonder de onderliggende verwijzing te veranderen.
Waarom Het Belangrijk Is
Blossom scheidt blobopslag van sociale events. Een note of profiel kan naar media verwijzen zonder die media te koppelen aan het URL-ontwerp van een enkele host.
Dat verandert ook de afhandeling van storingen. Als een server verdwijnt, kunnen clients dezelfde hash ophalen vanaf een mirror, een cache of een server die is ontdekt via de BUD-03-lijst van de auteur. Dat is een praktisch voordeel ten opzichte van mediasystemen waar de oorspronkelijke host-URL de enige locator is.
Interop-opmerkingen
Blossom is modulair. Het kernverhaal voor retrieval en upload staat in BUD-01 en BUD-02, terwijl mirroring, media optimization, autorisatie en URI sharing in afzonderlijke BUDs zijn opgesplitst.
Die opsplitsing laat clients het minimum implementeren dat nodig is voor basisinteroperabiliteit, en daarna optionele onderdelen toevoegen zoals BUD-10 URI hints of lokale caching naarmate support rijper wordt.
Primaire bronnen:
- Blossom-repository
- BUD-01: Serververeisten en blob retrieval
- BUD-02: Blob upload en beheer
- Handleiding voor Local Blossom Cache
Vermeld in:
- Nieuwsbrief #1: Nieuws
- Nieuwsbrief #2: Opvallende code- en documentatiewijzigingen
- Nieuwsbrief #10: Blossom local cache-laag verschijnt
Zie ook: