user104: I was reading about Algorand’s core technology, and in their section on delegated proof of stake, they argue that DoS attacks are a key weakness of this, and hence Cardano‘s, model.
I was wondering what is Cardano‘s approach to address that challenge.
A related question, also comparison to Algorand; Algorand trumpets that the slot leader (in Cardano terms) picks itself via a VRF. Who picks the slot leader in Ouroboros?

user2092: This is just a strategy I've been using, feel free to poke holes in it.

Keep your block producer on a private subnet (it does not need to be on the public IP space).
Give it a relay that is not advertised.

In the event that an attacker decides to slow your pool down, the BP still has the unadvertised relay to propagate in a timely manner.

user5286: It will take a lot more than 1 system (DoS) to take down Cardano!
But we're also protected well from DDoS attacks, here are a few reasons why:

In terms of the network, the a parameter "collateral" in the transaction fee structure helps prevent someone from flooding the network with useless transactions that can cause congestion etc. They must send along some fixed ADA so that makes a DDoS attack this way very expensive.
Stake pools don't expose their BP (block producer) node to the open Internet. They interface through Relay nodes so identifying and attacking the BP is difficult.
Stake pools often have >1 Relays and to successfully stop block production you would need to attack all Relays registered to that pool. Not to mention private Relays that are not registered for peer discovery.
Stake pool operators can take additional DDoS protection measures. Some include: stricter firewall configurations, private subnets, VPN, ets
The attacker can't know who will be the next pool to produce a block. This is due to the VRF (Verifiable Random Function). It's a really interesting concept, definitely consider a read.


user382: While the above answers are both correct, they focus on the practical of how an SPO protects themselves from a DoS and the large number of nodes that would need to be attacked to be successful. The real key is the leadership schedule isn't public. An attacker cannot know when a pool will make a block until that block producer has forged and sent the block on to a relay the attacker is monitoring. At this point, it's too late to DoS the node. There's a bunch of really cool cryptography that if you want to dig into, IOG (formerly IOHK) has written many papers on, but the key point is you need to control the VRF secret key to know a block producers leadership schedule. As long as the operator doesn't share that schedule, they can't be targeted when it's their time to make a block.

user4290: There are around 3000 pools in Cardano network(they call them delegates in that link what you shared). I would expect at least 2 relays per pool, some pools have even more and I doubt that any pool run with just one relay. To take down whole network you will need to DoS(by the way currently nobody use DoS, but mostly DDoS, because DoS is attack from one location and it is ineffective, because you can just block that IP/location with FW and etc) 6000 servers in different locations and different hosting like AWS, OVH and etc. This will be defiantly not an easy task and not cheap, I can assure you. Additionally most hosting like AWS, OVH and etc has quite sophisticated anti-DDOS mechanism:
https://www.ovh.com/world/anti-ddos/
https://aws.amazon.com/shield/?whats-new-cards.sort-by=item.additionalFields.postDateTime&whats-new-cards.sort-order=desc
And if your pool is using other hosting it probably has some similar mechanism to prevent this.
Additionally if your pool will become target of such attacks, you can try to use hidden relays, just allow well known peers to connect to your relays and etc.
To summarize I would like to add that any service connected to internet can be target for DDoS and in theory can be taken down, even bitcoin network, but I personally think this is definitely not an issue for Cardano and in most cases if you follow best practices for system administrating, you should mitigate most of the risks.
Additionally I strongly disagree that you can easily and cheap DoS 1000 people[probably he meant servers/devices, people do not have yet IP connection, I'm still waiting for neuralink :)]

104: <p>I was reading about <a href="https://www.algorand.com/resources/blog/algorands-core-technology-in-a-nutshell" rel="nofollow noreferrer">Algorand’s core technology</a>, and in their section on delegated proof of stake, they argue that DoS attacks are a key weakness of this, and hence Cardano‘s, model.</p>
<p>I was wondering what is Cardano‘s approach to address that challenge.</p>
<p>A related question, also comparison to Algorand; Algorand trumpets that the slot leader (in Cardano terms) picks itself via a VRF. Who picks the slot leader in Ouroboros?</p>
 2092: <p>This is just a strategy I've been using, feel free to poke holes in it.</p>
<ol>
<li>Keep your block producer on a private subnet (it does not need to be on the public IP space).</li>
<li>Give it a relay that is not advertised.</li>
</ol>
<p>In the event that an attacker decides to slow your pool down, the BP still has the unadvertised relay to propagate in a timely manner.</p>
 5286: <p>It will take a lot more than 1 system (DoS) to take down Cardano!</p>
<p>But we're also protected well from <em>DDoS</em> attacks, here are a few reasons why:</p>
<ol>
<li>In terms of the network, the <code>a parameter</code> &quot;collateral&quot; in the <a href="https://docs.cardano.org/explore-cardano/fee-structure" rel="nofollow noreferrer">transaction fee structure</a> helps prevent someone from flooding the network with useless transactions that can cause congestion etc. They must send along some fixed ADA so that makes a DDoS attack this way very expensive.</li>
<li>Stake pools don't expose their BP (block producer) node to the open Internet. They interface through Relay nodes so identifying and attacking the BP is difficult.</li>
<li>Stake pools often have &gt;1 Relays and to successfully stop block production you would need to attack all Relays registered to that pool. Not to mention private Relays that are not registered for peer discovery.</li>
<li>Stake pool operators can take additional DDoS protection measures. Some include: stricter firewall configurations, private subnets, VPN, ets</li>
<li>The attacker can't know who will be the next pool to produce a block. This is due to the VRF (Verifiable Random Function). It's a really interesting concept, definitely consider <a href="https://crypto.bi/vrf/" rel="nofollow noreferrer">a read</a>.</li>
</ol>
 382: <p>While the above answers are both correct, they focus on the practical of how an SPO protects themselves from a DoS and the large number of nodes that would need to be attacked to be successful. The real key is the leadership schedule isn't public. An attacker cannot know when a pool will make a block until that block producer has forged and sent the block on to a relay the attacker is monitoring. At this point, it's too late to DoS the node. There's a bunch of really cool cryptography that if you want to dig into, IOG (formerly IOHK) has written many papers on, but the key point is you need to control the VRF secret key to know a block producers leadership schedule. As long as the operator doesn't share that schedule, they can't be targeted when it's their time to make a block.</p>
 4290: <p>There are around 3000 pools in Cardano network(they call them delegates in that link what you shared). I would expect at least 2 relays per pool, some pools have even more and I doubt that any pool run with just one relay. To take down whole network you will need to DoS(by the way currently nobody use DoS, but mostly DDoS, because DoS is attack from one location and it is ineffective, because you can just block that IP/location with FW and etc) 6000 servers in different locations and different hosting like AWS, OVH and etc. This will be defiantly not an easy task and not cheap, I can assure you. Additionally most hosting like AWS, OVH and etc has quite sophisticated anti-DDOS mechanism:</p>
<p><a href="https://www.ovh.com/world/anti-ddos/" rel="nofollow noreferrer">https://www.ovh.com/world/anti-ddos/</a></p>
<p><a href="https://aws.amazon.com/shield/?whats-new-cards.sort-by=item.additionalFields.postDateTime&amp;whats-new-cards.sort-order=desc" rel="nofollow noreferrer">https://aws.amazon.com/shield/?whats-new-cards.sort-by=item.additionalFields.postDateTime&amp;whats-new-cards.sort-order=desc</a></p>
<p>And if your pool is using other hosting it probably has some similar mechanism to prevent this.</p>
<p>Additionally if your pool will become target of such attacks, you can try to use hidden relays, just allow well known peers to connect to your relays and etc.</p>
<p>To summarize I would like to add that any service connected to internet can be target for DDoS and in theory can be taken down, even bitcoin network, but I personally think this is definitely not an issue for Cardano and in most cases if you follow best practices for system administrating, you should mitigate most of the risks.</p>
<p>Additionally I strongly disagree that you can easily and cheap DoS 1000 people[probably he meant servers/devices, people do not have yet IP connection, I'm still waiting for neuralink :)]</p>
