First of all I want to applaud you for writing a proper response. Much better than most one-liners you get on twitter. I will take an equal amount of time to properly address your remarks. I think medium will hit it’s limitations on quoting each other soon, and I have put your replies in quotes
like this
and my original text that you quoted
like this
Let’s get to it.
—
Sure, you could disable the mining functionality in the Bitcoin software. But that’s not my point. In the white paper, the intent/meaning behind the word “node”, is always a miner.
—
First of all, my point still stands: No miner will be crazy enough to destroy their whole investment by performing fraud. Especially not the majority of miners! They know that exchanges, wallet providers and users will retaliate.
But let’s just play along with your extreme case of what would happen if the majority of the miners start performing fraud.
Exchanges and payment providers will reject the transactions. The honest miners that remain will also. But we have a majority of miners that became evil and are performing fraud. So they will keep building the fraudulent chain and some people will accept the transactions while others won’t. It’s absurd to think that everyone in the world needs to or will run a “non-mining full node” to prevent that. Here’s what would happen, no matter how many “non-mining full nodes” or SPV clients there are:
- You can’t just fork Bitcoin without changing the POW, because the evil miners will probably just come/switch to your new chain.
- The only recourse is a POW change. I expect that some ASIC-resistant variant will be agreed upon and activated within 12 hours or maximum a day (Bitcoin will be in chaos during this period).
- Bitcoin will fork to the new POW and reset to the last block that was mined before all miners became evil. This means that even if you did accept fraudulent transactions, they will be reverted. So it debunks the whole point of “people shouldn’t be running SPV nodes because it’s not safe” and/or “everyone should be running a full node”.
—
No, please check my points above. First of all you’d need everyone in the world to run a “non-minding full node”, which is absurd because maybe 1% of Bitcoin users are running full nodes today. Second of all, the chances of a majority of miners destroying their investment is practically zero, and third, in practice you’d have to change the POW today so your argument doesn’t stand.
—
Same point I made above. And it doesn’t matter if you run a “non-mining full node” or an SPV client. If there’s a hardfork (or softfork!) you don’t agree with, you can either fork away or hope there will be enough support from exchanges, payment providers and users (SPV or no SPV) to support you in rejecting the upgrade. It all depends on the community, and your “non-mining full node” plays a very minor part in that. It can help you make a statement, but if miners decide to do the upgrade and no one wants it, we go to a similar scenario as what would happen when miners would perform fraud: We will likely end up with a POW change and a fork.
—
you will need to update your “non-mining full node” software to keep using the Bitcoin Network
I’ve already rebutted your point above.
—
You explicitly *are* trusting the miners to remain honest and not perform fraud. That doesn’t mean they can’t be fired though. And my point remains: only a very small minority needs to check if the miners remain honest. Having everyone run a “non-mining full node” to check the honesty of miners is absurdly inefficient. You can even make a website that sends out an alert if it detects something is off, and there’s millions of other ways the community will immediately detect the fraud and take action.
—
Again, my point above is that you trust the majority of miners to remain honest, that’s how Bitcoin works. I also discussed the repercussions if they become dishonest. There’s no need to have everyone run a “non-mining full node” to make that happen.
—
Again the point I made above: It’s ridiculous to have everyone run a “non-mining full node” to prevent evil upgrades. If an evil upgrade is planned, the community will reject it no matter what software they run.
—
Again the point I made above: It’s ridiculous to have everyone run a “non-mining full node” to prevent evil upgrades. If an evil upgrade is planned, the community will reject it no matter what software they run. Case in point: The Segwit soft fork was also rejected and resulted in Bitcoin Cash.
—
Upgrades could happen faster and with a lot less fuss than today
Again the point I made above: It’s ridiculous to have everyone run a “non-mining full node” to prevent evil upgrades. If an evil upgrade is planned, the community will reject it no matter what software they run.
—
I think I answered all your questions. In closing, you do realize 99% of users are already running SPV clients or relying on third parties, right? So my case is already made and proven.