In IsStandardTx
within main.cpp, there is a comment:
// Treat non-final transactions as non-standard to prevent a specific type
// of double-spend attack, as well as DoS attacks. (if the transaction
// can't be mined, the attacker isn't expending resources broadcasting it)
// Basically we don't want to propagate transactions that can't included in
// the next block.
What are the specific type of double-spend attacks and the DoS attacks alluded to here?