Master Viewing Key (MVK) for Solana Address
Protocol for deriving the Master Viewing Key for a user's primary Solana address using Poseidon hash
Protocol Description
The Master Viewing Key for a user's primary Solana address, denoted , is derived directly from the master seed using the Poseidon hash function as a PRF.
The output is a single field element in . This MVK must be registered on-chain and is immutable thereafter.
Key Derivation Process
- Input: Master seed (32 bytes)
- Domain Separation: String encoded as a field element
- Hash Function: Poseidon hash function acting as a PRF
- Output: Single field element in
On-Chain Registration
The must be registered on-chain before any deposit transactions can be made. This registration:
- Enables Compliance: Required for Tier 3 compliance mechanism
- Immutable: Cannot be changed once registered
- Public Commitment: Creates a public commitment to the MVK without revealing it
- Transaction Prerequisite: Must be registered before deposits
Security Analysis
Security Proof: Unlinkability of the Solana MVK
Goal: must be computationally indistinguishable from a random element in and unlinkable to .
Assumption: The Poseidon function, when one of its inputs is kept secret, behaves as a secure PRF.
Argument: The derivation is a direct application of a PRF where is the secret key. The output is computationally indistinguishable from a uniformly random element chosen from its range .
Properties
- Unlinkable: Cannot be traced back to the master seed
- Pseudorandom: Appears as a random field element
- Immutable: Once registered, cannot be changed
- Compliance Ready: Enables regulatory compliance features
- Single Purpose: Specifically for the user's primary Solana address