mirror of
https://github.com/nostr-protocol/nips.git
synced 2024-11-14 07:49:07 -05:00
39 lines
1.3 KiB
Markdown
39 lines
1.3 KiB
Markdown
|
NIP-55
|
||
|
======
|
||
|
|
||
|
Proxied NIP-05 Authetication
|
||
|
-----------------------------------
|
||
|
|
||
|
`draft` `optional` `author:benthecarman`
|
||
|
|
||
|
This NIP defines a way for clients to ask a relay to fetch the JSON document for a given NIP-05 address on their behalf.
|
||
|
|
||
|
## Motivation
|
||
|
|
||
|
A bad actor could be logging IP addresses and doing all of kinds of analytics on users that are making requests to a NIP-05 address in order
|
||
|
to verify the user. This could be proxied through a trusted relay to help protect the user.
|
||
|
|
||
|
The `NIP-05` parameter is used so the `PROXY` message can be later extended for other proxied requests in the future (ie image downloading).
|
||
|
|
||
|
## Definitions
|
||
|
|
||
|
This NIP defines a new message, `PROXY`, which clients can send to ask a relay to proxy a request through
|
||
|
|
||
|
```
|
||
|
["PROXY", "NIP-05", <NIP-05 address>]
|
||
|
```
|
||
|
|
||
|
And, when sent by relays, of the following form:
|
||
|
|
||
|
```
|
||
|
["PROXY", "NIP-05", <NIP-05 address>, <JSON returned from NIP-05 address>]
|
||
|
```
|
||
|
|
||
|
## Expected Behavior
|
||
|
|
||
|
If clients are worried about a relay lying to them, they can send the same `PROXY` request to multiple relays, if any of them give a different result,
|
||
|
they can assume that relay may be malicious.
|
||
|
|
||
|
Relays would be expected to fetch the JSON on behalf of the user, in order to prevent potential DoS attacks the relays could cache these requests to
|
||
|
save on bandwidth.
|