That's also something we've had an awful lot of topics about, heh.
Ultimately, if Bitcoin had retained the "
1 CPU = 1 Vote" concept Satoshi had, scaling would be a far simpler question. The idea was you were either a miner or an SPV user. And there was nothing in between. However, mining became centralised at a rate far quicker than Satoshi had anticipated. As such, the need for non-mining nodes became essential to keep a reasonable degree of decentralisation. Notice how there's no mention of non-miners relaying transactions or enforcing consensus rules. They were never part of the design, but we now rely heavily upon them. It's because of these nodes that scaling is a far more nuanced and delicate matter. Unlike miners, there's no financial reward for running a non-mining node, but they do help to secure the network. Ergo, making it more increasingly more costly to run something that earns no rewards is a difficult ask.