LeastAuthority / eth2.0-specs

Creative Commons Zero v1.0 Universal
0 stars 0 forks source link

DDOS attacks against block proposer #8

Open PlanetMacro opened 4 years ago

PlanetMacro commented 4 years ago

An attacker might try to DDOS block-proposers:

With RanDAO proposers of blocks are known for all slots in an epoch and the network specs make it very easy to figure out associated IP addresses quickly.

An attacker might use this to stall the chain, or to keep slots empty, because they only need to overwhelm one proposer peer at a time.

This has been discussed in the comunity, but it is nevertheless a security concern given the specs that we had to audit. Using some sort of SSLE might be a valid remediation

protolambda commented 4 years ago

Possible other direction, just an idea: if known to become a proposer, maybe be very conservative to accept new connections, gossip, etc. Or for large stakers, maybe prepare alternative temporary source(s) to distribute the new block through? Increased privacy to avoid the issue altogether would be good too.

keks commented 4 years ago

Possible other direction, just an idea: if known to become a proposer, maybe be very conservative to accept new connections, gossip, etc.

Not sure how easy it would be to get additional rules like this into the libp2p framework, but it may be possible.

Or for large stakers, maybe prepare alternative temporary source(s) to distribute the new block through?

We also discussed this, but figured that requiring a second uplink that is not known to the adversary would be too much to ask. Another option would be to run the validator as a tor hidden service which can be disabled when it's that node's turn. However, this would increase network latency in unpredictable ways, which is undesirable as well.

Increased privacy to avoid the issue altogether would be good too.

Yes, that is when the SSLE proposal is about. We can't hide the validators' IP addresses because that would make the overlay network impossible, so we have to hide the information who the block proposer is.

keks commented 4 years ago

Instead of DDoSing the block proposer, it looks like we can also eclipse them. Gossipsub seems to be susceptible to this (which is difficult to prevent in a public network, and using SSLE would fix the issue as well)