From my understanding, an unconfirmed transaction can be accepted into the mempool provided that it has a fee that is generally at least 5460 satoshi, which is set as default in the current version of Bitcoin Core (assuming input=148B, output=34B, and relay node hasn't changed default settings). If a spammer sent a transaction like that, wouldn't it most likely not get picked up from the mempool by any miner (because of low fees) and thereby be returned to the original spammer at no loss? Couldn't this happen for a large number of similar transactions?
2 Answers
yes, but then the "spammer" hasn't really accomplished anything.
essentially with spamming its either 1) you paid to get a "spam" transaction included in a block or 2) you paid nothing to get it in the mempool
not really spam either way at this point
-
But by getting it into the mempool, won't that help to increase network congestion? Commented May 19, 2017 at 23:19
From my understanding, an unconfirmed transaction can be accepted into the mempool provided that it has a fee that is generally at least 5460 satoshi, which is set as default in the current version of Bitcoin Core (assuming input=148B, output=34B, and relay node hasn't changed default settings).
That's not correct. Given the number 5460 you're citing, I believe you're talking about the dust limit rather than the relay fee. The dust limit is a minimum value that each output needs to have to be acceptable, and is intended to prevent transactions on the network that are uneconomical to spend. The precise rule is that the output's amount must be at least 3 times how much it would cost to spend it, at the minimum relay feerate.
To be acceptable in the mempool there are more rules. The relevant one here is that it must pay at least the mempool feerate. This is a feerate determined automatically based on the limiting mechanism. When the mempool is full (default 300 MiB in Bitcoin Core 0.14.1), the transaction(s) with the lowest feerate are evicted, and the mempool feerate is increased to be equal to that of the evicted transactions. The mempool feerate will then gradually go down over time, until a new eviction is necessary.
If a spammer sent a transaction like that, wouldn't it most likely not get picked up from the mempool by any miner (because of low fees)
Such a transaction would likely not relay at all through the network, because in normal circumstances the mempool feerate of most nodes would be sufficiently high to reject it.
and thereby be returned to the original spammer at no loss?
The transaction wouldn't be mined, indeed, and nothing would be paid. However, almost no cost to the network would occur, because of the above.