-
Notifications
You must be signed in to change notification settings - Fork 2.1k
Closed as not planned
Labels
backlog-priorityA priority issue in the backlogA priority issue in the backlogstalefor use by stalebotfor use by stalebot
Description
Description
This issue aims to cover a wide variety of use cases where Tendermint could remove bad peers more proactively. Peer removal is triggered by information from various reactors and aims to a) increase security and b) boost performance.
There are already a number of issues created around this topic.
Definition of done
- Define and specify bad peer behaviour. By bad behaviour we do not necessarily mean malicious behaviour. Rather, peers can be considered bad if they are slow, sending stale or unwanted messages or too frequent requests. Each issue tackling peer removal has to clearly identify what behaviour is considered bad.
- Node is disconnected from peers upon detection of bad behaviour.
- Changes are backported to 0.34.x
- Changes are backported to the latest 0.37 version
- QA tests are performed for each backport before release.
Individual issues tackling removal of bad peers
Mempool
- Removing transactions failing CheckTx. mempool: disconnect from faulty peers #6523
- Allow application to return a code in CheckTx marking a transaction that never could have been valid, leading to a disconnect from the peer who sent this transaction.
- mempool/p2p: Research implications of peer disconnect based on ResponseCheckTx #9546
- The use case where a node sends transactions that could never have been valid;
Implications on the security and correctness model of Tendermint (how does the application know that it is this particular peer that should be removed, is this scenario not covered already by other layers in Tendermint, etc.);
- What other changes in other parts of Tendermint should the implementation of this require;
- If solution/problem still seem valuable, propose an implementation path taking into account potential need to refactor and change the p2p layer itself to support this. - Implement peer removal based on return code from CheckTx.
Make CheckTx response indicate if a tx could never have been valid #7918
mempool: punish peers sending txs that return certain ABCI codes in mempool #2185
- mempool/p2p: Research implications of peer disconnect based on ResponseCheckTx #9546
Consensus
Blocksync
Pex/p2p
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
backlog-priorityA priority issue in the backlogA priority issue in the backlogstalefor use by stalebotfor use by stalebot
Type
Projects
Status
Done/Merged