Interesting. I’d never compared those two concepts - composability vs interoperability. Makes sense.

I sometimes wonder how tolerant a network like nostr is of disagreements or incompatibilities between clients at the protocol level, and whether this sort of tolerance is something that can be well-defined and quantified. Seems to me the NIP system makes nostr very tolerant, and this is a good thing: a small handful of NIPs is enough to make any given client compatible with most or all others. Smaller feature set, but compatible nevertheless.

In contrast: if were to build on IPFS or bluesky, my understanding (correct me if I’m wrong) is that I’d have to adopt basically their entire protocol (or a huge chunk of it) just to do an MVP. Imagine the state of nostr if there were 1000 NIPs and you had to adopt every single NIP from 1 to 1000 (e.g. you have to import a ref library) before releasing v0.0.1, even one with a small feature set, or else your app would break.

I don’t know what you call this feature of nostr, the fact that the “minimum requisite protocol” for a starter MVP with a sparse feature set is very small compared to alternatives. Is there a name for this? Seems like it’s worth giving it one bc it’s one of nostr’s greatest strengths imho.

Reply to this note

Please Login to reply.

Discussion

Another point worth mentioning is that the event type is an integer. It sounds dumb, but this has a massive psychological effect on devs.

The fact that it is an integer forces us to interoperate. If it was a string, Nostr would have been just a bunch of non-interoperable "damus:1", "damus:2", "amethyst:1", "iris:4" event types. It's just a lot easier to create your own silo when you can name your type.

If you look at the Verifiable Credentials community, the data model types are DIDs on themselves and thus each issuer creates their own types at will. There is no interoperability at the semantical level even though they make an effort to use the same vocabulary for terms. It's why I left them for Nostr.

If Nostr gets big, there will be whole PhD thesis written on this

Data model types, interoperability at the semantical level … I agree: these topics are worthy of many PhD theses!

One thing that has always amazed me about the spoken language is that the space of all possible sounds we could conceivably use to represent any given thing, like a “spoon” for instance, is so large, with no schelling point, and yet we somehow magically all agree (99.9% of the time) to call it the same thing, with no central authority enforcing the consensus.

Perhaps if we could figure out how to reproduce that phenomenon for

data model types in the digital world, then VC interoperability would improve.

Solid points.