0g-chain/x/validator-vesting/spec/01_concepts.md
2019-09-23 15:12:18 -04:00

1.1 KiB

Concepts

The validator-vesting module is responsible for managing Validator Vesting Accounts, a vesting account for which the release of coins is tied to the validation of the blockchain. Validator Vesting Accounts implemnt the cosmos-sdk vesting account spec, which can be found here.

The main concept the Validator Vesting Account introduces is that of conditional vesting, or vesting accounts in which it is possible for some or all of the vesting coins to fail to vest. For Validator Vesting Accounts, vesting is broken down into user-specified vesting periods. Each vesting period specifies an amount of coins that could vest in that period, and how long the vesting period lasts.

For each vesting period, a signing threshold is specified, which is the percentage of blocks that must be signed for the coins to successfully vest. After a period ends, coins that are successfully vested become freely spendable. Coins that do not successfuly vest are burned, or sent to an optional return address.