Bitcoin Core chain download criterium net_processing.cpp contains


    // If this set of headers is valid and ends in a block with at least as
    // much work as our tip, download as much as possible.



why are we interested in chain that's only equal in work to what we already have? would it make not better sense to download only when chain is better? what is the benefit in this &lt;= logic compared to if it was just &lt;?
When a fork exists with two equal-work branches, it is not unreasonable that the one we saw second will get extended.

There is little DoS risk in downloading both, as an attacker must spend an enormous amount of work to even make us do so.

At the same time, it is useful to be prepared for the blocks in a reorganization, as it reduces the time needed for such a block to propagate through the network.