Blossom is a media-hosting protocol used in the Nostr ecosystem that identifies uploaded files by cryptographic hash rather than treating one social server as their permanent owner. It is designed to make blobs such as images and video independently hostable and verifiable.
Hash-addressed media outside relays
A client calculates a hash of the file and interacts with a Blossom server using protocol-defined HTTP operations. The hash becomes the stable content identifier: if the same bytes are available from another compatible server, a client can verify that they are identical. Nostr events can then refer to the media without requiring the Nostr relay network itself to carry large binary files. Authorisation can use signed Nostr events so upload and management actions remain tied to Nostr keys.
Why Nostr needs a blob layer
Decentralised social protocols often handle small signed events well but struggle with media. Putting every video through relays would be expensive, while ordinary CDN URLs can disappear when one host closes. Hash-addressed media separates content identity from a single storage location and gives clients a way to verify mirrors. That makes it easier to build redundant or user-chosen media hosting around Nostr.
Availability is still somebody's job
A hash does not guarantee that a file will remain available anywhere. Someone still has to pay for storage and bandwidth, and servers can enforce quotas or moderation policies. Hash-addressing also exposes when files are identical, which can have privacy implications. Blossom should therefore be understood as a storage and verification convention, not permanent decentralised archiving by itself.
Related reading
- What Is NIP-46? Nostr Remote Signing and Bunker Accounts Explained
- What Is plc.directory and Why Does AT Protocol Depend on It?