diff options
author | Tom Harding <tomh@thinlink.com> | 2014-06-25 23:41:44 -0700 |
---|---|---|
committer | Tom Harding <tomh@thinlink.com> | 2014-06-27 07:54:21 -0700 |
commit | d640a3ceab4f4372c2a0f738c1286cfde4b41b50 (patch) | |
tree | 48aba47604e601d8b50b23de7ca9bb17f82e9926 /src/core.h | |
parent | 8fbf03995df9a2003be603be1a930bc3373d56e0 (diff) |
Relay double-spends, subject to anti-DOS
Allows network wallets and other clients to see transactions that respend
a prevout already spent in an unconfirmed transaction in this node's mempool.
Knowledge of an attempted double-spend is of interest to recipients of the
first spend. In some cases, it will allow these recipients to withhold
goods or services upon being alerted of a double-spend that deprives them
of payment.
As before, respends are not added to the mempool.
Anti-Denial-of-Service-Attack provisions:
- Use a bloom filter to relay only one respend per mempool prevout
- Rate-limit respend relays to a default of 100 thousand bytes/minute
- Define tx2.IsEquivalentTo(tx1): equality when scriptSigs are not considered
- Do not relay these equivalent transactions
Remove an unused variable declaration in txmempool.cpp.
Diffstat (limited to 'src/core.h')
-rw-r--r-- | src/core.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/src/core.h b/src/core.h index 27fda95552..8606831575 100644 --- a/src/core.h +++ b/src/core.h @@ -256,6 +256,9 @@ public: return hash; } + // True if only scriptSigs are different + bool IsEquivalentTo(const CTransaction& tx) const; + // Return sum of txouts. int64_t GetValueOut() const; // GetValueIn() is a method on CCoinsViewCache, because |