Why Nostr? What is Njump?
2024-09-04 07:23:12

JeffG on Nostr: This is the sixth in a series of weekly(ish) updates detailing progress on bringing ...

This is a long form article, you can read it in https://habla.news/a/naddr1qvzqqqr4gupzq9eemymaerqvwdc25f6ctyuvzx0zt3qld3zp5hf5cmfc2qlrzdh0qqxnzdejx56rxveexqer2vfnmv5lc0

This is the sixth in a series of weekly(ish) updates detailing progress on bringing MLS protocol DMs and group messaging to Nostr.

Previous Updates

Progress this week

Sorry about the very late update this week. Catching up on everything after a week in Riga for Nostriga and Baltic Honeybadger took a bunch of time, every other moment was spent coding. 👨‍💻

The response at Nostriga to NIP-104 and my two talks on the subject were overwhelmingly positive. It was very helpful to spend time with other devs going through the spec in detail. We found a few minor improvements and clarifications but no major issues surfaced. Thanks to Kieran (npub1v0l…qj49), Stuart Bowman (npub1lun…27lj), and hzrd149 (npub1ye5…knpr) in particular for the lengthly interrogations and Rabble (npub1wmr…g240) for the introductions.

Last week, I started work on a reference implementation of the spec. It’s still early but going quickly.

My PR adding support for secp256k1 was also merged into the hpke-rs library yesterday. That’s one more step in the right direction towards having secp256k1 ciphersuite support.

The NIP

If you haven’t already, check out my talk; The Past and Future of DMs and Group messaging on Nostr. This was a basic overview of the various DM and group messaging schemes and talks a little about the progress on NIP-104. I believe there is a recording of the technical talk on the spec but it hasn’t yet been released. I’ll link it up when it is.

At this point I’ve been discouraging anyone from trying to implement the NIP quite yet. As I mentioned above there are a few adjustments that need to be made and a few open questions that I’m working on answering with my implementation (which I’m very happy to have contributors on). My plan at the moment is to do this first implementation with the default ciphersuite that MLS already supports while I continue to work on the dependencies to get secp256k1 support across the board.

The Implementation

I’ve started on a cross-platform native client that will run on Mac, Windows, Linux, iOS, and Android. Think of it as Signal or Telegram but over Nostr. I hope that this will not only become the reference implementation for other client developers but also will be one of the most secure and privacy focused clients in the Nostr ecosystem. Building it has already been helpful in clarifying some of the more complex implementation details in the NIP. It’s still early but I’ll have more to share on this in the coming weeks.

HPKE-RS

My PR to add support for secp256k1 is merged!

Onward and Upward

Thanks again to everyone for the support and feedback on this stuff at Nostriga. It was hugely motivating to hear the kind words, have you introducing me to people that could help, and spending time giving me feedback! This community is the best. 🫂

Author Public Key
npub1zuuajd7u3sx8xu92yav9jwxpr839cs0kc3q6t56vd5u9q033xmhsk6c2uc