From ac66e6055605b7430e730b5423833a323f1e617f Mon Sep 17 00:00:00 2001 From: brqgoo <100725376+brqgoo@users.noreply.github.com> Date: Mon, 16 Jan 2023 17:13:39 +0300 Subject: [PATCH] Update 04.md --- 04.md | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/04.md b/04.md index 09970a6..5e92dfa 100644 --- a/04.md +++ b/04.md @@ -32,7 +32,11 @@ When a sender wants to pay the recipient, the sender initiates a swap-in payment ### 1. The sender first generates a preimage and a tweaked destination: Where the recipient npub is `R = r*G` , and the sender npub is `S = s*G` ; + The sender generates a 32-byte random element `rand`, and calculates a tweaked pubkey for the recipient: `R' = hash(s*R, rand)*G + R` + And a shared preimage secret for the recipient : `P = hash(rand)*G + R` + The sender `S` then sends a NIP-04 encrypted DM to the recipient containing rand and payment value. The recipient `R` can locally construct his tweaked pubkey `R'` and preimage `P` from the rand value, and the sender's npub `S`. + Although it seems similar to keysend due to the sender generating the preimage, the proof of payment here is not the revealed preimage but the on-chain transaction (swap factory) itself.