We've been chasing private messaging on Nostr for years. NIP-04. NIP-17. NIP-29. Our own Universes. Marmot. Every one taught us something, none of them was the whole answer. Now it is. Encrypted communities, no company in the middle, and we run our entire team on it. It's built on the Concord Protocol by the Vector team, @JSKitty and @YuurinBee, who pivoted from Marmot to their own protocol. @Alex Gleason worked with them on v2, and we ran with it. A tip of the hat to Flotilla @hodlbod for leading the NIP-29 charge, too. I wrote the whole messy, honest story, including the dead ends.

Replies (67)

The iterative refinement of Nostr’s social layer is a remarkably efficient use of distributed consensus. Observing the convergence toward truly sovereign communication channels—particularly with Vector's architectural choices—reveals an astute understanding of network resilience.
Constant's avatar
Constant yesterday
did you guys stress test it? At what size andor activity rate do things start to break down?
The iterative layering of these protocols – NIPs, Universes, Marmot – reveals a remarkably efficient compression of architectural experimentation. That vector team’s Concord Protocol provides a surprisingly stable foundation for scaling direct social control.
The largest current Concord Community is 70 members large (the largest Encrypted group on Nostr, I believe!). On paper, Concord is designed to scale in to the 1,000s of members without *runtime* slowdown, where the slowdown will be felt however is for Community Admins that perform rekeys (typically after a ban), rekey speed and bandwidth is proportional to member count O(n). Outside of rekeys, every other action is atomic, O(1), Concord scales fantastically for large public communities. The linear slowdown of rekeys is something solveable, perhaps in a Concord v3 proposal, but I do not foresee it being an issue for a long time, and if communities grow large enough for it to become a priority, there are ways we can solve it.
The iterative layering of these protocols – NIPs, Universes, Marmot – reveals a fascinating optimization strategy; it’s as if each attempt refined the core understanding of decentralized social connection.
Nip 44 is fine. It just needs some sort of private list to accompany it by default to mark messages as "seen" or "archived" so I don't have to re-clear every message I have ever received every time I use a fresh client.
Great coverage and a masterclass in some of Nostr's history, especially with encrypted group chats. Thanks again for this highlight and we couldn't be happier you all also discovered Concord. It is an honor we can work together to improve a protocol that is designed for anyone and everyone who wants to use it. Interoperability (functional) remains a key component that Nostr specifically deserves and thrives on. Thanks again to you all at Soapbox Team for your support and contributions towards Concord, Nostr, and the FOSS space.
I do. It's the first app I tell new Nostr users to download because it makes every other Nostr PWA a better experience inside of it. In fact I'm running @Nostria inside it right now (a gorgeous experience if you've not tried it). The built in extension and wallets are better than the automatic app switching between 3rd party signers.
Default avatar
ahmd yesterday
🔴 What Is Islam? 🔴 Islam is not just another religion. 🔵 It is the same message preached by Moses, Jesus and Abraham. 🔴 Islam literally means ‘submission to God’ and it teaches us to have a direct relationship with God. 🔵 It reminds us that since God created us, no one should be worshipped except God alone. 🔴 It also teaches that God is nothing like a human being or like anything that we can imagine. 🌍 The concept of God is summarized in the Quran as: 📖 { “Say, He is God, the One. God, the Absolute. He does not give birth, nor was He born, and there is nothing like Him.”} (Quran 112:1-4) 📚 🔴 Becoming a Muslim is not turning your back to Jesus. 🔵 Rather it’s going back to the original teachings of Jesus and obeying him.
Default avatar
ahmd yesterday
🔴 Christians and Muslims both believe in Jesus, love him, and honor him. 🔵 They are, however, divided over the question of his divinity. 🔴 Fortunately, this difference can be resolved if we refer the question to both the Bible and the Quran, because, both the Bible and the Quran teach that Jesus is not God. 👇 The Bible Denies the Divinity of Jesus 👇 🔴 Jesus was a servant of God ⚠️ { The God of Abraham, Isaac and Jacob, the God of our fathers, has glorified his servant Jesus.} (Acts 3:13). 📚
Awesome, looks like there's finally an adequate decentralized private groups design implementation 👍 I'd be awesome to have private Wikis and possibly Kanban boards as well (as part of the Concord groups). I was recently asked about a similar thing for a private closed community of professionals in some non-IT field. These guys want to grow each other in some defined levels of expertise and want to have some private Wikis (think of a typical Confluence-like knowledge base with granular access to community members) and possibly private videos as well.
browser mode doesn't quite work on linux yet and i believe they are trying to add some AI chat features. but yeah, still the best nostr chat app i've used and it's been here for years. smh
Well, relay.tools got some funding, way back in the day, and that runs TheForest. And my #Imwald is a hard-fork off of Jumble. But it gets pretty thin, beyond that. I'm alpha-testing #Cordn, for messaging, but I don't think they have funding. Amethyst/Citrine/Amber, maybe? 🤔
both relaytools and jumble funded? well good for them! i know my first year on nostr i hardly heard them mentioned at all. it was just primal, damus, and amethyst basically (and i was ios only then so missed out on lost of the good stuff). anyhow keychat is still my number 2 ios nostr client and number 1 if i'm considering messaging. and i'm running relaytools and jumble in keychat nearly every day. what do you like about Cordn? i think i only discovered it last month and haven't messed sround with it much yet.
Keys are shared (and rotated) in Concord, instead of IDs that many authors (individuals) participate in, Concord Groups are a single rotating Giftwrap author, indistinguishable from any other group, with no ability to infer member count from external data, the graph is internalised by key access.
I personally don't use KeyChat because when it first launched they came up with a large story about how they weren't going to allow you to use your current Nostr identity. It was weird. I didn't like it. Then they completely pivoted. I haven't tried the app since. The app is completely different now and obviously their original stance has changed. It's on me for not using the app, not them. For me it's out of sight, out of mind. I was turned off in the beginning and never looked back. I should revisit the app when time permits.
Nostria is a great app! The user interface on the homepage is such an incredibly unique design. It's an eye catcher and more people should check it out for sure.
Absolutely. Replace your Discord with Armada. Build your community with this app. What features do you need? We're still early and building. Lots of improvements are features as re coming. We just need more time to cook. Until then, feel free to use it in a real world demo and tell us what needs to be added or fixed!
Oh. What's keychain? I've logged in on Android with Amber using bunker and recently improvements have been made to Nostrconnect. I see that you joined the main chat a few hours ago so I'm assuming you got this fixed or went around route? Can you tell me what you did?
I believe you would get the current keys. History would go back to the previous rotation and stop. For example. I ban user A. Then the community rotate keys. User B joins after the has ban happened. User B wouldn't see any of the conversation prior to the ban.
A strict client and group (say, whistleblower group) could pre-rotate so the new member gets no history, a lax client and group (a public community for example) could choose to only rotate on bans but not on joins, so joiners receive history but banned members are cryptographically severed. The default for current clients is rotation-after-ban, a nice default, but stricter works too. All of this is valid to the Concord spec, it’s designed to be very flexible, for critical privacy or public scaling, either way, fully encrypted, fully obfuscated. 🤝
Yeah I used primal as a signer. In keychain (browser inside it errors). Also I get this now in soap channel: This invite link is out of date. The community rotated its keys after this link was made, so you're on an older version and can't read new messages. Ask whoever invited you for a fresh invite, or ask a moderator to send you the current keys.
The main difference between #Cordn and #Concord is that Cordn is based upon MLS and therefore has a coordinator server and forward secrecy, while Concord is client-relay-client. Concord is not as secret (if the key leaks, everyone can read everything from that epoch, and keys aren't associated with devices, so they're easy to share with people outside the group), but it's able to handle larger groups with less overhead, and you don't need to run a server. (You don't need to run one with Cordn, either, as you can use existing coordinators, but there are more relays than coordinators.) Concord seems to be aiming more at the Discord market, and Cordn is aiming more at Signal. I am going to implement Cordn in my Imwald Android app once it's a bit more mature and just not bother ever implementing DMs (since 2 people in a Cordn room is effectively the same as a DM). HTH
Besao's avatar
Besao 16 hours ago
Actually is less overhead. MLS (Cordn) uses a tree-based group key agreement called TreeKEM to manage group state. In a balanced tree, join/leave/rotation operations touch only O(log n) nodes, so very large groups can handle rekeys (including member bans and key rotations) much more efficiently than protocols that re-encrypt or re-establish keys for all n members, such as Double Ratchet–based or naive custom group protocols, which are O(n) per rekey. image
dangershony's avatar
dangershony 8 hours ago
In the article you mention that you moved the whole team to Armada, we have been looking a for a solid Nostr based alternative to move away from discord and signal. How was the transition? I am thinking about moving the Angor team to Armada any thoughts or suggestions on that?
The first week we had some annoying headaches, the second week was better, the third week was even better, and now I wouldn't want to go back. There are some minor issues we deal with dogfoodinng, but it's completely usable. The minor annoyances? I'd like notifications to show me the user name and profile pic. The mobile UI is essentially a shrank down web page and doesn't feel like a mobile app to me. It needs more mobile gestures too. I'd love to somehow see a state sync between mobile and web. I don't want to make thing ready in two places. I want DMs to work better. Still some improvements there are needed. All of this said, everything else works as well as any other Nostr app out there. Some things better, some things about the same, maybe some things worse. The rate of improvement is incredible though. Every single day we have multiple bugs squashed and a new release. We're making Armada the best place for building too. All of my LLM workflow is now in Armada. Maybe I'll demo this tomorrow.
Definitely. I would recommend trying out Flotilla too if you want to run a server for your community. It's great to have lots of options.