From 10aa362edc35d30cef3fc7cb43eab342361c119b Mon Sep 17 00:00:00 2001 From: earonesty Date: Mon, 5 Jun 2023 13:29:24 -0700 Subject: [PATCH] chat is just one example this is a generic "group events" system --- 112.md | 16 ++++++++-------- 1 file changed, 8 insertions(+), 8 deletions(-) diff --git a/112.md b/112.md index d1ada43..92708c3 100644 --- a/112.md +++ b/112.md @@ -1,12 +1,12 @@ NIP-112 ======= -Encrypted Group Chat --------------------- +Encrypted Group Events +---------------------- `draft` `optional` `author:earonesty` -This NIP defines new event kinds for encrypted group chat with optional forward secrecy guidelines. +This NIP defines new event kinds for encrypted group events, with chat as the primary example, and with optional forward secrecy guidelines. This NIP builds on the encryption from NIP-44, the gift-wrap of NIP-59 and the distributed chat channel management of NIP-28. It is similar to NIP38, with the exception that gift-wrap is used on every message, and issues like metadata leakage and optional forward secrecy are addressed. @@ -18,7 +18,7 @@ It reserves 8 event kinds (1059, 400-406) for immediate use. - `400` - wrapped kind: create encrypted channel - `401` - wrapped kind: invite to encrypted channel - `402` - wrapped kind: change channel metadata -- `403` - wrapped kind: send encrypted message +- `403` - wrapped kind: send encrypted chat message - `404` - wrapped kind: moved to new channel - `405` - wrapped kind: delegate new owner - `406` - wrapped kind: accept owner delegation @@ -36,7 +36,7 @@ All events called "wrapped-kind XX" refer to these kind 1059 gift wrapped events ## Wrapped Kind 400: Create Encrypted channel -Create a Encrypted chat channel. +Create a Encrypted event channel. In the channel creation `content` field, Client SHOULD include basic channel metadata (`name`, `about` and `picture`). @@ -102,7 +102,7 @@ Clients MUST specify an "e" tag to identify the channel id. Clients SHOULD mark the "e" tag to recommend a relay where the original event can be found. Clients MAY replace the "r" tag set with a full list of new relays. -There need be no overlap between the "e" relay and the "r" list. For example, if a chat channel is moving its relay set to a new set. +There need be no overlap between the "e" relay and the "r" list. For example, if a group's channel is moving its relay set to a new set. ```json { @@ -208,11 +208,11 @@ For [NIP-10](10.md) relay recommendations on replies and on channel creation inf Future extensibility -------------------- -We reserve wrapped-event kinds 407-419 for other events related to chat, to potentially include new types of media (photo/video), delegation, moderation, mute, hide, etc. +We reserve wrapped-event kinds 407-419 for other wrapped group events, such as delegation, moderation, mute, hide, etc. Motivation ---------- -This is the easiest way to allow the use of group chat with select group of people, while hiding metadata. +This is the easiest way to allow the use of group events with select group of people, while hiding metadata, and preserving nostr's censorship resistence Optional Forward Secrecy ------------------------