Update 04.md

This commit is contained in:
brqgoo
2023-01-16 17:13:39 +03:00
committed by GitHub
parent b20b5d642c
commit ac66e60556

4
04.md
View File

@@ -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: ### 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` ; 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` 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` 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`. 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. 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.