diff options
| author | Tom Harding <[email protected]> | 2014-06-25 23:41:44 -0700 |
|---|---|---|
| committer | Tom Harding <[email protected]> | 2014-06-27 07:54:21 -0700 |
| commit | d640a3ceab4f4372c2a0f738c1286cfde4b41b50 (patch) | |
| tree | 48aba47604e601d8b50b23de7ca9bb17f82e9926 /src/core.h | |
| parent | CBloomFilter::clear() method (diff) | |
| download | discoin-d640a3ceab4f4372c2a0f738c1286cfde4b41b50.tar.xz discoin-d640a3ceab4f4372c2a0f738c1286cfde4b41b50.zip | |
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 27fda9555..860683157 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 |