Live data from Hacker News

Why I’m betting on Nostr

hivemind.vc

61–70 of 166 posts

Re: Why I’m betting on Nostr

#61
post #6

The number of users is almost irrelevant in the context of Nostr because many clients generate a new ID. These aren't email-verified/phone-verified users -- this is literally just a new key/ID being generated. Some web apps auto-create a new ID and join the network every time you use them. Also, the signal to noise ratio is really bad with a lot of spam and almost all discussions related in some way to crypto. Nostr…

It is always fascinating reading VC hit pieces like these to see just how many leaps of faith they must make and bags of salt they must eat to justify their investments the way they do. With the benefit of hindsight, Sequoia waxing lyrical about world's first trillioniare remains the best example among them all.

Re: Why I’m betting on Nostr

#62

as a dev and nostr user, here’s my elevator pitch: everything is an event. events are signed using pki so it’s easy to know who sent the event and it’s authentic. they’re human readable json objects. events flow over websockets so it’s “real time”. you can build literally anything on this platform - listen for a type of event, do something, emit another. it can all interoperable. we started with basic twitter clones…

and if there ever is spam you will have to choose a) see all the spam or b) block everyone new

Re: Why I’m betting on Nostr

#63
post #56
post #51

Earlier quoted context omitted.

There is no "zaps balance". Zaps are just receipts of lightning payments. The basic idea is that a lightning node will detect when the invoice with a nostr note inside is paid, and then send the receipt to nostr as a nostr note, with the original bolt11 invoice inside with the signature from the user who sent the zap. It's all described by NIP-57, a spec I put together to support this: https://github.com/nostr-protoc…

I read NIP-57 just now. I guess what confused me is I've used Nostr clients where everyone has a Zap button. Who is holding onto those lighting receive addresses until they specify where they want the funds to go? Like if someone Zaps me right now, I haven't specified a place for those Zaps to go. Do I call the Damus staff and they send the total of the micropayments Zapped to me over Nostr to a Bitcoin receive addre…

Lightning is an online protocol, so your wallet must be available to complete the transaction. No online wallet, no zaps.

Re: Why I’m betting on Nostr

#64

as a dev and nostr user, here’s my elevator pitch: everything is an event. events are signed using pki so it’s easy to know who sent the event and it’s authentic. they’re human readable json objects. events flow over websockets so it’s “real time”. you can build literally anything on this platform - listen for a type of event, do something, emit another. it can all interoperable. we started with basic twitter clones…

This isn't an elevator pitch, it's a standup line. I understand your excitement, but your elevator pitch fails to tell me why I should even look at it.

Who are you?

Re: Why I’m betting on Nostr

#65
I had looked at nostr before, and I had some criticisms of it:

1. The serialization and canonization of JSON. Fortunately the conversion to arrays without floating point numbers avoids the problem with digitally signing the canonized JSON, but this is still messy. There are other problems with using JSON too, including inefficient binary data, restriction of which character sets you can use, lack of proper 64-bit integers, and others. I preferred a efficient binary format instead.

2. Servers cannot send messages to each other. I would allow it as an optional capability, in addition to clients sending messages to multiple servers.

3. It should not need WebSockets; plain TCP (with optional TLS; it should not be mandatory) would do. Other optional protocols can also be possible to do, e.g. HTTP POST requests, or even HTTP GET (or Gemini) to merely receive a single message by its ID. (WebSockets in binary mode could also still work.)

4. Character encoding. Unicode is too messy as well as other problems. My proposal is you can specify what code page to use, including an extended TRON code (including ISO-IR-169, Cangjie, and others). A few control codes might be used, e.g. line break, furigana, and text direction; for simplicity you might not need much more than that I suppose.

5. Lost messages. Blockchaining (i.e. each message contains the hash of the previous message) might help a bit, but still sometimes you will have lost one, or an entire account is lost without anyone else referencing them. Making this mandatory comes with many problems, but being optional also has different problems, so it is unclear.

6. Some other stuff, too (I do not remember all of them at this time).

I had tried to design a better one, but I did not know what to call it so I just reversed "nostr" to make "rtson", but that doesn't seems like very good either. (Although, maybe is not needed; NNTP is good enough anyways.)

Re: Why I’m betting on Nostr

#66

All the degenerate token-fueled web3 hype of 2021 sold a bunch of dreams about decentralization and owning your social graph to unsuspecting retail and then delivered nothing but rugpulls and bankruptcy letters. Meanwhile, nostr built a system people actually use on top of open protocols. No tokens, no blockchains. Only notes and other stuff transmitted over relays.

To be fair to the Web3 hustlers, they never cared one iota that every 'decentralized app' was either a coin exchange, NFT marketplace or some hideous Pay to Earn abomination passing itself off as a 'game'. They pointed at every one of these snake oil machines and said "here's proof that it's being adopted".

Re: Why I’m betting on Nostr

#67

I had looked at nostr before, and I had some criticisms of it: 1. The serialization and canonization of JSON. Fortunately the conversion to arrays without floating point numbers avoids the problem with digitally signing the canonized JSON, but this is still messy. There are other problems with using JSON too, including inefficient binary data, restriction of which character sets you can use, lack of proper 64-bit int…

1. I concur. But it's no big deal. 2. Nothing prevents this, but it would be specified as a sister protocol. I haven't seen it specified, but I know that relays are doing it. 3. Websockets allows pub-sub. Clients stay connected to relays and instantly get the next message when it arrives. Polling means either lots of polling or having delays. 4. I can't even comment on this one. 5. Optional chaining is possible and has been proposed.

I also started a nostr-like protocol back in November 2022 based on my gripes with it. Then I came to my senses... nobody is going to use my variant. Perfection is the enemy of the good.

Re: Why I’m betting on Nostr

#68
post #6

The number of users is almost irrelevant in the context of Nostr because many clients generate a new ID. These aren't email-verified/phone-verified users -- this is literally just a new key/ID being generated. Some web apps auto-create a new ID and join the network every time you use them. Also, the signal to noise ratio is really bad with a lot of spam and almost all discussions related in some way to crypto. Nostr…

It is true anybody (or bot) can spin up new identites so the count of pubkeys doesn't say much.

It is also true that there is spam. But it is avoidable. Spam lives in the general feed and in replies. You can configure clients to ignore the general feed, only show posts of people you follow (and maybe of people they follow). If you want to meet new people, then use relays that filter spam. You have choices of how to solve this; nostr is about putting the decisions in your hands.

I have not seen any client that creates a new ID. I've always imported my key and used my same ID from day one.

But you are 100% that the community is heavily slanted towards bitcoin enthusiasts.

Re: Why I’m betting on Nostr

#69
post #57
post #41

Earlier quoted context omitted.

> If everything is an event, and you can send any types of events, then you can trivially saturate the network, the clients, and the relays with bogus events. I agree this is a problem. However, there is at least one protocol addition (that doesn't involve cryptocurrency per se, although it shares some ideas) that tries to address this: proof-of-work requirements. The idea is basically this: message IDs are SHA256 ha…

I don't think there's a trivial amount of computation people would want to perform that would cost too much for bots to advertise. I don't think people would be willing to wait 20 minutes on their phone to post a comment on a website. Assuming it's SHA256 like Bitcoin, from this video [1] a Samsung S22 Ultra does 400Kh/s. On a 6700 XT, the hashrate is 24 MH/s, that is like 50 times faster, or 24 seconds per post. If…

Hmm. I hadn't considered that. In my defense, I'm actually not a crypto guy at all, and so I hadn't given much thought to the actual dynamics. And now that I think about it, I don't think I've seen many relays actually implement that particular protocol extension, and this is probably why.

On the other hand, I think it's reasonable to note that individual relays could very well change their proof-of-work requirement over time to deal with network conditions. Because clients are expected to send events to as many relays as possible, it's not unreasonable to suppose that a client's message might very well make it through _somewhere_, even if a particular relay won't accept their message at a particular moment. Clients can always try again later.

I think it's also worth treating PoW as part of a "swiss cheese model" for managing abuse. There are layers in front of it (since the protocol uses WebSockets, all your standard DDOS protections can sit in front) as well as behind it (blacklisting or throttling pubkeys you don't know very well.)

One example that comes to mind is another protocol extension which provides a mechanism for client authentication, where a server can send a challenge string, in which case the client is expected to respond with a special event type which includes that same challenge string. Requiring a much higher proof-of-work requirement for this message type (and then accepting a lower PoW for messages sent afterwards on the same connection) is at least one idea of a scheme for mitigating spam.

---

For what it's worth, I wouldn't say I'm a True Believer at this stage of the game, but I find the whole thing pretty compelling, and at the very least it's something fun to hack on and experiment with.

Re: Why I’m betting on Nostr

#70

Earlier quoted context omitted.

> events are signed using pki so it’s easy to know who sent the event and it’s authentic. what problem does this solve? how many people are publishing events (tweets) that are inauthentic? you need to be logged in via password + 2fa on twitter to post. if somebody can post from your twitter account on your behalf, they are logged in as you. i don't see how "PKI" on top fixes that?

It removes trusting a 3rd party.

[deleted]
Post reply on HN