cosmos-sdk/docs/spec/staking
frog power 4000 133934ae37
Merge PR #3243: allow multiple simultaneous redelegations/ubds between same delegator/validator(s) addresses
* remove kv seperation for marshalling

* pending

* cleanup

* cleanup x2

* pending

* working

* minor refactors

* entry structs defined

* uncompiled mechanism written

* add many compile fixes

* code compiles

* fix test compile errors

* test cover passes

* ...

* multiple entries fix

* ...

* more design fix

* working

* fix test cover bug

* Update PENDING.md

* update comment around queue completion for redelegations/ubds

* basic spec updates

* remove ErrConflictingRedelegation

* @cwgoes comments are resolved

* Update x/staking/keeper/slash.go

Co-Authored-By: rigelrozanski <rigel.rozanski@gmail.com>

* address @alexanderbez comments
2019-01-16 05:35:18 -05:00
..
README.md Merge PR #1702: lamborghini distribution & inflation spec upgrade 2018-08-08 12:10:21 +02:00
end_block.md Merge PR #2514: Refactor validator deletion 2018-10-18 21:58:18 +02:00
hooks.md Fix state export/import, add to CI (#2690) 2018-11-08 16:28:28 -08:00
state.md Merge PR #3243: allow multiple simultaneous redelegations/ubds between same delegator/validator(s) addresses 2019-01-16 05:35:18 -05:00
tags.md Tags Cleanup & Docs (#3137) 2018-12-19 19:28:38 -08:00
transactions.md Merge PR #2958: Validator Power Dec-> Int 2019-01-02 15:29:47 -05:00

README.md

Staking module specification

Abstract

This paper specifies the Staking module of the Cosmos-SDK, which was first described in the Cosmos Whitepaper in June 2016.

The module enables Cosmos-SDK based blockchain to support an advanced Proof-of-Stake system. In this system, holders of the native staking token of the chain can become validators and can delegate tokens to validator validators, ultimately determining the effective validator set for the system.

This module will be used in the Cosmos Hub, the first Hub in the Cosmos network.

Contents

The following specification uses Atom as the native staking token. The module can be adapted to any Proof-Of-Stake blockchain by replacing Atom with the native staking token of the chain.

  1. State
    1. Params
    2. Pool
    3. Validators
    4. Delegations
  2. Transactions
    1. Create-Validator
    2. Edit-Validator
    3. Repeal-Revocation
    4. Delegate
    5. Unbond
    6. Redelegate
  3. Validator Set Changes
    1. Validator set updates
    2. Slashing
    3. Automatic Unbonding