diff --git a/A1.md b/A1.md new file mode 100644 index 0000000000..4de707c32a --- /dev/null +++ b/A1.md @@ -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": "
", // The old/main public key + "tags": [ + ["p", ""] // 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.