To derive account keypairs, a user generates a base seed from the hash of an ed25519 signature, the signature algorithm used in Solana. This seed is used to derive several keypairs in different domains:
Shielded Keypair
Is used to send and receive shielded tokens.
Private key = blake2bHash(seed + "shielded");
Public key = PoseidonHash(private key)
Signature = PoseidonHash(private key, input1, input2);
Encryption Keypair
encryptionPrivkey = blake2bHash(seed + "encryption");
Poseidon Eddsa Keypair
Eddsa instantiated with the poseidon hash over Bn254.
Aes Keypair
Burner Seeds
creates a new seed
Custom Domain Keypair
not added yet SDK exposes a call with which the developer can get a private key in a custom domain.