cosmos-sdk/docs/spec/staking
Rigel 3231daa4d8 remove global shares (#1644)
* wip removing pool shares

* remove PoolShares/Tokens entirely

* worked through stake/type compile error

* work through a bunch of keeper errors

* worked through compile errors

* debugging tests

* resolve compilation error

* resolved types errors

* ...

* move inflation to pool type

* ...

* stumped problem

* Calculate newly issued shares, remove unnecessary pool arg from exchange rate calculation

* Rounding changed

* Update x/slashing tests for sdk.Rat BondedTokens

* testing fixes

* resolved test fixes

* cwgoes comments, changelog, lint

* cli bugfixes

* ..

* cli fixed

* spec update

* 'make format'

* cwgoes comments

* Increase test_cover parallelism
2018-07-13 21:46:14 +01:00
..
README.md staking overview.md revisions, moving files 2018-06-05 09:23:23 -07:00
end_block.md Merge PR #1119: Unbonding, Redelegation 2018-06-27 04:00:12 +02:00
state.md remove global shares (#1644) 2018-07-13 21:46:14 +01:00
transactions.md Merge PR #1397: Fix spelling changes 2018-06-27 01:58:42 +02: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. Design overview
  2. Implementation
    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
  3. Future improvements