Skip to content
Open
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
35 changes: 35 additions & 0 deletions A1.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,35 @@
NIP-A1
======

Key Migration
-------------

`draft` `optional`

This NIP offers a simple mechanism to evaluate and authenticate a key migration socially.

Users publish kind `39` events when migrating to a new key (`p` tag).

```yaml
{
"kind": 39,
"pubkey": "<main pubkey>", // The old/main public key
"tags": [
["p", "<new pubkey>"] // The new public key
],
content: "",
// Other fields
}
```

Kind `39` events are either a legitimate migration and should be accepted, or a phishing attempt
by an attacker, which should be rejected, and the main key unfollowed.

[NIP-22](22.md) comments SHOULD be used to debate if the event is legitimate.

Clients SHOULD offer Web of Trust signals to help users make a decision.

Clients SHOULD emphasize off-line verification procedures when a kind `39` is found.

Clients MAY offer easy functions to switch the user's follow lists to the new public key and
revert the transaction if necessary.