Peers can be banned based on: invalid transactions, blocks, large payloads and large use.
This includes:
-
Invalid UTXO Inputs:
self.inputs
- Empty Inputs Set
- Or any input with invalid
Commitment
-
Invalid UTXO Outputs:
self.outputs
- Empty Outputs Set
- Or any output with:
- Invalid
OutputFeatures
- Invalid
Commitment
- Invalid
RangeProof
- Invalid
-
Invalid Signature:
excess_sig
This includes:
-
Invalid Header:
- Invalid Merkle UTXO Root:
self.header.utxo_merkle
- Invalid Merkle Tx Root:
self.header.tx_merkle
- Invalid Block Feature:
self.header.feature
- Invalid Proof (?):
self.pow
- Invalid Merkle UTXO Root:
-
Invalid UTXO Inputs:
self.inputs
- Empty Inputs Set
- Or any Input with invalid
Commitment
-
Invalid UTXO Outputs:
self.outputs
- Empty Outputs Set
- Or any output with:
- Invalid
OutputFeatures
- Invalid
Commitment
- Invalid
RangeProof
- Invalid
-
Invalid TxKernels:
self.kernels
- Empty Inputs Set
- Or any TxKernel with:
- Invalid
Commitment
- Invalid signature
- Invalid
- Any message type (
Block
,Tx
, etc) that has a size over an X threshold.
- Any peer that is sending over Y Mb/s threshold for longer than Z seconds.