Replying to Avatar HORNETS

This looks awesome. I haven't looked at any if the code yet but I'm really interested in how this works

You said it supports chunked and unchunked files but how do the endpoints work?

Because blossom doesn't require that files be stored unchunked. Only that they are served via http under the unchunked hash. So it could support both

Either way I'd love to get in contact any discuss this

Reply to this note

Please Login to reply.

Discussion

By chunked, we mean cryptographically verifiable chunks like merkle trees. Blossom is just a hash of the whole data itself. Chunked files are referenced by their merkle root hash.

We’ve evolved nostr:npub1h0rnetjp2qka44ayzyjcdh90gs3gzrtq4f94033heng6w34s0pzq2yfv0g to support either or in a unified way. In the next few days, more documentation and a NIP will be released explaining how it all works in a modular way.

This will be more like a “launch week” with so much more coming. Stay tuned! 🚀

I'm really curious what the "unified way" is because its possible that it could be 100% compatible with the blossom api spec.

Since we don't have to worry about hash collisions, it could serve files under both the unchunked and merkle root hashes

Either way I can't wait to see

I bet you’re gonna love it 😁

We’re almost done. We mostly mimicked the same API endpoints Blossom uses, yes. It’ll be easier to explain when the documentation is ready in a few days!

Sending raw blobs over a network is straightforward as they are contiguous blocks of binary data without internal structure, simply transmitted as a byte stream. In contrast, Merkle trees require serialization because their hierarchical structure and node relationships must be preserved and understood by the receiver, which cannot be achieved with a raw byte stream alone.

This is why Blossom cannot support Merkle Trees. Although, it’s fine — Merkle Trees are only necessary for large files anyway. We kept both standards alive. 😁