In a proof of stake, participants are issued a stake equivalent to the funds they own. The stake is then used to allow participation in the protocol, simply explained as:
The more stake one has, the more likely one will participate in the good health of the network.
When using the BFT consensus, the stake doesn't influence how the system runs, but stake can still be manipulated for a later transition of the chain to another consensus mode.
Stake in the Account Model
Accounts are represented by 1 type of address and are just composed of a public key. The account accumulates funds and its stake power is directly represented by the amount it contains
A - Account with 30$ => Account A has stake of 30 B - Account with 0$ => Account B has no stake
The account might have a bigger stake than what it actually contains since it could also have associated UTXOs, and this case is covered in the next section.
Stake in the UTXO Model
UTXO are represented by two kind of addresses:
- single address: these addresses have no stake associated
- group address: these addresses have an account associated which receive the staking power of the UTXO's value
For example with the following utxos:
UTXO1 60$ (single address) => has stake of 0 UTXO2 50$ (group address A) \ ->- A - Account with 10$ => Account A has stake of 100 UTXO3 40$ (group address A) / UTXO4 20$ (group address B) -->- B - Account with 5$ => Account B has stake of 25
Stake pools are the trusted block creators in the genesis-praos system. A pool is declared on the network explicitly by its owners and contains, metadata and cryptographic material.
Stake pools have no stake power on their own, but participants in the network delegate their stake to a pool for running the operation.
Stake can (and for the health of the network needs to) be delegated to stake pools in the system. Delegation can be changed over time with a publication of a new delegation certificate.
Delegation certificates are a simple declaration statement in the form of:
Account 'A' delegates to Stake Pool 'Z'
Effectively it assigns the stake in the account and its associated UTXO stake to the pool it delegates to until another delegation certificate is made.