nips/55.md

39 lines
1.3 KiB
Markdown
Raw Normal View History

2023-02-27 20:46:45 -05:00
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.