Relay operators, please review this NIP-11 variant where you can tell Clients how to behave on-demand based on the connected user and connection history.
The goal is to design a payload structure that informs the policies implemented in each relay, for each user, in a way that Clients can bake these filters into their code.
https://github.com/nostr-protocol/nips/pull/1434
Can we create a Nostr filter where the client sends a bloomfilter instead of a massive list of pubkeys of the 1000 people an account is following?
At .01% error rate, the filter size drops from ~67kb to 2.3Kb. It looks like a good data-saving feature.
🤔
Relay would run through all pubkeys and check if they are inside the bloom filter to get the set of keys I am interested about and then running the usual query.
There is not a lot of privacy gains. The relay does know which keys are in the set, with a small error rate (0.01%). So, it doesn't really create a big enough annonimity set.
% of all nostr keys.
But once the client receives the data, it can filter further to the matching IDs. So, you will see the same thing, but there will be X number of posts returned that are not in your follow lists.
i.e. errors consume data but doesn't change your UX
Aren't bloom filters faster than string comparisons? Maybe they aren't faster than pre-computed indexes?
Also, I assume relays would pre-compute and store the set of hashes needed for a standard Nostr Bloom filter.
Isn't that in the same ballpark of what zip/zlib compressions alredy do?
The Websocket connection can be compressed using gzip, etc. So, whatever we do needs to offer a significant again when compared to a an already compressed representation of the keys in hex strings.
Should threads be included in conversations or should the tabs themselves be removed and display only one feed?
There are so many replies that adding threads to conversations will almost certainly make new posts invisible or just very hard to find.
There are two option when you download, the Play and foss. Play uses Google's in device translate. Foss doesn't have it because there are no open source in-device models for translation yet.
Imagine having several sub feeds per seed by simply exposing followers to separate key derivation paths. You can build your specialized feeds in a folder structure.
nostr:nevent1qqsq9j74sjxsw5sds30udxjr35udc2j6avj86se5r9gvmrt9kp9mqqqpz3mhxw309akx7cmpd35x7um58g6rsd3e9upzq3svyhng9ld8sv44950j957j9vchdktj7cxumsep9mvvjthc2pjuqvzqqqqqqy56ssds
How were nostr devs able to create so many apps?? It doesn't make any sense! How the hell can somebody make apps by just writing text files without any database of AI tools? It must have been aliens.
Mame sure to have public home and public inbox relays setup, otherwise the app doesn't know where to get your posts to send notif.
Also, the nos.lol relay is misspelled on your DM list
Can we do a version of Nostr where you follow somebody's xpub instead of the pub key?
In that way, every new post, likes, zaps uses a new public key, which is derived from my seed words. Only people that have my xpub will be able to know my next npub and follow me. 🤔
Yeah indexing will be harder, unless the client breaks it down and queries by a set of pubkeys directly. But for that to happen, relays must abandon the filter limits they have today.
Essentially, they will have to go develop a function in say SQL that assesses if a pubkey is inside the set of an xpub or not. Key derivation is heavy, so maybe there must be a new xpub crypto scheme that makes it easier for indexing.
Imagine having several sub feeds per seed by simply exposing followers to separate key derivation paths. You can build your specialized feeds in a folder structure.
nostr:nevent1qqsq9j74sjxsw5sds30udxjr35udc2j6avj86se5r9gvmrt9kp9mqqqpz3mhxw309akx7cmpd35x7um58g6rsd3e9upzq3svyhng9ld8sv44950j957j9vchdktj7cxumsep9mvvjthc2pjuqvzqqqqqqy56ssds
yeah no, my suggestion was for regular anonymous posts, not for DMs or identity management. The point was to have a seed that you can expose your xpub to friends and colleagues, but not to the whole web. It can leak, so it is never actually private.
This antitrust lawsuit Google just lost is good, but man I hope they don't fuck up the punishment.
Android is open source. Each manufacturer has its own flavor of Android. Breaking it off from Google just to stop Google Search being the default engine doesn't make much sense.
As an example, Google owns Android trademarks and some patents and those are used for leverage in search negotiations. The court could just turn them into some type of public domain assets. The leverage goes away, but so does revenues of any potential Android Foundation.
It all depends on how much data is needed for each custom feed. It will be hard to make good trending topics work with only local info.
It's similar to translations. In-device translations work really well for simple things/notes but if the text requires advanced knowledge to translate well, online services win.
Negentropy / time syncs are not optional, IMHO. We will have to add to the mandatory core of Nostr if we want to scale this. We can't keep downloading everything over and over again just to check if the local instance has all the data it needs.
I am getting more into DVMs that return a Snark/Stark proof these days. I think it could provide some interesting possibilities for verifiable computation.
If you have the IDs of the events you want to include locally, you can send the IDs alone for a verifiable DVM to compute and return with a proof that it did what it was supposed to do.
It gets even better if we can add some homophobic encryption to event data.
Future is bright.
For those looking to get rid of yet another FUD...
Mt. Gox Trustee Wallet #Bitcoin Balance:
$6.3B down, $2B to go.
```
DATE. # BTC
July 1: 141,686
July 5: 138,984
July 21: 89,816
July 24: 84,706
July 25: 79,600
July 30: 65,476
Aug 15: 32,371
```
It was passed forward, so technically yes. But it might not have gotten to the final owners yet since there might be layers or layers of corp structures to go through.
You are supposed to do your research and figure out which relays you want to:
1. Hold your notes for others to see (Public Outbox/Home)
2. Receive people's reactions to your notes (Public inbox)
3. Receive DMs from everybody (Private DM Inbox)
4. Store your private data, like drafts, app settings, etc (Private Storage).
5. Locally cache information (Local Relays)
6. Do search for you (Search Relays)
7. Authorize the app to download posts from (General List).
You can use Nostr without setting them up, but I can guarantee you will be losing your posts, missing DMs, missing Zap notifications, and make your private posts public until you set it up.
no need to be the first thing, but at some point you will need to handle it. Self custody has responsibilities. No one will solve this problem for you without selling you and your data for profit.
Has anybody hacked a Bitaxe to mine an npub?
I want to give it an xPub of my seed words and let it run millions of derivation paths until it finds my vanity key. Once found, it should return the derivation path to me so that I can then use my seed to securely get the private key of that npub.
Amethyst has custom feeds based on NIP-51 lists. They show up at the top bar and users can select any other npub list they created for themselves. Now we are also doing NIP51 lists over the Outbox model, so changing the list modifies the relay list that the app is connected to.
I didn't say delete... :)
Just stop using telegram to discuss Nostr. It doesn't make any sense.
We have had NIP-28 for a while and people still used proprietary platforms to discuss Nostr. Let's see if NIP-29 people can start switching over.
hum.. yeah, I keep wondering if we should add more debug stuff into the App. It's hard because it's not a user feature and it will consume some messages, but maybe I can do an LRU-based cache of the latest messages. Some filters are really massive so keeping copies of large strings in memory is no good.
Also, FYI, the 7/10 number includes timeout. The 3 relays might have just sent a time out and amethyst will wait a minute before trying to connect again.
New DVMs keep dropping on Amethyst. Now you can see the latest note for each follow by nostr:nprofile1qqsfnw64j8y3zesqlpz3qlf3lx6eutmu0cy6rluq96z0r4pa54tu5eqpz9mhxue69uhkummnw3ezuamfdejj7qghwaehxw309aex2mrp0yh8qunfd4skctnwv46z7qg4waehxw309ahx7um5wghx77r5wghxgetk9ux2gj7s
https://i.nostr.build/pNolq5VO7IiPR76r.jpg
nostr:nprofile1qqsyv47lazt9h6ycp2fsw270khje5egjgsrdkrupjg27u796g7f5k0spzemhxue69uhhyetvv9ujuurjd9kkzmpwdejhgqgjwaehxw309ac82unsd3jhqct89ejhxqgnwaehxw309aex2mrp09skymr99ehhyecusqvd6 Hub really needs a cheaper option to onboard people. The full price of ~12 USD/mo is a non starter in many parts of the world.
Storing Delete Events for each note when the user wants o delete the whole account is a burden to any relay. My delete events alone are already 5 MBs or so.
On the enforcement side, as a person manages HIPAA-compliant data in Nostr relays, I strongly disagree. Enforcement is just one fuck up away.
Notes by Vitor Pamplona | export