aboutsummaryrefslogtreecommitdiff
path: root/src/core.h
diff options
context:
space:
mode:
authorTom Harding <tomh@thinlink.com>2014-06-25 23:41:44 -0700
committerTom Harding <tomh@thinlink.com>2014-06-27 07:54:21 -0700
commitd640a3ceab4f4372c2a0f738c1286cfde4b41b50 (patch)
tree48aba47604e601d8b50b23de7ca9bb17f82e9926 /src/core.h
parent8fbf03995df9a2003be603be1a930bc3373d56e0 (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.h3
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