Support Marmot Protocol (MLS / RFC 9420) for scalable group E2EE
- Dominant language
- Rust
- Stars
- 32.7k
- Forks
- 4.3k
- Avg merge
- 1d 13h
- Merged PRs (30d)
- 253
Description
### Motivation
**What problem does this solve?**
Buzz lacks scalable E2EE for group channels. Relay operators can read raw conversations, code diffs, and agent logs.
Existing solutions like NIP-17 don't scale well:
* **Payload bloat:** Encrypting $O(N)$ times per message gets slow in active rooms.
* **No FS/PCS:** A leaked key compromises past and future logs.
* **Agent churn:** Revoking access when an AI agent leaves requires spinning up a new room or trusting the relay.
**Who runs into it and when?**
Anyone running Buzz on remote/shared relays who wants privacy for team chats and AI agent workflows without killing performance.
---
### Proposed solution
Integrate **Marmot** (MLS / RFC 9420 over Nostr):
* $O(1)$ message payload size for groups, $O(\log N)$ group updates.
* Native Forward Secrecy and Post-Compromise Security.
* Clean access revocation when agents/users leave via epoch updates (`Commit` events).
* Direct fit for Buzz's Rust stack using `openmls`.
---
### Alternatives considered
* **NIP-17 wrappers:** Heavy $O(N)$ fan-out, no continuous group key agreement.
* **Shared static key:** Zero forward secrecy, manual key rotation on member leave.
---
### Additional context
* Spec: [github.com/marmot-protocol/marmot](https://github.com/marmot-protocol/marmot)
* OpenMLS: [github.com/openmls/openmls](https://github.com/openmls/openmls)
---
**Duplicates:**
None found.
Contributor guide
Assessment
This issue has not been assessed yet.