bitcoin/src/consensus
Matt Corallo 7b999103e2 Clean up banning levels
Compared with previous bans, the following changes are made:
 * Txn with empty vin/vout or null prevouts move from 10 DoS
   points to 100.
 * Loose transactions with a dependency loop now result in a ban
   instead of 10 DoS points.
 * Many pre-segwit soft-fork errors now result in a ban.
   Note: Transactions that violate soft-fork script flags since P2SH do not generally
   result in a ban. Also, banning behavior for invalid blocks is dependent on
   whether the node is validating with multiple script check threads, due to a long-
   standing bug. That inconsistency is still present after this commit.
 * Proof of work failure moves from 50 DoS points to a ban.
 * Blocks with timestamps under MTP now result in a ban, blocks
   too far in the future continue to *not* result in a ban.
 * Inclusion of non-final transactions in a block now results in a
   ban instead of 10 DoS points.

Co-authored-by: Anthony Towns <aj@erisian.com.au>
2019-05-02 11:00:19 -04:00
..
consensus.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
merkle.cpp scripted-diff: Move util files to separate directory. 2018-11-04 22:46:07 -08:00
merkle.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
params.h Update copyright headers to 2018 2018-07-27 07:15:02 -04:00
tx_check.cpp Clean up banning levels 2019-05-02 11:00:19 -04:00
tx_check.h [build] Move CheckTransaction from lib_server to lib_consensus 2019-04-09 17:53:08 -04:00
tx_verify.cpp Clean up banning levels 2019-05-02 11:00:19 -04:00
tx_verify.h [build] Move CheckTransaction from lib_server to lib_consensus 2019-04-09 17:53:08 -04:00
validation.h [refactor] drop IsInvalid(nDoSOut) 2019-05-02 11:00:19 -04:00