Prove your BCH address and your npub belong to the same person
Tipping someone on Nostr in BCH has one weak spot: how do you know the address in their profile is really theirs? Anyone can paste an address into a bio, and impersonators copy names and pictures.
A binding fixes that. It is one public Nostr event (kind 30078) carrying an i tag of the form bch:<address>, signed twice: by the BCH key (a standard Bitcoin Cash signed message) and by the Nostr key (the event signature). Nobody can fake it without both keys.
Make one (about 2 minutes, no account):
- In Electron Cash: Tools > Sign/verify message, choose your address, and sign the text the page gives you.
- Paste the signature at https://bch-nostr-id.surge.sh and publish the event.
Verify anyone’s: paste their npub. The page fetches the binding, checks both signatures, and gives you a bitcoincash: payment link for the verified address.
For merchants, proof of payment without accounts: the payer signs a fresh challenge with the key of an address that funded the transaction. The challenge includes the txid, the site, a random nonce and a timestamp, so a signature can’t be reused for another order. Caveat: this proves the payer of record. For exchange withdrawals or CoinJoin transactions that isn’t the customer.
Also included: key rotation and recovery, third-party attestations, and selective disclosure (reveal one field, such as over18, and nothing else). The source code is a tarball on the same site.
If this is useful, my verified BCH address is in my profile.
Write a comment