Merge PR #3683: spec-spec update, spec file reorg, TOC updates

* spec reorg

* ...

* PENDING.md

* @alexanderbez comments
This commit is contained in:
frog power 4000
2019-02-20 13:21:57 -05:00
committed by GitHub
parent cf2cdabe6b
commit a07b235f67
48 changed files with 209 additions and 147 deletions
@@ -1,12 +1,12 @@
## Conceptual overview
# Concepts
### States
## States
At any given time, there are any number of validators registered in the state machine.
Each block, the top `n = MaximumBondedValidators` validators who are not jailed become *bonded*, meaning that they may propose and vote on blocks.
Validators who are *bonded* are *at stake*, meaning that part or all of their stake and their delegators' stake is at risk if they commit a protocol fault.
### Tombstone Caps
## Tombstone Caps
In order to mitigate the impact of initially likely categories of non-malicious protocol faults, the Cosmos Hub implements for each validator
a *tombstone* cap, which only allows a validator to be slashed once for a double sign fault. For example, if you misconfigure your HSM and double-sign
@@ -15,7 +15,7 @@ to avoid, but tombstone caps somewhat blunt the economic impact of unintentional
Liveness faults do not have caps, as they can't stack upon each other. Liveness bugs are "detected" as soon as the infraction occurs, and the validators are immediately put in jail, so it is not possible for them to commit multiple liveness faults without unjailing in between.
#### ASCII timelines
## ASCII timelines
*Code*
@@ -39,4 +39,4 @@ A single infraction is committed then later discovered, at which point the valid
[----------C<sub>1</sub>--C<sub>2</sub>---C<sub>3</sub>---D<sub>1</sub>,D<sub>2</sub>,D<sub>3</sub>V<sub>u</sub>-----]
Multiple infractions are committed and then later discovered, at which point the validator is jailed and slashed for only one infraction.
Because the validator is also tombstoned, they can not rejoin the validator set.
Because the validator is also tombstoned, they can not rejoin the validator set.
@@ -1,8 +1,8 @@
## Messages
# Messages
In this section we describe the processing of messages for the `slashing` module.
### Unjail
## Unjail
If a validator was automatically unbonded due to downtime and wishes to come back online &
possibly rejoin the bonded set, it must send `TxUnjail`:
+17 -12
View File
@@ -16,15 +16,20 @@ This module will be used by the Cosmos Hub, the first hub in the Cosmos ecosyste
## Contents
1. **[Overview](overview.md)**
1. **[State](state.md)**
1. [SigningInfo](state.md#signing-info)
2. **[Transactions](transactions.md)**
1. [Unjail](transactions.md#unjail)
3. **[Hooks](hooks.md)**
1. [Validator Bonded](hooks.md#validator-bonded)
4. **[Begin Block](begin-block.md)**
1. [Evidence handling](begin-block.md#evidence-handling)
2. [Uptime tracking](begin-block.md#uptime-tracking)
5. **[Future Improvements](future-improvements.md)**
1. [State cleanup](future-improvements.md#state-cleanup)
1. **[Concepts](01_concepts.md)**
- [States](01_concepts.md#states)
- [Tombstone Caps](01_concepts.md#tombstone-caps)
- [ASCII timelines](01_concepts.md#ascii-timelines)
2. **[State](02_state.md)**
- [Signing Info](02_state.md#signing-info)
3. **[Messages](03_messages.md)**
- [Unjail](03_messages.md#unjail)
4. **[Begin-Block](04_begin_block.md)**
- [Evidence handling](04_begin_block.md#evidence-handling)
- [Uptime tracking](04_begin_block.md#uptime-tracking)
5. **[05_hooks.md](05_hooks.md)**
- [Hooks](05_hooks.md#hooks)
6. **[Tags](06_tags.md)**
- [Handlers](06_tags.md#handlers)
7. **[Staking Tombstone](07_tombstone.md)**
- [Abstract](07_tombstone.md#abstract)