Update 04.md

This commit is contained in:
brqgoo
2023-01-16 17:12:22 +03:00
committed by GitHub
parent 1a76c1fc89
commit b20b5d642c

14
04.md
View File

@@ -26,7 +26,13 @@ Submarine swaps don't scale. From sweeping funds to opening a channel, overall p
## Specification
This BDS proposes a replacement for submarine swaps; silent swaps. Silent swaps are effectively a specialized form of submarine swaps, however, built in mind with scaling and privacy. Silent swaps utilize a channel factory approach to save massively on fees and space and use ECDH to enable offline receiving while preserving recipient privacy.
Silent swaps are based on three main pillars:
1. Swap Factories
2. Offline Receiving
3. Swap Credit Protocol
The sender non-interactively pays the recipient based on their dedicated Nostr pubkey npub without revealing the npub itself, similar to silent payments. The recipient can get paid without inbound liquidity issues, doesn't need to remain online to receive, and their npub is not doxxed to the rest of the network.
When a sender wants to pay the recipient, the sender initiates a swap-in payment through a specialized submarine service provided by TBD wallet SSP. Here's how it's done step-by-step:
### 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.