New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Platform idea: Nostr #655
Comments
Hi @melvincarvalho - while it's not a priority right now to support platforms like this, it's definitely something that would be possible for a future addition, especially if there was an app that could make use of it. |
@silverbucket thanks! Nostr is a small eco system right now. But a few people are working on apps, built primarily over websockets. I wrote a short blog post explaining how it works: https://dev.to/melvincarvalho/the-nostr-protocol-nip01-5ach Hopefully in time it can build up a network effect and integrate with other distributed social web systems |
Nostr has been gaining a lot of popularity recently: Caution: Number of pubkeys is not very meaningful since it is trivial to create a new key-pair and most Nostr relays don't require proof of work. |
I've been thinking about the Nostr architecture and its place on the larger Web a lot recently, reading more of the specs and implementing a simple integration for Kosmos accounts. Since bitcoiners (but at the moment basically noone else) are going to use it anyway, unsolved problems be damned, I think it's worth making things more interoperable and connecting nostr and nostr keys more with federated systems for some easy win-win situations. Also, I'd like to explore using it for chat in Hyperchannel. One of the main problems I see with the current architecture, especially if or when there is a real influx of millions of people, is that clients cannot really scale in a decentralized way by following more and more relays, which is going to be inevitable when people are distributed across more and more relays. Here's where server-side aggregation (and other functionality) will, if not be outright necessary, at least have the potential to improve performance and UX considerably in my (current) opinion. So here is also where Sockethub, as a WebSocket-based, encrypted-session-offering, commodity, zero-config, opensource, proxy server could come in! Let's say I'm on a fairly slow, high-latency connection on my phone and want to fetch someone's profile, or maybe all potential chat messages in a public chatroom, or all timeline updates for the 500 people I follow. I could either go directly to 20 different relays from that connection and wait an excruciatingly long time until I actually (hopefully) get all the data I want, or I could go through a proxy like Sockethub and have it fetch things from all relays it knows it can read from, over a data center connection (or at least a fast home connection). Sockethub could also filter out unwanted information from pubkeys that don't interest me, or that are on a spam blocklist I follow or whatever, before sending it to my clients, further minimizing traffic and improving performance. @melvincarvalho @cameri @silverbucket Does this line of thinking, and the potential use case of Sockethub in this context, make sense to you? |
I chatted briefly with @melvincarvalho about this some time ago and from what I remember he had similar ideas, using Sockethub as an aggregate, but I'd be interested to hear if anyone has anything to add or clarify. While I have a general idea of the architecture, I have not read too much about the technical details. |
A new TypeScript library for Nostr was just released, and it looks fantastic: https://nostrify.dev And by the way, the relay situation is still the same for me, one year later. |
What is nostr
Nostr is a simple social network that sends signed JSON blobs to relays based on a client generated keypair
It is popular with btc and lightning network enthusiasts but is not tied to a block chain, only uses ec keys, and schnorr sigs
Each client connects to a number of relays, over websockets and send and receives social network posts or chat messages
The client then collects the posts and displays it in a user friendly twitter-like or chat-like UI
Where's the spec?
https://github.com/fiatjaf/nostr
Where's the client?
Clients are unhosted apps of which there can be many. They are not tied to any domain. An example client is here:
https://branle.fiatjaf.com/
Just making this issue as a place holder, to see whether nostr/sockethub could be a good fit. As we scale out relays more, and aggregators, nostr can hopefully interact with more services
Nostr Screenshot
The text was updated successfully, but these errors were encountered: