I tested Vitor’s group approach, and with multi-threading, it takes about ~18 seconds to send a message to a group of 500 people on iPhone 13 Pro. Of course, there would be variations with different phones and networks, and it also depends on the rate limit restrictions of the relay. However, this seems to satisfy my needs.
Really good explainer video on MLS:
https://www.youtube.com/watch?v=FESp2LHd42U&pp=ygUYbWVzc2FnaW5nIGxheWVyIHNlY3VyaXR5
It clearly shows the difference between nostr:nprofile1qqsyvrp9u6p0mfur9dfdru3d853tx9mdjuhkphxuxgfwmryja7zsvhqppemhxue69uhkummn9ekx7mp0qyg8wumn8ghj7cfwdehhxtnvdakz7qg7waehxw309ahx7um5wgkhqatz9emk2mrvdaexgetj9ehx2ap0ausuw9 's encrypted chat approach and my groups proposal. MLS introduces a binary tree to manage key sharing with many of the same benefits as the simpler key sharing mechanism but with a ratchet algorithm that requires a logarithmic number of messages to be sent compared to the number of group participants.
Discussion
I don't think we need to replace it. NIP-24 can always be the simple way to do DMs. MLS could be the way to work with super large groups, aka Communities. Not all clients will want this.
Agreed, nip 24 is great as is. I do think the WhatsApp-style less-secure version (NIP 87) is a good option for scale at the expense of privacy. Judicious use of relays could improve privacy a lot too.