Keys
A shielded account has two key pairs and a root address.
The keys are derived in two steps:
Shielded address
Your shielded address is 96 bytes. People use it to send you private payments.
Each public key is a point on the curve. It is packed into 32 bytes by storing the y coordinate and one bit for the sign of x.
Registration
A sender needs your shielded address. Registration lets them find it from your public address or an ENS name.- You sign a typed message with your wallet that names your shielded address.
- The app builds a proof that you own the shielded address. The proof is bound to your public address, so nobody else can register it for you.
- The pool checks the proof and the signature. It adds your root address to the address tree and records the link between your public address and your root address.
- The pool emits a
RegisterAddressevent with your shielded address. Senders read it to confirm the shielded address belongs to the public address they mean to pay.