Update 705.md

This commit is contained in:
Vlad Stan 2023-04-10 16:06:33 +03:00 committed by GitHub
parent 15cf65c0af
commit a1d24586a2
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

5
705.md
View File

@ -14,13 +14,14 @@ One way to increase the privacy of Encrypted Direct Messages ([NIP-04](https://g
This technique hides from the "general public" that two clients are chatting. However, the relay(s) in the middle can still see who is publishing events and who is listening for events with specific public keys (and correlate the two). This technique hides from the "general public" that two clients are chatting. However, the relay(s) in the middle can still see who is publishing events and who is listening for events with specific public keys (and correlate the two).
## Suggestion ## Suggestion
Any client can ask its peers to re-publish messages on its behalf. The simplified version of the interaction is as follows: Any client can ask its peers to `re-publish` messages on its behalf. The simplified version of the interaction is as follows:
- `Alice` wants to chat with `Bob`. She builds the `kind:4` nostr event but does NOT sent it to the relay(s). - `Alice` wants to chat with `Bob`. She builds the `kind:4` nostr event but does NOT sent it to the relay(s).
- instead `Alice` creates a `kind:4` event for `Carol` where the content is the event for `Bob`. `Alice` publishes this event to the relay(s). - instead `Alice` creates a `kind:4` event for `Carol` where the content is the event for `Bob`. `Alice` publishes this event to the relay(s).
- `Carol` receives the event, unwrapps it and publishes to the relay(s) the event for `Bob`. - `Carol` receives the event, unwrapps it then publishes to the relay(s) the event for `Bob`.
- the relay(s) see the event as coming from `Carol` instead of `Alice` - the relay(s) see the event as coming from `Carol` instead of `Alice`
People can easily run very lightweight republish services for free and provide anonymity for everybody else. People can easily run very lightweight republish services for free and provide anonymity for everybody else.
Re-publish services can also be an optional component of chat clients.
## Implementation ## Implementation
Define a new [NIP-16](https://github.com/nostr-protocol/nips/blob/master/16.md) `republish` event with `kind:20001` (ephemeral) in the form: Define a new [NIP-16](https://github.com/nostr-protocol/nips/blob/master/16.md) `republish` event with `kind:20001` (ephemeral) in the form: