IntersectMBO / IntersectMBO/ouroboros-consensus

ChainDB: rate limiting chain selection

Open
#591 1 comment 0 reactions 0 assignees View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.