Dikaios1517 on Nostr: See! An FAQ would definitely be helpful! In any case, follower counts are impossible ...
See! An FAQ would definitely be helpful!
In any case, follower counts are impossible to get accurate, because of the way they are tracked.
Presenting a count of how many people YOU follow is easy. It's all saved in your follow list, which is updated and signed by your private key every time you follow or unfollow an npub. So long as that new version is spread around well enough, clients will consistently present the same number.
It's quite a different story when trying to count how many people follow you, though. Think about how a Nostr client would be able to get that information. For centralized social media, it's easy. It's all stored in one server. But on Nostr, different users could be storing their follow lists on any one or more of thousands of relays. Your client, therefore, has to try and reach out to ALL of the relays it can, ask for any follow lists that have your npub listed, weed out the duplicates, and tally them up. What if it doesn't reach out to every relay that has a follow list on it with your npub included? That's highly likely. What if not all of the relays respond? That's highly likely. What if a portion of the relays are offline? That's almost a certainty. What if the request from the client times out before all of the relays have responded? Yep, that is also frequently the case.
So, why does Primal's follower count seem to show so many more followers, and also seems to stay a more consistent number (other than the follow/unfollow bots causing fluctuations)? Because Primal apps don't read from all the relays to calculate your follower count. Instead, their caching server pulls in follower lists (and most other notes, too) from as many relays as they are aware of, so that they all live in one place and can be counted easily. Most Nostr clients read from relays directly, but Primal apps do not, and that comes with some tradeoffs. You get a more consistent and probably more accurate follower count, but Primal's caching server becomes a central point of failure and a central point of censorship for anyone using their apps.
Published at
2025-05-30 20:45:30Event JSON
{
"id": "07440a06d46a4ac048f5ef25e7442b2eabe492f01716fa8874631542658874be",
"pubkey": "b7274d28e3e983bf720db4b4a12a31f5c7ef262320d05c25ec90489ac99628cb",
"created_at": 1748637930,
"kind": 1,
"tags": [
[
"e",
"f6bdaf40496c206079a8c9bf95daf02cdfa1fc19b819aaa42f83bc19838e465c",
"",
"root",
"b7274d28e3e983bf720db4b4a12a31f5c7ef262320d05c25ec90489ac99628cb"
],
[
"e",
"1089e46d4238653c6d049b90af68546dd2c235de6cd0528a612dd860bee5fe74",
"wss://wot.brightbolt.net/",
"reply",
"0f4011159c24a6a53eeea72e1c2e97e0425be8af15e7de397003dd65d9e8d278"
],
[
"p",
"8aa70f4433129dadb71330ac89f62b534caa200a9f3ee349a0f4a5593073d1a6"
],
[
"p",
"0f4011159c24a6a53eeea72e1c2e97e0425be8af15e7de397003dd65d9e8d278"
]
],
"content": "See! An FAQ would definitely be helpful!\n\nIn any case, follower counts are impossible to get accurate, because of the way they are tracked.\n\nPresenting a count of how many people YOU follow is easy. It's all saved in your follow list, which is updated and signed by your private key every time you follow or unfollow an npub. So long as that new version is spread around well enough, clients will consistently present the same number.\n\nIt's quite a different story when trying to count how many people follow you, though. Think about how a Nostr client would be able to get that information. For centralized social media, it's easy. It's all stored in one server. But on Nostr, different users could be storing their follow lists on any one or more of thousands of relays. Your client, therefore, has to try and reach out to ALL of the relays it can, ask for any follow lists that have your npub listed, weed out the duplicates, and tally them up. What if it doesn't reach out to every relay that has a follow list on it with your npub included? That's highly likely. What if not all of the relays respond? That's highly likely. What if a portion of the relays are offline? That's almost a certainty. What if the request from the client times out before all of the relays have responded? Yep, that is also frequently the case.\n\nSo, why does Primal's follower count seem to show so many more followers, and also seems to stay a more consistent number (other than the follow/unfollow bots causing fluctuations)? Because Primal apps don't read from all the relays to calculate your follower count. Instead, their caching server pulls in follower lists (and most other notes, too) from as many relays as they are aware of, so that they all live in one place and can be counted easily. Most Nostr clients read from relays directly, but Primal apps do not, and that comes with some tradeoffs. You get a more consistent and probably more accurate follower count, but Primal's caching server becomes a central point of failure and a central point of censorship for anyone using their apps.",
"sig": "38eaa5f1b144138d4f1dc4792491abb8834e672e4247fbaaa6077a8a4067ba9462c78aeb75fddcbf775837043bb28dc39d9d71d78740e916d04616659dfbd875"
}