HyperLogLog could fix follower counts, reaction counts and other counts on Nostr without requiring global state -- the idea is that you can fetch counts from multiple relays (only the relays that you trust enough to not lie about counts and not allow spam and sybil) and aggregate them locally without double counting.
It also allow relays to not store events and still provide a meaningful count of them: for example, reactions currently use a huge amount of storage, but a relay could just store a 256-bytes HyperLogLog value representing all reactions it could possibly get for any given event, for example, and still return that to clients and let clients combine that with the values from other relays.
More information here: 
GitHub
nip45: add hyperloglog relay response by fiatjaf ยท Pull Request #1561 ยท nostr-protocol/nips
Here's a nice colorful video explanation of HyperLogLog: https://www.youtube.com/watch?v=lJYufx0bfpw
And here's a very interesting article ...