IntersectMBO / IntersectMBO/ouroboros-consensus
ChainDB: rate limiting chain selection
- Dominant language
- Haskell
- Stars
- 67
- Forks
- 43
- Avg merge
- 5d 13h
- Merged PRs (30d)
- 43
Description
While designing for Issue input-output-hk/ouroboros-consensus#387, we supposed scenarios where an adversary could "distribute" their attack amongst more than one of our peers. This would circumvent the as-proposed rate-limiting in the ChainSync client, since that is per-peer.
We considered a few mitigations rapidly, but the first that seemed quite appealing was to introduce a rate-limiting on the chain selection behavior of the ChainDB. Instead of each `addBlock` _always_ triggering a corresponding chain selection, we'd limit ourselves to eg 3 chain switches per second.
This Issue is to flesh out the design and testing approach, carefully consider network effects (eg potentially increased forwarding latency etc), and implement the change.
Contributor guide
Assessment
This issue has not been assessed yet.