The math in the article assumes strong correlation between consumed gas in the block and uncle rates. This correlation ostensibly comes from these causalities:
- higher consumed gas → longer block processing times
- higher consumed gas → larger blocks
- longer block processing times → slower block propagation
- larger blocks → slower block propagation (due to bandwidth limits)
- slower block propagation → higher chance of mining an uncle (orphan in Bitcoin)
Numbers (2) and (4) can probably be ignored for now, because the blocks are relatively small.
The optimisation which existed in geth for a long time (only checking PoW before propagating the block), and is now in Parity Beta, weakens the causality number (3). By how much - I do not know, and this would be a good question to simulation/emulation working group. It is also weakened by the larger state caches (for example, recently introduced in geth) that miners would have warmed up if they are mining block containing similar sets of transactions.
Byzantium release has strengthened the causality (1), by introducing REVERT
opcode.
It might be that in the near future, uncle rate will stop being a reliable indicator of network congestion.