> Isn't a node a process on the network that is mining blocks?
No. It is only the validation that is important, because it is only the validation that ensures that consensus is maintained between nodes, and valid transactions can be included in the blockchain. Nodes even define the algorithm that miners must use in order to produce valid blocks.
There has been a hard education for people over the past year that have carried an incomplete understanding of how bitcoin works, and that has been encouraged by centralized companies that are attempting to wrest control of bitcoin away from its nodes. There have been four wildly unsuccessful hostile fork attempts (XT/Classic/BU/2x), and two in which alt-coins were forked (BCH/BGLD) from bitcoin in order to attempt to convince people to use their alt-coin instead of bitcoin. All of these attempts have been failures, because all of these attempts have not understood how bitcoin works, and the fact that nodes are the peers in bitcoin, and they police and enforce consensus.
I guess I just have never found support for that in the nakamoto paper. You obviously have strong feelings about it, and I'm not trying to provoke an argument. I just still don't understand where in the paper there is any discussion of non-mining nodes. The only place I can find mention of nodes that are not working on constructing new blocks on the network is in Section 8 re: the simplified verification protocol.
I believe the original intention was that all nodes would be mining nodes, and that there would be tens of thousands, or even hundreds of thousands.
I believe in 2008 Satoshi did not understand the full implications of ASICs or economies of scale. (S)he probably didn't even realize that ASICs existed.
Regardless of the whitepaper, in our modern cyberscape the only way to be certain that the original rules (21m coins, can only spend your own money, etc.) are followed is to be confident that a wide and deep pool of users are verifying them. That is strictly at odds with heavy on-chain scaling.
"At first, most users would run network nodes, but as the
network grows beyond a certain point, it would be left more and more to
specialists with server farms of specialized hardware. A server farm would
only need to have one node on the network and the rest of the LAN connects with
that one node."
Satoshi was well aware of specialized hardware. If the majority of the planet were using bitcoin, it would not be necessary for every user to be a node. It would still be plenty "wide and deep" if businesses were running it. The security of SPV is actually quite good.
"I anticipate there will never be more than 100K nodes, probably less. It will reach an equilibrium where it's not worth it for more nodes to join in. The rest will be lightweight clients, which could be millions.
At equilibrium size, many nodes will be server farms with one or two network nodes that feed the rest of the farm over a LAN."
"The current system where every user is a network node is not the intended configuration for large scale. That would be like every Usenet user runs their own NNTP server. The design supports letting users just be users. The more burden it is to run a node, the fewer nodes there will be. Those few nodes will be big server farms. The rest will be client nodes that only do transactions and don't generate."
Satoshi didn't predict mining pools, but they were fully aware that mining nodes will be in minority. It's mining pools that produce centralization problem, not mining hardware.
Our understanding of Bitcoin has progressed by leaps and bounds since the system has been running for 9 years. The whitepaper is not the end-all, be-all of Bitcoin. Even Satoshi did not fully realize what he built. For more details: https://www.coindesk.com/nobody-understands-bitcoin-thats-ok...
That's because you're right and he's wrong. He's a well known bitcoin core apologist, and is just talking his political position. The original intended system design at scale had no need for non mining nodes.
This revisionism is a long running and well known war, here is the core political bloc in question actually attempting to justify editing the white paper to push their perspective over reality.
For those of us that only follow the latest on bitcoin at a high level, I think it is difficult to determine what are the points of disagreement. When I first read about bitcoin on HN in 2010, and read the whitepaper (and went to their IRC channel), I certainly don't remember thinking that non-mining nodes were that important. However, now I'm not sure, and many people making arguments on all sides seem to have good arguments at various times. I am hoping more people with good knowledge of the issues weigh-in here, rather than the over-politicized subreddits.
The real truth is that both everybody and nobody is in control.
Every participant in the system has a part to play and has a choice, miners choose which chain to mine and in doing so secure that chain from attack and earn a return, people that run nodes pick the nodes to run based on which chain they believe has the most value, or in the case of miners in order to mine the chain they believe has the most value, spv wallet users transact on the chain they value and pay fees to support the upkeep of it, the simple act of conducting trade with a cryptocurrency gives the entire apparatus basic value, so the people that don't give a damn about any given blockchain and just want to use it to move some completely unrelated asset from a to b also still give the system value, and of course the holders and traders of the actual blockchain assets give the system value and play a part in resolving contentious forks, by evaluating what they see as the market value of a given blockchain asset, forked or otherwise, and profiting or losing based on that insight.
Short of outright theft of a private key, nobody may compel even the smallest user of a blockchain to perform an action that they do not freely wish to undertake, not all the devs writing node software, shills pushing political agendas, or even miners mining blocks in the chain can change that fundamental aspect of the system that keeps it actually properly decentralised. The only way around this is to drive the vast majority of transactions off chain and force most end users to operate through third party intermediaries that manage their actual potential transactions in the system.
Like exactly what core are doing with the lightning network, for example.
To be quite honest, it doesn't matter if folks think that non-mining nodes are unimportant - they can't force folks who /are/ running full validating non-mining nodes into accepting arbitrary rule changes to the protocol. That's what's important.
Perhaps it should give you pause with that belief structure when you realize the word 'mining' doesn't even exist in the bitcoin whitepaper. It is only the nodes that exist, because it is only the nodes that validate, and everything that didn't have anything to do with validation is rightly considered a secondary concern of the protocol.
So there are nodes, which are peers. And there are people who need nodes for performing bitcoin transactions, and some of those people are miners, and some of them are just making good-ol-fashioned transactions. The correct term is "I am a peer, and I use this node for my transactions, which create blocks". Or "I am a peer, and I use this node for my transactions, which are payments."
Please read section 5 of the whitepaper on bitcoin network. You are not a node in bitcoin if you cannot perform proof-of-work. A non-mining node has no say in bitcoin.
You really should learn how bitcoin works. It will lead to a lot less frustration on your part when reality delivers a different outcome to your understanding.
Oh please. The only thing a non mining full node does is make a choice which network rules you want to follow. They do not define the rules miners use, they do that themselves.
> There have been four wildly unsuccessful hostile fork attempts (XT/Classic/BU/2x)
These were all upgrade attempts that failed to gain miner support. Calling them "hostile forks" is stupid. The only thing hostile with them is the threat they pose to the developers who do not want to scale Bitcoin on-chain, for whatever reason.
> All of these attempts have been failures, because all of these attempts have not understood how bitcoin works, and the fact that nodes are the peers in bitcoin, and they police and enforce consensus.
No. Spinning up mass nodes in a sybil attack has no relevance.
They failed because they failed to gain enough hash power backing their upgrade plan. This is due to politics and economics.
You have had a one year long lesson in your misunderstanding of how bitcoin works. And yet you are here trying to explain how the fork attempts didn't turn out exactly as i say.
> the validation that ensures that consensus is maintained between nodes
That's a terrible misunderstanding. If nodes can reach consensus by simply agreeing on transaction validity, then what purpose do you believe miners serve?
The definition of a node is provided in Section 5 of the white paper mentioned in OP. The logic that explains "why you must mine in order to be a peer" is explained in Section 4.
Non-mining nodes are trivial to Sybil, they are "one-IP-one-vote" per Section 4. Only miners are "one-CPU-one-vote." That is why nonminers (what you call "nodes") are not peers to the system, but rather leeches / relays.
You have had a one year long lesson in your misunderstanding of how bitcoin works. And yet you are here trying to explain how the fork attempts didn't turn out exactly as i say.
this is just idiotic propaganda from Core idiots. Non-mining nodes do nothing. They are like spectators at a football game, they get loug and angry but cannot change the score, only miners can. The only thing a non-mining node can do to reject a block is remove itself from that network. Mining nodes reject blocks by NOT mining on top of it and extend valid chains to be longest and thus orphan invalid blocks.
And yet here we are seeing off four hostile fork attempts in a couple of years (xt/classic/bu/2x). You'd think after four failures in a row, all failing for exactly the same reason, that the people supporting the failures might learn why they fail. But here we are. Explaining why they fail, after they fail, and yet the supporters of the failures are trying to assert that even though they fail, they understand the system. Without even acknowledging that they have failed, let alone why.
Yes, they all failed due to lack of miner support in the form of hashing power. Are you eluding to them failing because non-mining nodes were guarding the entry and exit gates of bitcoin? If that was so, it would be quick, cheap and easy to spin up millions of VM nodes on worldwide servers by bankers and government agencies and just outvote with non-mining nodes. The reality is that bitcoin protocol only recognises mining nodes thru proof-of-work. You are delusional in your understanding of bitcoin networking.
but but but I thought you said nodes didn't matter? I thought you said miners make all of the decisions, which 97% were signalling 2x at one point, so couldn't they just adopt whatever consensus rules they want?
Or, perhaps, you don't actually know how bitcoin works, and therefore you can't explain how miner 'support' disappeared, as soon as it came time to decide whether they wanted to be bitcoin miners, or become alt-coin miners? You know, given that the nodes police and enforce consensus in bitcoin 'n all. Miners had a choice. Do what you're told, and mine according to node consensus rules, or don't get paid in bitcoin. So they did what they were told.
And here you are, with you still trying to fight a battle you've already lost. Four times. Losing exactly the same way every time. Because even after all of those losses, you still can't figure out why you always lose. Because even after all of those failures, you still don't understand why you lost, because you still don't understand how bitcoin works.
the segwit2x contentious fork failed due to an "off-by-one" block height issue in the codebase for miners. Even if all the miners were running it, it would never have activated. Did you even know that?
Also, most of the segwit2x node signalling were indeed done by Amazon AWS instances of non-mining nodes. It was not miner nodes. Did you even know that?
And here you are, with you still trying to fight a battle you've already lost. Four times. Losing exactly the same way every time. Because even after all of those losses, you still can't figure out why you always lose. Because even after all of those failures, you still don't understand why you lost, because you still don't understand how bitcoin works.
No. It is only the validation that is important, because it is only the validation that ensures that consensus is maintained between nodes, and valid transactions can be included in the blockchain. Nodes even define the algorithm that miners must use in order to produce valid blocks.
There has been a hard education for people over the past year that have carried an incomplete understanding of how bitcoin works, and that has been encouraged by centralized companies that are attempting to wrest control of bitcoin away from its nodes. There have been four wildly unsuccessful hostile fork attempts (XT/Classic/BU/2x), and two in which alt-coins were forked (BCH/BGLD) from bitcoin in order to attempt to convince people to use their alt-coin instead of bitcoin. All of these attempts have been failures, because all of these attempts have not understood how bitcoin works, and the fact that nodes are the peers in bitcoin, and they police and enforce consensus.