Suhas Daftuar 4eb515574e Make TX_WITNESS_STRIPPED its own rejection reason
Previously, TX_WITNESS_MUTATED could be returned during transaction validation
for either transactions that had a witness that was non-standard, or for
transactions that had no witness but were invalid due to segwit validation
rules.

However, for txid/wtxid-relay considerations, net_processing distinguishes the
witness stripped case separately, because it affects whether a wtxid should be
able to be added to the reject filter. It is safe to add the wtxid of a
witness-mutated transaction to the filter (as that wtxid shouldn't collide with
the txid, and hence it wouldn't interfere with transaction relay from
txid-relay peers), but it is not safe to add the wtxid (== txid) of a
witness-stripped transaction to the filter, because that would interfere with
relay of another transaction with the same txid (but different wtxid) when
relaying from txid-relay peers.

Also updates the comment explaining this logic, and explaining that we can get
rid of this complexity once there's a sufficient deployment of wtxid-relaying
peers on the network.
2020-07-19 02:10:42 -04:00
..
2020-07-19 02:05:29 -04:00
2020-06-09 13:39:09 -07:00
2020-02-09 07:44:29 -08:00
2020-04-16 13:33:09 -04:00
2020-04-16 13:33:09 -04:00
2020-07-08 14:26:14 +03:00
2020-07-18 19:00:01 -04:00
2020-07-01 18:03:12 -04:00
2020-07-19 02:10:41 -04:00
2020-07-19 02:10:41 -04:00
2020-04-30 09:19:14 -04:00
2020-06-21 06:02:59 -04:00
2020-06-21 06:02:59 -04:00
2020-06-26 13:49:52 -07:00
2020-07-18 19:00:01 -04:00
2020-04-16 13:33:09 -04:00
2020-07-19 02:10:41 -04:00