mirror of
https://github.com/tendermint/tendermint.git
synced 2026-01-08 14:21:14 +00:00
spec: remove evidences (#153)
This commit is contained in:
@@ -96,6 +96,27 @@ Example:
|
||||
}
|
||||
```
|
||||
|
||||
## EvidenceType
|
||||
|
||||
A part of Tendermint's security model is the use of evidence which serves as proof of
|
||||
malicious behaviour by a network participant. It is the responsibility of Tendermint
|
||||
to detect such malicious behaviour, to gossip this and commit it to the chain and once
|
||||
verified by all validators to pass it on to the application through the ABCI. It is the
|
||||
responsibility of the application then to handle the evidence and exercise punishment.
|
||||
|
||||
EvidenceType has the following protobuf format:
|
||||
|
||||
```proto
|
||||
enum EvidenceType {
|
||||
UNKNOWN = 0;
|
||||
DUPLICATE_VOTE = 1;
|
||||
LIGHT_CLIENT_ATTACK = 2;
|
||||
}
|
||||
```
|
||||
|
||||
There are two forms of evidence: Duplicate Vote and Light Client Attack. More
|
||||
information can be found [here](https://github.com/tendermint/spec/blob/master/spec/light-client/accountability.md)
|
||||
|
||||
## Determinism
|
||||
|
||||
ABCI applications must implement deterministic finite-state machines to be
|
||||
@@ -570,8 +591,7 @@ via light client.
|
||||
### Evidence
|
||||
|
||||
- **Fields**:
|
||||
- `Type (string)`: Type of the evidence. A hierarchical path like
|
||||
"duplicate/vote".
|
||||
- `Type (EvidenceType)`: Type of the evidence. An enum of possible evidence's.
|
||||
- `Validator (Validator`: The offending validator
|
||||
- `Height (int64)`: Height when the offense occured
|
||||
- `Time (google.protobuf.Timestamp)`: Time of the block that was committed at the height that the offense occured
|
||||
@@ -618,8 +638,6 @@ via light client.
|
||||
unbonding period. `MaxAgeNumBlocks` is calculated by dividing the unboding
|
||||
period by the average block time (e.g. 2 weeks / 6s per block = 2d8h).
|
||||
- `MaxNum (uint32)`: The maximum number of evidence that can be committed to a single block
|
||||
- `ProofTrialPeriod (int64)`: The duration in terms of blocks that an indicted node has to
|
||||
provide proof of correctly executing a lock change in the event of amnesia evidence.
|
||||
|
||||
### ValidatorParams
|
||||
|
||||
|
||||
Reference in New Issue
Block a user