início

The end of NIPs

Many a time it has been brought up the fact that the NIPs repository is a central part of the otherwise fully decentralized Nostr protocol and some ideas have been proposed about how we should proceed to decentralize that part of it.

Two of the most reasonable approaches were (very simply) (1) for anyone to write their own version of the NIPs anywhere they wanted; and (2) to have a link from the NIPs repository to some "proprietary" specs defined elsewhere. Approach 1 has been more-or-less codified in the NUDs proposal (which wasn't really adopted) and approach 2 on the practice used a few times of "reserving kinds" in the NIPs repository README table.

Two frequent (and correct and good) arguments against "decentralizing" the repo were that (a) the current NIPs repo serves as a good discussion forum for new ideas and index of potential NIPs; and (b) some centralization is needed and good so developers are forced to cooperate and work on interoperability.

So here goes one idea that actually tries to satisfy 1, 2, a and b together while at the same time decentralizing the process as much as possible:

With this simple approach we solve many problems:

One last irrelevant word, if you aren't tired of reading: when I first turned the LNURL spec from a single confusing blob of text into a modular numbered-documents approach that approach felt very correct. However the situation was different, that thing described a single main "flow" with strictly optional features on top, each document described one of these optional features and what dependencies they had. Then I just copied that approach to Nostr, I'm not sure if I thought Nostr was always going to be a single main flow (text notes) but it clearly isn't and hopefully it will grow to be even less like that. Nostr also clearly isn't like a single-implementation programming-language-spec with a dictator and his committee on evaluating random "improvement proposals". So we're forced to conclude that the numberered-documents approach isn't the best way to do coordinate the creation of Nostr-based sub-protocols.

This article on Nostr

naddr1qqyrxvf3vgunjwt9qyghwumn8ghj7enfv96x5ctx9e3k7mgzyqalp33lewf5vdq847t6te0wvnags0gs0mu72kz8938tn24wlfze6qcyqqq823czkn5qp

#nostr