Avatar
Vitor Pamplona
460c25e682fda7832b52d1f22d3d22b3176d972f60dcdc3212ed8c92ef85065c
Nostr's Chief Android Officer - Amethyst

Yep, it's from nostr:nprofile1qqs8d3c64cayj8canmky0jap0c3fekjpzwsthdhx4cthd4my8c5u47spz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszythwden5te0dehhxarj9ekxzmny9uq3zamnwvaz7tmwdaehgu3wwa5kuef0nw62p3's new AI video client.

But that aside, 30xxx events with d="" should be valid and load just fine.

nostr:nprofile1qqsrhuxx8l9ex335q7he0f09aej04zpazpl0ne2cgukyawd24mayt8gprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hszxmhwden5te0wfjkccte9emk2um5v4exucn5vvhxxmmd9us2xuyp nostr:nprofile1qqs8hhhhhc3dmrje73squpz255ape7t448w86f7ltqemca7m0p99spgprdmhxue69uhkx6rjdahxjcmvv5hxgar0dehkutnrdakj7qgwwaehxw309ahx7uewd3hkctcpz9mhxue69uhkummnw3ezuamfdejj7n7gnen why can't njump.me parse this naddr1? It says incomplete, but it looks right to me.

https://njump.me/naddr1qqqqzxthwden5te0wfjkccte9ejxjanfdejjuanfv3jk7tczyrv4428upmlcujyf2fy4hqrynywj07ukakr99ufvmmw95n5tttj5qqcyqqqgt0qeresua

Yes. Nobody wants their stuff to stick around forever. If they lose their keys and cannot login anymore, there is no way to delete.

Doubt, most people try more than one client. And many are testing new clients as they show up in their feed. Expecting them to always set expiration before they do anything is dumb. Most clients will never even support expirations.

Very clean!! Congrats nostr:nprofile1qy28wumn8ghj7un9d3shjtnyv9kh2uewd9hszyrhwden5te0dehhxarj9ekxzmnyqyxhwumn8ghj77tpvf6jumt9qyghwumn8ghj7u3wddhk56tjvyhxjmcqyqduwzspfzelx9k6x0lrez0j8cl8rtz0lxvqylk8z2ustnfy76jpzs7wvrx

nostr:nevent1qvzqqqqqqypzqx78pgq53vlnzmdr8l3u38eru0n3438lnxqz0mr39wg9e5j0dfq3qyxhwumn8ghj7mn0wvhxcmmvqyg8wumn8ghj7mn0wd68ytnhd9hx2qg5waehxw309aex2mrp0yhxgctdw4eju6t0qqsd2x34su9jzwc0p8m2ssr6nyv6upwwc7tdkegdp3pwl5xlurq6jpq2wgx84

Imagine having to set up expiration dates every time you sign into a different client

Yeah, if people have control of the relay it is fine. But 99% of the people that come in don't have any control and are not signing up in 200 different clients to keep their stuff forever.

Nah. Nobody will set this up (and nobody did).

Nvidia alone is almost as big as all heath care companies in the S&P combined.

Relays should auto delete all posts from npubs that have not posted in 2 years

Wen NWC to cash app, nostr:nprofile1qqsgydql3q4ka27d9wnlrmus4tvkrnc8ftc4h8h5fgyln54gl0a7dgsppemhxue69uhkummn9ekx7mp0qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0qyt8wumn8ghj7un9d3shjtnddaehgu3wwp6kytc79p4zh?

Too bad we can't connect to the cash app wallet via NWC.

Android just kills it. It's quite common. Especially in low-end phones.

I think that math was wrong. The 10,000,000 keys was not the number of keys inside the filter (which for NIP-76 would be 2-3 keys on average). But relays would have to check that filter against 10,000,000 + keys that can connect to them. The false positives claim was based on testing 10,000,000 keys against a simple filter like that.

I am not sure if that math is still good. This site can give you a better idea: https://hur.st/bloomfilter/

It's all about your probability

They do, and I think individual scores will always be there.

But downloading 100K individual scores takes a while, uses a lot of data and space in the disk of the phone. Having ways to minimize that usage while providing some rough level of trust enables some light clients to exist.

For instance, a user search or tagging could use NIP-50 to download all the shit on relays and then filter by local bloom filters to know which users are real ones. If bloom filters are not available, then the app needs another round trip to download the individual scores of each key and discard them all when the user closes the search screen.

I don't think so. Everybody just saves a huge list of relays in their databases.

There are many places clients could share bloom filters. This all started with this idea: https://github.com/nostr-protocol/nips/pull/1497

In this case, I proposed sha256 as a hash function so that clients didn't need to code MurMur3, but MurMur is so easy that we can just teach people how to do it.

Internally yes (I have not saved into events yet). All my event, address and pubkey relay hints are saved as 3 massive bloom filters. So, when the app needs to figure out which relays have given IDs, it checks the filter. Which means that I don't need to save any of the events.

Not everyone, just those using the specific kind.

The main issue is that there are thousands of potential hash algorithms to use in bloom filters. If we leave it open, all clients must implement ALL hashing functions just so that things don't break when they suddently face a hash that they don't support. Which, in the end, means that nobody can declare full support to the NIP because there are always new algos.

Also, there is not really a huge gain from tweaking hashing algorithms for Bloom filters. We just need one that works and everybody will be happy.

Just like we only use SHA256 on nostr events.

I have been doing:

:::

So,

100:10:AKiEIEQKALgRACEABA==:3

Means 100 bits, 10 rounds and the salt is 3

Then we can force in the event kind to always use MurMur3 for 32 bits (the best hash function).

You could just see it on Amethyst, but then it requires you to trust another service that compiles that information.

Still too slow when installing in old machines.