The chain with the smaller hash rate is unlikely to be functional for a long time (unless new miners step up but this would be a tremendous investment).
This is by design as this makes it economically unfeasible to fork the chain and suddenly have twice the amount of coins.
But to clear it up, there are thousands of nodes. By some measures, when including non-listening nodes, 10's of thousands.
On the other hand if the current "Core" development team prevails with their much more complex "Segwit" soft fork you'll need to create new wallets to use it and you'll have to transfer your bitcoins from your old wallet to it.
Who will buy and sell an altcoin does matter. That's where liquidity and prices come from. But that's independent of who is running a node.
> https://en.wikipedia.org/wiki/Consensus_%28computer_science%...
> A fundamental problem in distributed computing and multi-agent systems is to achieve overall system reliability in the presence of a number of faulty processes. This often requires processes to agree on some data value that is needed during computation. Examples of applications of consensus include whether to commit a transaction to a database (or, for example, committing blocks to a blockchain), agreeing on the identity of a leader, state machine replication, and atomic broadcasts. The real world applications include clock synchronization, PageRank, opinion formation, smart power grids, state estimation, control of UAVs, load balancing and others.
Nodes are the agents.
> Satoshi from the Bitcoin White-paper : The network is robust in its unstructured simplicity. Nodes work all at once with little coordination. They do not need to be identified, since messages are not routed to any particular place and only need to be delivered on a best effort basis. Nodes can leave and rejoin the network at will, accepting the proof-of-work chain as proof of what happened while they were gone. They vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them. Any needed rules and incentives can be enforced with this consensus mechanism.
Nodes are agents in a multi-agent system with an agreed set of consensus rules that ensure that the system functions. Transactions are propagated through the multi-agent network based upon the agreed consensus rules by nodes, which are agents in a multi-agent system. Miners retrieve valid transactions from any of these nodes, which are agents in a multi-agent system. They then order the transactions, and perform a hashing function on them until the hashing function returns a value that is suitable to the nodes, which are agents in a multi-agent system. They then pass the new block that they've created to the nodes, which are agents in a multi-agent system. The nodes, which are agents in a multi-agent system, then validate the block to ensure that each of the transactions within the block agree with the consensus rules. They then pass the new block, if it is valid, to other nodes, which are agents in a multi-agent system. Then each of these other nodes, which are agents in a multi-agent system, each do the same validation on every block.
You demonstrate a fundamental lack of understanding of how bitcoin works.
The original vision of Bitcoin, as described in that paper, was of a peer to peer network where most nodes mined with spare CPU cycles. That stopped working once dedicated mining hardware was developed and deployed in quantity. Anybody can still try to mine, but without dedicated hardware in large quantities, it's an exercise in futility. Only 0.5% of mining power today is not part of a known large pool.[1] The top 5 mining pools have a majority of the mining power.
Non-mining nodes just maintain a copy of the blockchain, and occasionally forward transactions to miners. The bigger players usually connect directly to mining pools, rather than bothering with going through some random node, so they get faster confirmations.
That's how Bitcoin works today.
And neglected to use the full quote : "Nodes can leave and rejoin the network at will, accepting the proof-of-work chain as proof of what happened while they were gone. They vote with their CPU power, expressing their acceptance of valid blocks by working on extending them and rejecting invalid blocks by refusing to work on them."
https://en.bitcoin.it/wiki/Full_node
> Full nodes download every block and transaction and check them against Bitcoin's core consensus rules. Here are examples of consensus rules, though there are many more:
- Blocks may only create a certain number of bitcoins. (Currently 12.5 BTC per block.)
- Transactions must have correct signatures for the bitcoins being spent.
- Transactions/blocks must be in the correct data format.
- Within a single block chain, a transaction output cannot be double-spent.
> If a transaction or block violates the consensus rules, then it is absolutely rejected, even if every other node on the network thinks that it is valid. This is one of the most important characteristics of full nodes: they do what's right no matter what. For full nodes, miners actually have fairly limited power: they can only reorder or remove transactions, and only by expending a lot of computing power. A powerful miner is able to execute some serious attacks, but because full nodes rely on miners only for a few things, miners could not completely change or destroy Bitcoin.
https://www.cryptocompare.com/coins/guides/how-does-a-bitcoi...
> Each node builds its own transaction pool, which are mostly the same.
> The conditions can change and evolve over time and a present list can be checked through the AcceptToMemoryPool, CheckTransaction & CheckInputs functions in the bitcoin client.
1. The transactions syntax and data structure are correct. 2. The input and outputs have values. 3. The transaction is less than the block size of 1 MB. 4. The values must be more than 0 and less than 21 million. 5. None of the inputs have a hash that is equal to 0. 6. The locktime is less than the maximum allowed number. 7. The transaction size is greater than or equal to 100 bytes. 8. The number of signatures is less than the signatute limit. 9. The unlocking script can only push numbers onto the stack. 10. The locking script must match isstandard format. 11. A matching transaction must exist. 12. If a transaction is missing move the transaction to the orphan transaction pool. 13. If the transaction is a coinbase transaction then it must have a maturity of 100 confirmations. 14. For each input the output must exist and not have been spent. 15. Check that each input value is in the required range. 16. Reject if the input value is less than the output value. 17. Reject if the transaction value is to low to get into an empty block. 18. The unlocking scripts for each input must be verified against the output locking scripts.
So nodes accept the transactions, validate the transactions, replicate the transactions, maintain the mempools, validate the blocks, replicate the blocks, serve the blockchain, and store the blockchain. Nodes even define the PoW algorithm that miners have to employ.
So nodes maintain the protocol, not miners. It is thus. It has always been thus.
See for yourself. Download it. https://bitcoin.org/en/download . It's currently at 0.14.0
https://bitcoin.org/en/full-node
> A full node is a program that fully validates transactions and blocks. Almost all full nodes also help the network by accepting transactions and blocks from other full nodes, validating those transactions and blocks, and then relaying them to further full nodes.
You really need to learn how bitcoin works if you want to comment on it.
Bitcoin is far more centralized than was originally expected. The only nodes that matter are the exchanges and the miners, who usually talk directly. Unless you do a high volume op transactions in a monetary sense, running a full node has little or no effect on the network. Transactions go around your node, not through it.
The dream of Bitcoin as a distributed system of peers died years ago.