Oddbean new post about | logout
 I was thinking recently that maybe the gossip model could benefit from being run as a service then you could interface with it as a relay, a proxy relay, for example we have relay multiplexers like bostr that just proxy between you and the relays you connect to. What if those multiplexers dynamically connect to different relays using the gossip model? The gossip model would work relay side rather than client side, so it can be implemented in any client without the client having to implement the gossip model, you just connect to it as a relay and it will automatically connect for you to the relays of your contacts, it would also be safer for users not to connect directly to unknown relays and expose their IP, and it would also be quite lightweight and bandwidth saving for users. Does this make sense?

@Gigi @PABLOF7z @fiatjaf @Vitor Pamplona @hodlbod @hzrd149 @jack @Derek Ross
#soveng 
 I built this for myself last February, I was calling the method “relay traversal” but the idea was similar.

This is fine and useful.

But it doesn’t replace clients also doing this. 
 Oh are you still working on it? I love to use it for upcoming lume mobile client 
 no, it was very very early days; I totally abandoned it once I didn't need it anymore 
 I also built this a year ago: https://github.com/coracle-social/multiplextr

Mine is gossip-compatible, but replies on a wrapper protocol supported by clients. I tried creating a smarter relay proxy like you're describing, but had a couple problems:

- If the relay goes off your relay list, you can end up with mutually recursive proxies spamming each other
- It's currently impossible to proxy auth. Which is a good thing, because you would really have to trust proxies.

Talking to nostr:nprofile1qy88wumn8ghj7mn0wvhxcmmv9uq35amnwvaz7tms09exzmtfvshxv6tpw34xze3wvdhk6tcpzdmhxue69uhhqatjwpkx2urpvuhx2ue0qqs04xzt6ldm9qhs0ctw0t58kf4z57umjzmjg6jywu0seadwtqqc75s7gh8sw  about this a while ago, he proposed that remote signers could double as proxies, reducing round trips and saving resources. I think that's a very promising approach. 
 yeah, I think there's something quite cool about it

for my proxy implementation I had modified damus to only connect to my relay (it kept insisting on trying to connect to more when configured to use just one)