I’ve been contemplating a proper use of NIP-95 (I do like the idea) and maybe creation of a special relay/CDN for that. It does open a lot of interesting use cases, if we have data as a note. One problem that I find hard to swallow is inevitable increase of the size due to inefficiencies of base64 (about 1.37 times). This probably will rule it out for use in mobile applications (telcos charge a lot per bits) but for some cases it might be OK.

After some research, I think creating a serverless relay to work with CDN is not impossible, and can be even cost effective. What do you think would be some good use cases for files in notes?

🐶🐾🫡

Reply to this note

Please Login to reply.

Discussion

Maybe use BSON? 🐶🐾🤔

https://en.wikipedia.org/wiki/BSON

Are you going to create Bostr? 😂

This is one of the issues I have with it too, we shouldn’t really need to encode binaries as text in 2023 but I do think we need a more decentralised file hosting solution than we currently have.

Well, the integration of files in the nostr has advantages, and I see why #[3]​ is so bullish about it. It’s just the matter of making it right and efficient. I am not planning on making anything yet, but I am just playing with the idea. 🐶🐾🤔

Yeah I see the point in it, I just don’t like the inefficiencies and I don’t think many current relays are really sized correctly for handling a lot of binary data.

I am not talking relays as one server, that’s not scalable to many people. I am talking complete decentralized serverless thingy. It is doable, for sure. JSON sucks for this, 💯! BSON maybe the solution, I think it’s in place replacement, so no specs need to be altered. Just change encoding, I think! 🐶🐾🤔

I have not yet formed an opinion but I am pretty sure that a relay handling notes is inefficient and unnecessary. From here, my preliminary opinion (I insist, I have not formed it) is that it is preferable to continue with the centralized hosting model since I do not see a substantial improvement with the new model.

That does not mean that we should not look for a more efficient system, but in practice we are changing a bad system for a worse one (in terms of efficiency).

I need more time to think about it, does anyone have some time to give me? 😅

I agree. There are ways to make it better, we just need time to think and brainstorm! 🐶🐾🫡

*zero technical knowledge opinion*

Is there a technical problem with integrating current clients with keet.io? Aside from using it as a better native voice/video chat, maybe it could provide better flexibility for file shares? Relays hosting files is probably fine, I think we should open a plurality of options and see what people create with them, I just think we have an option here. My nas would probably react differently to a keet server intended for file sharing than it would as a relay.

Scale is the problem. It’s easy to do things for few people, it’s magnitudes harder to make it work for millions at a reasonable efficiency. 🐶🐾🫡

Right, but in the long term if someone is hosting a lot of files than they could have/pay for a keet server, and users could have their own monetization scheme. Otherwise, how much do you have to pay for a relay when you start uploading/downloading gigabytes at a time, doesn't that create some unnecessary centralization because users are having to decide between which relay they want a stiff monthly sub for? This way, you are only paying for the data you upload/download, rather than access to the terabytes of data that you aren't interested in, leaving the user with more money to spend somewhere else.

Again, very limited technical understanding of how all this really works, just what I have noodled out.

Good points. Thank you! 🐶🐾🫂

I think we could build a HTTP CDN that sources blobs from NIP-95 relays. Maybe also one that automatically converts every NIP-95 to a magnet-uri.

It just makes little sense to transfer blobs over websocket. Aren't relays inefficient as they distribute the same copies of the same events?