user115192: After mining rewards go down to 0, it is possible miners will not pick up transactions with 0 fees. In that case, could someone create millions of transactions with no fees, to congest the mempool and slow down the network?

user13866: 
could someone create millions of transactions with no fees, to congest the mempool and slow down the network?

Most nodes will discard and not relay any transactions with a fee less than their configured minimum relay transaction fee.
As https://en.bitcoin.it/wiki/Miner_fees says

Relaying
The reference implementation's rules for relaying transactions across the peer-to-peer network are very similar to the rules for sending transactions, as a value of 0.00001 BTC is used to determine whether or not a transaction is considered "Free". However, the rule that all outputs must be 0.01 BTC or larger does not apply. To prevent "penny-flooding" denial-of-service attacks on the network, the reference implementation caps the number of free transactions it will relay to other nodes to (by default) 15 thousand bytes per minute.
Settings




Setting
Default Value (units)




txconfirmtarget
2 (blocks)


paytxfee
0 (BTC/kB)


mintxfee
0.00001 (BTC/kB)


limitfreerelay
15 (thousand bytes per minute)


minrelaytxfee
0.00001 (BTC/kB)


blockmaxsize
750000 (bytes)


blockminsize
0 (bytes)


blockprioritysize
0 (bytes)




So there already are countermeasures to denial of service attacks .
None of this has anything to do with mining rewards. I don't doubt miners will also ruthlessly prune any transactions that don't serve to maximise their profits.

115192: <p>After mining rewards go down to 0, it is possible miners will not pick up transactions with 0 fees. In that case, could someone create millions of transactions with no fees, to congest the mempool and slow down the network?</p>
 13866: <blockquote>
<p><strong>could someone create millions of transactions with no fees, to congest the mempool and slow down the network?</strong></p>
</blockquote>
<p>Most nodes will discard and not relay any transactions with a fee less than their configured minimum relay transaction fee.</p>
<p>As <a href="https://en.bitcoin.it/wiki/Miner_fees" rel="nofollow noreferrer">https://en.bitcoin.it/wiki/Miner_fees</a> says</p>
<blockquote>
<h2>Relaying</h2>
<p>The reference implementation's rules for relaying transactions across the peer-to-peer network are very similar to the rules for sending transactions, as a value of 0.00001 BTC is used to determine whether or not a transaction is considered &quot;Free&quot;. However, the rule that all outputs must be 0.01 BTC or larger does not apply. To prevent &quot;penny-flooding&quot; denial-of-service attacks on the network, the reference implementation caps the number of free transactions it will relay to other nodes to (by default) 15 thousand bytes per minute.</p>
<h2>Settings</h2>
<div class="s-table-container">
<table class="s-table">
<thead>
<tr>
<th>Setting</th>
<th>Default Value (units)</th>
</tr>
</thead>
<tbody>
<tr>
<td>txconfirmtarget</td>
<td>2 (blocks)</td>
</tr>
<tr>
<td>paytxfee</td>
<td>0 (BTC/kB)</td>
</tr>
<tr>
<td>mintxfee</td>
<td>0.00001 (BTC/kB)</td>
</tr>
<tr>
<td>limitfreerelay</td>
<td>15 (thousand bytes per minute)</td>
</tr>
<tr>
<td>minrelaytxfee</td>
<td>0.00001 (BTC/kB)</td>
</tr>
<tr>
<td>blockmaxsize</td>
<td>750000 (bytes)</td>
</tr>
<tr>
<td>blockminsize</td>
<td>0 (bytes)</td>
</tr>
<tr>
<td>blockprioritysize</td>
<td>0 (bytes)</td>
</tr>
</tbody>
</table>
</div></blockquote>
<p>So there already are countermeasures to denial of service attacks .</p>
<p>None of this has anything to do with mining rewards. I don't doubt miners will also ruthlessly prune any transactions that don't serve to maximise their profits.</p>
