What is a stealth address?
- Author
- CRYPTO PORT Editorial
- Published
- Updated
- Reading time
- 5 min
In short
A stealth address lets a single published address generate a throwaway destination for every incoming payment. The ledger records a different destination each time, so payments to the same recipient cannot simply be counted together. It tackles the address-reuse problem without asking the recipient to do extra work.
Key points
- One published address, a different on-chain destination each time
- Makes payments to one recipient hard to group together
- The recipient scans the chain with a key to find their outputs
- The one-time destination is created without extra steps by the sender
Definition
A scheme in which each payment derives a mathematically one-time destination from the recipient's single published address. A different address appears on the ledger every time, and only the recipient can tell which outputs are theirs.
The recipient publishes an address combining two public keys, one for viewing and one for spending. The sender generates a throwaway random value, derives a new destination from it and the recipient's keys, and attaches the corresponding public value to the transaction. The address recorded on the ledger therefore never matches the published one.
Using the attached value and their viewing key, the recipient tests each transaction to see whether it is theirs. For outputs that are, the matching spending key is derived from their own secret. The scan happens locally on the recipient's device, with nothing to ask a third party.
The point of the design is to eliminate address reuse without burdening the recipient. Even where a single destination must be published widely — donations, invoices — the amounts and frequency of payments become much harder for an outsider to aggregate. Comparable proposals have been discussed for Ethereum as well.
Watch out for
- · Hiding the destination still leaves amounts and timestamps on the ledger
- · Outsourcing the scan hands your incoming payments to that provider
- · Wallets without support cannot receive these payments, so check compatibility first