In my opinion, if full nodes are too expensive to run for enthusiasts and require funding by the miners, bitcoin will die.
Hence the 100,000 nodes, which would be government agencies, universities, big companies, big non profit organizations and enthusiasts (wealthy individuals).
There's no way bitcoin can survive with 1000 full nodes.
I disagree with this. In fact, I think this type of scenario (full, non-mining nodes being too expensive) is almost inevitable. I also don't see why 1,000 or under = death, but I have a feeling there will be more nodes than that.
Basically, why run a full node if you're not mining? Seriously. Right now I run a full node, because, hey why not. I already have a computer, internet, all that stuff, it's no big deal for me. It basically doesn't cost me anything. I just fire it up in the background when I run my computer and it goes and catches up with the blockchain.
But I get no direct benefit from running the software really. I know the general argument is this: I gain by not having to trust the miners. I can verify ever transaction in a published block and see if it's kosher.
To me, this is not really relevant. If I'm on my computer, and I get block A that is pushed to me, but my full-node sees as invalid, OK, I can drop it.
But what if the next block, block B, is built on block A? And then after that C? What am I supposed to do, throw up my hands and say, no, you guys are all wrong!!!
Basically, if you mistrust ALL the miners, being able to look at blocks and reject them as invalid is pretty much useless. If the mining network has actually been completely compromised, well that's pretty much game over anyway.
Another argument would be, well maybe someone's got control of my internet connection, and is feeding me made-up blocks. But in that case you should see the block production rate collapse, because an attacker doing so would have vastly less hashing power than the total network. So maybe he can do that with one block, but the 2nd or 3rd in that false-chain will take hours.
Basically, why not let only miners run the full nodes? Maybe you can worry about "centralization", true, but recall that initially, every full node was a mining node, or could be. Mining has now become more centralized because of hardware requirements. I expect that full-nodes will do the same, and substantially all full nodes will be engaged in mining in the future, because the costs of running a full node will continue to increase, with no concurrent increase in benefit. Once holding on to the whole blockchain becomes economically significant, you'll think, hey, I'm spending all this money to run a full node, I might as well mine while I'm at it, since mining has all of the same requirements.
Are there plausible scenarios where the _average_ home user runs full nodes years from now?
Also... why is this a problem? Thousands of miners running the bitcoin network, and being compensated to do so. Normal users connect to those miners and bid for transaction space. Sounds OK.