A high-level categorization of various attack vectors can be broken down into network attacks and consensus attacks.
  1. 1.
    Core mitigates network attacks (DDoS, Eclipse, BGP Hijack, etc) through a combination of transaction filtering, geographic dispersion of nodes, and random node selection for P2P communications as well as an officially published seed list for public nodes.
  2. 2.
    Consensus attacks are more interesting and have a wider taxonomy of threat vectors. Our combination of PoW, DPoS, and our validator election mechanism provide us with many desirable properties. Pre computation and selfish mining are not actionable by a fixed validator set in a roundrobin manner because they are attempting to manipulate a pseudorandom mechanism which does not exist on Core. Censorship and transaction delays are actionable but are mitigated as long as there are honest validators in the set. In a similar vein, some attacks like 51% and Sybil attacks can’t be fully mitigated, but both are economically unwise to attempt and very difficult to achieve given our ranking by the hybrid score of their hash power and stake. Long range attacks are mitigated by our checkpointing scheme and reliance on PoW, which doesn’t suffer from this category of attack. With checkpointing in place, the most relevant category of attacks are various short-range attacks (long-range + checkpointing = short range).