<oembed><type>rich</type><version>1.0</version><author_name>npub17ty4mumkv43w8wtt0xsz2jypck0gvw0j8xrcg6tpea25z2nh7meqf4qgyd</author_name><author_url>https://nostr.ae/npub17ty4mumkv43w8wtt0xsz2jypck0gvw0j8xrcg6tpea25z2nh7meqf4qgyd</author_url><provider_name>njump</provider_name><provider_url>https://nostr.ae</provider_url><html>📅 Original date posted:2013-07-18&#xA;📝 Original message:&gt; SPV clients behaving normally are highly abusive: they use up maximum&#xA;&gt; node resources with minimum cost to themselves.&#xA;&gt;&#xA;&#xA;This must be a new use of the word &#34;abuse&#34; I haven&#39;t come across before :)&#xA;&#xA;At any rate, some of these assumptions are incorrect. Botnets of&#xA;compromised web servers are quite common, and asymmetry in node resources&#xA;is obviously biased against the kinds of devices people increasingly have&#xA;(phones, tablets) where extremely limited memory bandwidth is common and&#xA;apps routinely have just 16 or 32mb of memory to do everything including&#xA;the GUI.&#xA;&#xA;A good anti-DoS strategy looks much the same as a good load shedding&#xA;strategy. There&#39;s little reason to treat them separately. Perhaps instead&#xA;of talking about DoS we should instead talk about what happens if Bitcoin&#xA;suddenly gets too popular. Now there are suddenly lots of good users all&#xA;wanting to use the network, and not enough nodes to support them all. What&#xA;do we do?&#xA;&#xA;Some rules seem obvious - try to prioritise existing users over new users,&#xA;old coins over new coins (dPriority already does this) etc. If you run out&#xA;of TCP sockets prefer to disconnect recent connections (probably new users)&#xA;to long lived connections (probably high powered backbone peers). If you&#xA;run out of disk seeks prefer processing new blocks to serving old parts of&#xA;the chain, etc.&#xA;-------------- next part --------------&#xA;An HTML attachment was scrubbed...&#xA;URL: &lt;http://lists.linuxfoundation.org/pipermail/bitcoin-dev/attachments/20130718/4c80ef0f/attachment.html&gt;</html></oembed>