Algorand Keys Specification
An Algorand node interacts with three types of cryptographic keys:
-
Root keys, a key pair (public and private) used to control the access to a particular account. These key pairs are also known as Spending Keys (as they sign accounts’ transactions).
-
Voting keys, a set of keys used for authentication, i.e. identify an account in the Algorand Byzantine Fault Tolerant protocol (see ABFT section). Algorand uses a hierarchical (two-level) signature scheme that ensures forward security, which will be detailed in the next section. These key pairs are also known as Participation Keys.
-
VRF Selection keys, keys used for proving membership of selection (see Cryptography primitives specification).
An agreement vote message (see Networking section) is valid only when it contains a proper VRF proof (\( y \)) and is signed with the correct voting key.