Keep in mind that these stats are not completely accurate. MiningPoolStats reads a pool’s hash rate from the pool’s own API software which might or might not tell the truth.
Network Hash Rate
Moreover, as you’ll see here, the overall network hash rate (used in calculating a pool’s percentage share) is only an estimate of the total hashing power. It is back-calculated by multiplying the current difficulty by the desired block time (120 seconds currently). Since miners don’t need to let the network know about their existence until they’ve successfully mined a block, there is no way to know the exact total hash rate at any point in time. There might be hundreds of ASICs mining solo or mining on a small local pool who only mine a block once every few days and whose hashing power contribution therefore gets lost in the mix.
The Odds of an Attack
Considering that the figures on MiningPoolStats are indeed correct, for a pool to be able to launch an attack it needs to maintain at least a 51% lead for an extended period of time and be lucky enough to solve a couple of blocks in a row. Major exchanges like Cryptopia or Kucoin require at least 12 blocks for confirmation of a deposit, which translates to 24 minutes on average. So a pool has to maintain 51% of hashing power for 24 minutes and be lucky enough to solve 12 blocks in a row faster than the rest of the network can do it, to be able to make unautorhized changes to the blockchain (should they choose to act maliciously in the first place).
Given all these odds to overcome, an unfortunate stroke of luck on the attacker’s part means a 51% always remains a possiblity. This article on CCN gives 4 defences against such an attack, including:
- Asking major exchanges to temporarily increase block confirmation times
- Have miners boycott the pool by moving to a new pool (after all, individual ASIC owners would want to prevent a 51% attack to safeguard their own investments, and would therefore move to a smaller pool).
- Launching a DDOS attack on the 51% pool and bringing down their servers.
- Forking to introduce a software tweak that simply ignores orphan chains (alternative chains shorter than the current longest one) that have diverted from the main chain for a considerable amount of blocks, with some checks involving the amounts and priorities of transactions on each chain.