I think nostr may already be doomed for two reasons. And as a result of that, if I conclude as such, it would make sense to start working on a successor protocol. I've been taking some notes about what we should change if we started over, but that's the extent of it, I'm not working on a successor protocol. I'm only working on nostr. So don't misinterpret this note, which just represents some thoughts I've been having.
Reason one is the misaligned incentives of note copying. The incentives are to copy your notes to every relay you can, blast them out everywhere, to get more reach. That incentive doesn't go away until and unless all the clients do the outbox model. But they don't have an incentive to change, and there are people who don't give a fuck about fixing this and argue against fixing it and argue for note copying, and there is no way in a free society to make them care. So we can never fix this, and nostr will always be centralized in practice and never what it could have been. That means nostr is doomed and unfixable and we should make sure to start differently next time so this doesn't happen again.
Reason two is that the seed culture of nostr was far too monolithic: bitcoiners. What a culture develops into probably depends on how diverse its seed was. It's quite hard to get people onto nostr unless they are at least very bitcoin tolerant. Most people (yes, I think most) are put off by so much bitcoin promotion and related posts. Certainly people can follow anybody they want, and make their own independent cultures, perhaps even on a disjoint set of relays. But this isn't likely to happen due to the law of large numbers - there are far more ways for them to encounter and interact with the nest of bitcoiners then to not encounter and interact with them.
These are thoughts I'm entirely unsure about. Maybe I'm wrong in both cases. These are my worries.
Well, if someone doesn't publish a kind-10002 and instead publishes an inbox model thing, I can still secretly follow them using the gossip model (which may be by following them on one of their followers' relays)
Someone might have a paid newsletter that is only delivered to private inboxes, each copy watermarked so they can determine if anybody leaked it and cancel that subscription.
The main problem I have with blastr (@5be6446a) is that it works too well. So well that lots of nostr software is broken and the developers don't even know it is broken because blastr fixes it for them. It is like everybody is riding their bicycles with training wheels on, and we don't have a clear idea who what software would fall over if the training wheels came off.
If events were not being copied (at least for a while) then the community of devs could find and fix the insufficiencies. But is that a pipe dream?
Secondarily, I don't like the inefficiencies of copying events all over the place and I think that won't scale as nostr grows. But that is a self-correcting problem.
These models of following people have different properties. Compared to the outbox model, the inbox model has these properties:
* The publisher improves their reach by pushing their events to many relays * It is easy to see and count who is following the publisher * The publisher can cut you off, and you cannot follow someone secretly under this model * Readers only have to read from their own approved relays, not random ones they might not trust. This might also be nice for power-limited phones. * Worse overhead because events are copied to all the recipient relays, which might be a lot of copies. * It is not clear where reactions and replies go, or if everybody participating in a converstaion sees the reactions/replies of everybody else participating
Linux succeeded because "WE DO NOT BREAK USERSPACE". For nostr to succeed, changes must "NOT BREAK EXISTING IMPLEMENTATIONS". There shouldn't be any exceptions to that EVEN IF THE IMPLEMENTATION WAS NON-COMPLIANT.
Pay close attention to Linus right here:
> Are you saying that pulseaudio is entering on some weird loop if the > returned value is not -EINVAL? That seems a bug at pulseaudio.
Mauro, SHUT THE FUCK UP!
It's a bug alright - in the kernel. How long have you been a maintainer? And you *still* haven't learnt the first rule of kernel maintenance?
If a change results in user programs breaking, it's a bug in the kernel. We never EVER blame the user programs. How hard can this be to understand?
Linus doesn't want to break pulseaudio EVEN THOUGH pulseaudio was doing the wrong thing.
It seems like every week I find a NIP that I've coded for has changed. This last week I think it happened three times already. Sometimes it's a small change and I quickly update my code. But I can't read all the PRs, and I'm afraid dozens of small changes have slipped past my notice. Gossip is probably now incompatible with multiple other implementations which happen to have implemented different versions of the same NIPs (some older, some newer).
Even if we didn't have any breaking changes, the simple fact that different software implements different optional NIPs itself presents to end users like broken software. Why does it work in Damus but not Amethyst? Why does it work in Amethyst but not Coracle? That is an even harder problem to solve.
But let's at least solve the easier problem and stop changing NIPs. If you don't like a NIP make a new one, don't break the current one. Even if you think the current one sucks balls and should have never happened. Even if you think there aren't many implementations out there.
The reason he left Twitter is because they *didn't* kick off Alex Jones yet. I'm not sure he's ready to accept a world that contains people he doesn't like. Little Wesley Crusher still has some growing up to do.
I share your lack of appreciation of Family Guy. In fact after not seeing anything funny on TV in years, I turned mine off and didn't bother to install one in my new house.
Keeping animals alive forever is going to require the terraforming of Mars. Do you support terraforming of Mars and do you support the forcible transfer of animals (a possible crime against animality) to the terraformed Mars so that they do not die of Malthusian starvation here on an overcroweded Earth?
Because AFAICT by the example, what is desired to be expressed is Alex is associated with gleasonator.com and also associated with mostr.pub. Which to me means that Alex could wish to have two different NIP-05 addresses. Which isn't currently a supported thing.