Stealth Addresses
Platus uses re-randomizable stealth addresses to enable unlinkable payments. Any third party can generate one-time addresses for a recipient without knowing their viewing key or linking addresses together.
Definition
A stealth address is a pair of Baby Jubjub points (H1, H2) satisfying:
where vk is the recipient's viewing key.
Generation
By Third Party (Sender)
To generate a stealth address for a recipient with identity key
-
Generate random scalar
-
Compute
-
Compute
Output:
By Recipient (Self-Generation)
A recipient can generate their own stealth address from thier viewing key:
-
Generate random scalar
-
Compute
-
Compute
Output:
Finding own address
To check if a stealth address belongs to the user, the recipient:
-
Receives from the blockchain.
-
Computes
-
Checks if
If equal, the address belongs to the recipient.