MLS for large encrypted group chats is coming!
nostr:nevent1qqs92vwt83v4u0ggth29x2pwsz7ssg3s0v4r2rl934vza9lp0gfg2zcpzemhxue69uhhyetvv9ujumn0wd68ytnwv46z7q3qzuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsxpqqqqqqze7m60u
I heard that even MLS struggles with anything over 100,000K users to keep keys in sync. At some point the overhead of the protocol breaks it's own hability to send messages.
MLS for large encrypted group chats is coming!
nostr:nevent1qqs92vwt83v4u0ggth29x2pwsz7ssg3s0v4r2rl934vza9lp0gfg2zcpzemhxue69uhhyetvv9ujumn0wd68ytnwv46z7q3qzuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsxpqqqqqqze7m60u
The main issue is that nip-04 leaks way too much data not only to the relay, but to the public in general. On top of that, the encryption procedures of NIP-04 are laughable. The lack of padding alone is a major problem. Imagine saying "Hi" on a DM and that gets converted to 4 encrypted chars. Besides letting everyone know your message is small, how hard is to break the encryption of a 4 char cipher text? Not that hard.
If you repeat GMs around, now you have 100s or 1000s of 4 char encrypted messages. How hard would it be to recover your shared key knowing all those little messages? Not that hard.
With enough shared keys, how hard would it be to figure out somebody's nsec? It gets in the realm of "possible" with today's available computing power.
Feel free to offer better padding. Padding was discussed at length before and after nip44 and directly audited by the firm. No one has proposed anything better yet.
I strongly disagree with your "zero risk of plain text attack". There are folks here, with money, whose sole goal is to break our encryption.
Since anyone can see the time a Nostr event was created, they can use the created_at field to find the two users (or all of the users in a group) that are messaging each other at any second. Do this over time and you can see which keys talks to which other keys.
Without randomizing time, anyone would have been able to rebuild the same metadata leaks as nip04.
Its because users don't even see when that happens, but for instance Android allows one app to pull notifications regularly and broadcast them locally to all apps for processing and display. That's how any notification works on Android.
I don't think so, but nostr:nprofile1qqs827g8dkd07zjvlhh60csytujgd3l9mz7x807xk3fewge7rwlukxgpz4mhxue69uhhyetvv9ujuerpd46hxtnfduhszrnhwden5te0dehhxtnvdakz7qgswaehxw309ahx7um5wghx6mmd9usjfpck can make it.
Sure, but option to choose a client is not the same of multiple options within the same client.
Amethyst could have had over 1000 different options by now. We just can't design all those screens.
nostr:nprofile1qqsxg45ph8gx0vdrvtzta6xal7v86frx6jvstsnvhrlvtehmwwh4epqpzemhxue69uhk2er9dchxummnw3ezumrpdejz7qg7waehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2ap0qydhwumn8ghj7mn0wd68ytnnv968xarjv9kxjcfwvdhk6tc79x08a is the shit. 🚀
App bundles are the only way to make a micro app ecosystem work.
nostr:nevent1qqsp9haxyn6afk9vau4jgptxcupv4nphc9n7jku0lqsjgrxdnlfs6xcprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsygqh2wxu9f38d8gfgsl33smuhc6cl26mh7vpzu6592nutlchrmthcspsgqqqqqqs4gxl9u
If we want to have one app for each little thing, we will have to install 100s of apps to do the work of a super app. The only way to do that is by having a bundle of apps you can install with a single click.
App bundles are the only way to make a micro app ecosystem work.
nostr:nevent1qqsp9haxyn6afk9vau4jgptxcupv4nphc9n7jku0lqsjgrxdnlfs6xcprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsygqh2wxu9f38d8gfgsl33smuhc6cl26mh7vpzu6592nutlchrmthcspsgqqqqqqs4gxl9u
OMG!!! Pokey is the name!!!
nostr:nevent1qqs0ns866jnfdz5p8rfj6f6t6zpwrc5csq7pwv7ws9wu8qmtv5cx8dspzdmhxue69uhhwmm59e6hg7r09ehkuef0qgsxg45ph8gx0vdrvtzta6xal7v86frx6jvstsnvhrlvtehmwwh4epqrqsqqqqqpclrgas
Making nos2x parse Nostr: uri, decode nembed1 and verify the event was easy. The hard part is to find the URI because Gmail and ProtonMail mess with it on the rendering.
Yep, i placed a regular event as a nostr:nembed1... uri and send it inside gmail. Then a small extension decodes, verifies, decrypts and replaces the URI with the contents of the event.
We could also tweet on X in this way. Since they don't provide any security, we can solve it ourselves.
nostr:nevent1qqstmvhvyl5stxg2t4zkw3f4cne6pl2wggqau2fhd5c6qns4wct74dspzamhxue69uhhv6t5daezumn0wd68yvfwvdhk6tczyprqcf0xst760qet2tglytfay2e3wmvh9asdehpjztkceyh0s5r9cqcyqqqqqqg6jjzyg
What if we start sending nostr: URIs in the end of our emails with a signed copy of the message and a little extension verifies the Nostr signature in the email and replaces the unsecured email text with the signed one without even pinging any relay? 🤔
We could also tweet on X in this way. Since they don't provide any security, we can solve it ourselves.
nostr:nevent1qqstmvhvyl5stxg2t4zkw3f4cne6pl2wggqau2fhd5c6qns4wct74dspzamhxue69uhhv6t5daezumn0wd68yvfwvdhk6tczyprqcf0xst760qet2tglytfay2e3wmvh9asdehpjztkceyh0s5r9cqcyqqqqqqg6jjzyg
Who funds Bitcoin Core devs? Great report by nostr:nprofile1qqsx7ehsmj4q9hlc48uysf8tn4s65x323evurj9twjz2mcphqffc8ucpzemhxue69uhkummnw3ex2mrfw3jhxtn0wfnj7mvvd4l
http://1a1z.com/fund.html
Yeah, this is something I want to do. The apps "Home" should just be a list of feeds + DMs together.
The only confusing part is to prepare the user to see a feed or a chat depending on the item he/she clicks on.
nostr:nprofile1qqs04xzt6ldm9qhs0ctw0t58kf4z57umjzmjg6jywu0seadwtqqc75sprfmhxue69uhhq7tjv9kkjepwve5kzar2v9nzucm0d5hsz9thwden5te0wfjkccte9ejxzmt4wvhxjme0qythwumn8ghj7un9d3shjtnswf5k6ctv9ehx2ap0y8qdrm
Shall we put some of them that you follow in the top bar?
Today they follow the same view as a thread, which requires you to go back to before accessing the bottom buttons.
hum... do you run both of them side by side?
I see people swapping them here and there and that's why they use the same id (so that they can update without having to uninstall)
Note to relay devs/operators: Don't hold outdated replaceable events. Either delete them or allow us to update them. Locking the relay to an old version is not cool.
Imagine locking the metadata event to an old ln address the user doesn't have control anymore. All zaps to that address and are lost.
nostr:nprofile1qqsxg45ph8gx0vdrvtzta6xal7v86frx6jvstsnvhrlvtehmwwh4epqpzemhxue69uhhyetvv9ujuvrcvd5xzapwvdhk6qghwaehxw309aex2mrp0yh8x6tpd4ehgu3wvdhk6qg5waehxw309aex2mrp0yhxgctdw4eju6t04vkzjx's Push client keeps the websocket connection to your inbox relays always runming, displays the notifications and then redirects to your favorite Nostr Client when you click on it. https://image.nostr.build/dca8711b0317ac7f79a869af9e81e82b6beb0dc1b36cacf01bee2965ce2f2c5d.png
Is your Outbox accepting 10002 events and saving them or just rejecting them all the time?
We have an auto-update tool that if a relay sends an event that is older than what the app has, the app replies with the newer event. If the relay does not accept the newer event but still has the old one, the app will continuing blasting the relay until it updates it because having outdated info is terrible for these types of events.
Instead of being one NFTY push for every Nostr app in your phone, which requires downloading the same event multiple times, this new app keeps just one service, one push and once it downloads, the app broadcasts to all Nostr apps installed.
FYI, this is true for any replaceable event. If the relay sends an outdated event, the app will immediately send a new version if the app has one.
For relays, the recommendation is to either always accept replaceable event updates, even if people are not paying anymore, OR delete old versions from your database.
Your 10002 is signed by your own key, but we download 10002s of the authors of every like, zap, post, reply, report, edit + every pubkey mention in any post. So, for each post that appears in the screen, there is likely a 1-100 10002s from other folks being downloaded.
No, it only reverts back to the relay that sent the outdated event. So, this usually only happens when somebody had permissions to insert, the relay received a bunch of 10002s and then the relay closed that permission.
That being said, I would keep a copy of everybody's 10002s in my outboxes because it helps clients figure out where to send things if your relay has seen them before.
ohhh I just logged into your relay and it sent ALL the past versions of your own 10002 events. There are 44 10002 events coming down to Amethyst just for yourself. For each one of the 43 outdated events, Amethyst replies with the new one.
nostr:nprofile1qqsw9n8heusyq0el9f99tveg7r0rhcu9tznatuekxt764m78ymqu36cpz4mhxue69uhhyetvv9ujuat50phjummwv5hszymhwden5te0wahhgtn4w3ux7tn0dejj7qg4waehxw309an8yetwwvh82arcduhx7mn99uuwx66a something is wrong with haven's replaceable code. A filter by kind 10002 should only return the latest event, not all versions.
You can test it here: https://lightningk0ala.github.io/nostr-wtf/query
with filter: [{"kinds": [10002]}]
The issue with UP is that any relay that requires AUTH cannot be used because the online service to push events down via UP doesn't know your nsec. So, things like private inbox for DMs cannot be seen and thus you will never see DM notifications unless you use a public server, which is a privacy nightmare.
Notes by Vitor Pamplona | export