Skip to content

Instantly share code, notes, and snippets.

View kitschbent's full-sized avatar
💭
I may be slow to respond.

kitschbent kitschbent

💭
I may be slow to respond.
View GitHub Profile
@kitschbent
kitschbent / Silent_Payments.md
Created August 8, 2022 02:27 — forked from RubenSomsen/Silent_Payments.md
Silent Payments – Receive private payments from anyone on a single static address without requiring any interaction or extra on-chain overhead

Silent Payments

Receive private payments from anyone on a single static address without requiring any interaction or extra on-chain overhead.

Overview

The recipient generates a so-called silent payment address and makes it publicly known. The sender then takes a public key from one of their chosen inputs for the payment, and uses it to derive a shared secret that is then used to tweak the silent payment address. The recipient detects the payment by scanning every transaction in the blockchain.

Compared to previous schemes[^1], this scheme avoids using the Bitcoin blockchain as a messaging layer[^2] and requires no interaction between sender and recipient[^3] (other than needing to know the silent payment address). The main downsides are the scanning requirement, the lack of light client support, and the requirement to control your own input(s). An example use case would be private one-time donations.

Keybase proof

I hereby claim:

  • I am kitschbent on github.
  • I am kitschbent (https://keybase.io/kitschbent) on keybase.
  • I have a public key ASBAahRuqfHkXYtgvnZYEB1f0C2O3XxRC6-CUOHCIeunVgo

To claim this, I am signing this object: