Oddbean new post about | logout
 I'm sure there are many flaws to my thinking on the most-efficient use of lists within events, but I want someone to actually point them out.

Don't just say, "No, we have always done it this way and it's too late to change."

It is never too late to change. 
 https://image.nostr.build/c2ee7f4ebbc410a90050607d69e1b9ebc14b4d51ecf81c3ff9a5bae1aaa37e7b.png 
 Memeing a very small revolution in a very niche technical spec with Snoopy comics. 💪 

😅  
 It's hard to change things around here. Most nostr devs has the Bitcoin syndrome and think the word protocol means you should never change anything.
Maybe when nostr:nprofile1qqsgydql3q4ka27d9wnlrmus4tvkrnc8ftc4h8h5fgyln54gl0a7dgspzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgqg5waehxw309aex2mrp0yhxgctdw4eju6t0qy2hwumn8ghj7un9d3shjtnddaehgu3wwp6kyfehcpn says something we can get clients to change the insane data usage they use, start moving out of kind 1 replies and fix the lists.
The only constant in software is change and if there's a better way to do something you should do it. 
 Yeah, I think GitCitadel is going to go full-Rambo and just start out with kind 1111, labels and embeddings, low data mode, etc.

Just be like
https://media.tenor.com/FCNQmb0XVzkAAAAC/fire-kill.gif 
 Change it. Current system is broken. My follow list is 186kb. A subscription on those pubkeys explodes everything. Primal can't handle it at all, Amethyst barely handles it. A lot of other clients just give up because it's not allowed by most relays.

Lists shouldn't be that large.

https://image.nostr.build/50dc5a1115c597eee4018d23d47c79318af9bab88ec7c4d96c580c91b5655cac.png 
 Yeah, I had to unfollow people, to get mine to work. Then they started expanding the size and it's like 🤦🏻‍♀️

We are only a couple of years in and the OtherStuff is just getting going. The lists are going to be HUUUUUGE. 
 Not sure how attestation would change the REQ part though. If I migrate 2500 people into an attestation status, how can clients request for data on all those people? It'll hit either the REQ size limit or the subscription limit of relays. 
 That's the fun part. They don't. 😂

Totally silly to REQ 2500 people, at one time. We just won't do that. 
 That's an event flood, not bloat. 😂 
 I think keeping events relatively small should be something we actively work toward. 
 A big differencee between our 30040 and a gigantic follow list is that: 
the index items aren't meant to repeat (you don't list the same chapter 15 times)
the list has a natural hierarchy, so that you can split it into cascading sections (the Gospels contain Matthew, Mark, Luke and John).

A follow list has no inherent hierarchy (Bob is not a higher-level person containing Susan, Tracey, and Steven). 
 What you can do with follows is catogorize follows, but because the categories are abstract, not inherent, you will inevitably have people you can place in multiple categories, so adding hierarchy to a follow list creates redundant list entries (Bob is in the frens, baking, C++ community, and coworker lists, for instance). Which we already see. Npub lists are incredibly redundant because they most active npubs can be categorized n different ways. Anyone worth categorizing is worth categorizing with all sorts of stuff, that's why counting the number of labels people attach to a Kind 0 would be a truer signal about how information-heavy an npub is, than mere follows.