Initially, I was quite skeptical about Nostr, mainly because I didn't think it could scale or develop a good uX around a global feed. I was also sort of disenchanted when talking to Nostr fanboys early on who couldn't dispel some technical concerns I had.
Guess what?
I still feel this way.
This may eventually change, but in the interim I have discovered the "other stuff" and this has kept me very engaged. I want to share what parts of Nostr I like very much.
  • Ephemeral Identities: Because it's so easy to create a valid Nostr keypair and start using Nostr, there are interesting use cases around passing one time messages for provisioning and setting up various applications.
  • Oauth Authentication: There is low hanging oauth fruit with Nostr identities. If you come across a serious Nostr user they will likely have a bunch of public kind0 metadata including a name, preferred relays, lightning address/lud16, etc.. This is very useful for developers to onboard users to their application. Further many browser extensions help with “Login with Nostr” ideas and signing authentication messages. If a browser extension isn't available an OTP message using nip-04 can easily be sent to a user for verification.
  • The Pub/Sub Ephemeral Free Lunch: I've come to the opinion Nostr is probably one of the best ephemeral free lunch platforms out there at the moment. I feel every note should be treated as ephemeral until relays have a business model. I feel the only likely solution for these relays is to purge data after a certain age. I'm unsure if paid relays will become popular, but at the moment I assume they won't be. Nostr's framework is ideal for transient, encrypted message exchanges, where data persistence is not a priority. The developer experience with filtering on specific relays and looking for DMs and notes based on one time use identities is pretty neat.
Seeing things come to life using all the above:
Given some of the information above this has enabled some really cool things that I didn't first consider. The free lunch and frictionless developer experience provides interesting ideas of passing 1 time data around. Games like this Connect4, https://connect4.xyz show cases a multiplayer game that doesn't need a game server and can be completely hosted on Github pages for free. The data uses Nostr to facilitate message passing between clients and even observers of the game sessions can watch the game doing the same thing. These messages don't need to be stored for any length of time after they are read and the game is finished, it really highlights the ephemeral beauty of the short lived data.
I've personally implemented Nostr on my own personal project. I've set up Nostr Oauth via browser extensions and natively with OTP nip04 DMs for non browser extension logins. I've Implemented NWC (Nostr Wallet Connect) payments where users can set up budgets with a NWC provider like Alby or Mutiny and make lightning payments with an automated budget. I'm now posting in-game events and purchases as public notes that aren't critical to the game, but are fun to see the latest action in the game. See Satoshi Settlers: npub1wz8v75sfhx2h0kggwp328ehr0aanl8c3uxzxqmxk4uvvzzm6xruqtc4qjt. You can check out a game using NWC and OTP Nostr login here: https://satoshisettlers.com
Note: I understand many people don't think a global feed is important or needed for Nostr, however many do. A recent Nostr panel I attended had every panelist agree that a global feed had significant importance.
Some things I still have concerns about:
  • Standards around relay to relay communication and future scaling to prevent supernode central relays.
  • Business models around relays and them being sustainable.
  • Account management and recovery when a well established Nostr identity gets compromised.
  • Wildly different uX between popular Nostr clients that could confuse users that have a client that doesn’t support whatever thing is being done.
  • Potential for users getting disenfranchised if/when they learn their notes get deleted from the free lunch relays and they think Nostr owes it to them to host this data for free.
I'm still suspicious of what "social media" looks like going forward. I WANT Nostr to succeed on all fronts including social media but for now I still am pretty satisfied and excited about the "other stuff".
The 100% biggest issues of Nostr are privacy issues. Specifically "IP Leaking via relays" and "seeing DM activity between known public keys".
For #1. To be clear, I'm not sure if thats nostr problem to solve....I mean VPNs / Tor exist for this exact reason.
However #2 is a harder problem to solve. If you are a known entity (Odell for instance), then your public key becomes known. Therefore its trivial to see "who is DM-ing who" and related "who is zapping who". Both of those are pretty bad for privacy.
reply
derivative keys might solve some of #2
reply
NIP-44 has been merged few days ago and, even if not perfect, it solves many problems: https://github.com/nostr-protocol/nips/blob/master/44.md
About zaps, a private mode exists, even if not all client support it.
reply
"I was quite skeptical of Nostr at first. So I spent 1 full year working on it and becoming a leading expert on it. I now think it actually has merit."
Either you're nuts or you like story-telling. Thanks for the overview anyway.
reply
Haha, yeah I may be nuts, for more context though: discovering the connect4 game and not being able to find fault in it's design and also chatting with fiatjaf and realizing he intended nostr to be more for microblogging than a twitter substitute helped me along the way. My company is always running a Nostr relay as one of our products, so that was also a way to keep me going back to it regardless.
reply
Great post. Thanks for sharing your thoughts. I still think Nostr has much promise even though the initial enthusiasm has cooled.
reply
stackers have outlawed this. turn on wild west mode in your /settings to see outlawed content.