I was thinking about how to overcome the problem with hosted media when using nostr. I know there are NIPs that tried to push it to relays (not great, IMHO) and some other NIPs that still trying to address the issue to some extent. The main problem that I think needs solving is URL scheme that is universal for media (video, audio, images) that can be embedded in your immutable note. Then perhaps each client will “discover” where the actual files/stream is hosted and do the rest as with normal URL. One advantage is that user is free to re-host their media and still have functional notes. There are many things that will need to be thought through, but I think it’s a sound approach. What do you think? 🐶🐾🤔

Reply to this note

Please Login to reply.

Discussion

Lots of thought put into this message

Always trying to think things through 🐶🐾🫡🫂 thank you!

Your welcome! Your one smart pup!

What about the copycat problem?

No one has copied Jack or Will yet, but it’ll happen.

Is happening to me right now.

What’s the npub of your copycat? 🐶🐾🫡

I think you’ve interacted with them already.

npub1zky8clx3jrvkl4apjgpe0xafeplqz2h5dje5qx06v44h3eazl24snrfj2s

That's my name, don't scare it away! 😘

Hmm, not sure I did but that can be a problem, true. I guess one of the downsides of decentralization is opportunity for copycats to play their games. NIP-05 with your own domain should be one way to solve it, otherwise npub is the only way for me to tell your from copycat. I haven’t given it much thought so far, but your point is valid 🐶🐾🫡🫂

Yeah, mine is a PITA, but I’ve got thick skin and have made it entertaining. And probably annoyed the hell out of them considering I wouldn’t let them bully me.

Mine isn’t a powerful account though.

Use a self hosted nip-05 then you can verify that its really you.

I’m already verified though, or I was.

You can take a look at my alt account npub nostr:npub1fshcake8n69420zyzv4fezx98tuhr30zy6n09gfgkl39p3haqe4qae8ktp and quickly note that it is POW key and mine 🐶🐾🫡 makes it harder for impersonators

Wait, am I no longer verified? I used a paid relay, and it reflected on my account until recently…

You are! 🐶🐾🫡

Phew!

Though I don’t see it in my bio anymore for some reason.

Then your npub and nip-05 identifier are unique and cant be impersonated.

Existing protocols for media are fine. Maybe should use ipfs

Distributed over torrent. 😆

Too slow, but an option with proxies. I just don’t want for the domain name to be in the URL, or IP. It has to be something permanent 🐶🐾🫡

nostr : nmedia

nmedia:// 🐶🐾🤔

I was thinking about this at one point myself and thought that maybe it would make sense to be able to embed multiple URLs for the same media file so if one host goes down it would still be accessible via another one. Maybe also with some sort of hint as to how the multiple URLs are dealt with, e.g. primary/secondary, round robin etc. The client could also potentially then load from the lowest latency host to improve image loading performance.

I think the NIPs that push media to relays could work for images if we had special purpose relays specifically for hosting images, but I agree they aren’t the best solution in general.

Relay media is not a solution, it’s just not efficient and doesn’t scale. Embedded multiple URLs also doesn’t solve the problem, if both URLs are dead. I think a good abstraction layer here would be a solution but I am not sure if I didn’t miss something fundamental that will break things in adverse ways🐶🐾🫡

What’s wrong with URL’s?

You don’t own it! 🐶🐾🫡

Because you don’t want to?

Domain name is a rental property that you are not guaranteed to hold, that’s all. 🐶🐾🫡

Ah, I see.

URL works with IP, but same issue?

You can use @note as address space, maybe create a NIP that uses @file instead of @note and suddenly you can store media in multiple relays and retrieve them easily.

No, no meadow on relays, that’s not smart. Doable, but inefficient and doesn’t scale, and also legal issues may arise. NIP-95 tried to propose just that, and most of the relay operators refused to accept (rightfully so). I am talking about resolving specialized nostr URL to an actual hosted file URL. Then, we need a mechanism to resolve it, something like gossip or torrent magnet link, or something else. 🐶🐾🫡

Existing relays use @note I was proposing @file.

I wasn’t meaning the same relays serve both.

@file would probably work like CDN.

Ok, now I understand what you mean, yeas probably a good idea and additional abstraction 🐶🐾🫡

You would ideally embed enough URLs so hopefully they don’t all die but yeah it isn’t a perfect solution. I agree that an abstraction layer would be good but how exactly does the discovery work and how is the media distributed across multiple hosting services?

Many ways to go about it: host config in profile, gossip type of discovery, preconfigured mirrors/archives, special configurable proxy that does the discovery, etc. 🐶🐾🫡

I actually thought about a caching proxy type layer a while back that would sit in front of the media hosts as an alternative to using commercial CDNs. I was thinking about it more from the point of view of improving performance but the same sort of concept could work. Proxy would serve the content locally if it has it, otherwise fetch from the media hosts using some sort of discovery mechanism. Clients could have a list of proxies in the same way as they have a list of relays so if one goes down it uses another one.

There can be many ways, and translation layers/methods I guess 🐶🐾🤷‍♂️

maybe relays could run a fileserver alongside the relay.. but then you'd have to upload the image to 10 relays 😂