"What is the difference between a fork of the Bitcoin Core reference client and a fork of the Bitcoin network?"
That's an excellent question. We use the word "fork" to describe three or four different scenarios.
First of all, creating a fork in software --
which is a very common thing, you see it on GitHub and other software projects --
means simply creating an alternative version of that [software] project,
where different developers are pursuing different goals.
That doesn't necessarily change the consensus rules, the behaviour on the network, or anything like that.
There are a number of Bitcoin Core reference client forks that are entirely compatible with Bitcoin Core,
operate on the same Bitcoin network,
and do not cause a [network] fork of Bitcoin because they use the same consensus rules.
One example of that is the Bitcoin Knots distribution, which is a fork of Bitcoin Core by Luke Dashjr.
That fork simply has some different software distribution policies,
but it follows the same consensus rules as Bitcoin Core.
You will see Bitcoin Knots clients operating on the Bitcoin network,
without any problems and interoperating with Bitcoin Core.
That's a software fork.
Another [type of fork] you might see is a change that causes a network fork,
where the fork occurs in the network and it splits in two.
You can have that even without change in the consensus rules. It can cause quite a few weird problems.
Then finally, the [type of fork] you are most likely thinking of is a consensus fork.
A consensus fork is a change in the consensus rules. There are two types of consensus forks:
a soft fork, where the rules have become more restrictive...
and therefore clients following the old rules can still follow the new rules;
a hard fork, where the rules have become less restrictive, which means that clients following the old rules will...
find the new rules to be invalid, in certain circumstances.
That's the difference between a soft and hard fork.
Those are consensus forks, which means the consensus rules have changed either in a backwards-compatible...
or a non backwards-compatible way.
"Why is a new currency created when forks happen?"
"Why can't we keep using the bitcoin currency on the new protocol, even if it's a fork?"
The reason for that, Makrum, is because when a hard fork happens, the rules have changed.
When the rules have changed, the new rules are not compatible with the old rules.
That's why it's called a hard fork, which means you can't simply move currency from one network to the other.
The two networks become distinct. They have forked and they have forked hard.
They are now separate blockchains with separate rules.
As soon as you have separate blockchains with separate rules, the currencies are no longer interchangeable.
You can't keep using the same currency [on the forked chain]. Inevitably, the prices are [also] going to diverge.
Because they behave differently, they're going to be priced differently. The rules are different.
You can't transfer one to the other without an exchange, which makes [them] in effect different currencies.
It's not that there are [just] technical barriers to prevent you from treating it as the same currency,
it's that there are economic and technical barriers.
You have a divergence of the consensus rules, a divergence of the networks, a splitting of the liquidity,
a splitting of the fungibility, and therefore you have a splitting of the economics.
"Was Bitcoin Unlimited a separate blockchain because the nodes accepting bigger block sizes would have...
been banned by the nodes operating on Bitcoin Core?"
Yes and no. First of all, Bitcoin Unlimited was a change in the consensus rules.
The nodes accepting bigger block sizes are running different consensus rules, less restrictive than before.
Before the change in Bitcoin Unlimited, a one-megabyte block was acceptable.
After the change, a [block] greater than one megabyte was acceptable.
When you have a [looser] restriction, that means nodes expecting a one-megabyte block...
[will see] something bigger than one megabyte as invalid.
That's a hard fork consensus rule change.
Not only would Bitcoin Core nodes refuse to accept the blocks produced on that network as valid,
but [so would other compatible clients].
This would cause a network fork (as a secondary effect),
where nodes that are propagating these larger blocks will get banned.
As far as Bitcoin Core [and other compatible clients] are concerned, these nodes are propagating invalid blocks.
The hard fork change in consensus rules then causes a split in the network, a network fork,
because those nodes get banned for propagating invalid blocks.
"Does the bitcoin network ever go down for maintenance or a system upgrade?"
No, it doesn't. Unlike the banking system, Bitcoin is up 24 hours per day, 7 days per week, 365 days per year.
Current up-time for the Bitcoin network is 99.99% and higher.
In fact, you can check because there's a nice website which can tell you that [up-time].
(I'm going to check the URL to make sure it's correct.)
BitcoinUpTime.com
'[Bitcoin is] currently functional for 99.992145168% of the time since inception on January 3rd, 2009.'
[What] is that missing one thousandth of a percentage point?
It is probably a disruptive fork that happened in April 2013,
due to a bug in the system that delayed things for about twenty-five blocks.
The system didn't go down, it just slowed down, and then all of the transactions eventually went through.
They were just delayed by twenty-five blocks.
"How does the community come to consensus about changes in the rules, particularly soft forks?"
"If people vote with their CPU power, does this mean it is only miners who really have a say?"
"What about developers who don't mine, or a solo miner? How [are their views represented]?"
Carol - at first glance, it appears that miners are the only ones who have a say, but that quickly falls apart...
once you realize that miners need to pay their electricity bills.
In order to pay their electricity bills, they need to be able to transact in the currency that they're mining.
In order to transact in that currency they're mining, they need exchanges, wallets, and merchants.
In order for those exchanges, wallets, and merchants to work, there have to be some users...
who are willing to buy the currency that these miners are now selling.
In order for those users to be buying that currency, they have to be following the same rules.
If miners implemented a change that the rest of the Bitcoin economy rejected, miners could continue to...
mine and produce a blockchain with the new rules,
but they wouldn't be able to sell the [coins] on that chain, because none of the exchanges would accept it;
none of the wallets would use it, and no one would buy it
because everybody [and most nodes are] still operating by a different set of rules.
That means, of course, that those who are operating by a different set of rules -- exchanges, wallets, users,
buyers merchants, etc. -- may no longer have [as many] miners, which would definitely slow that chain down...
and perhaps even stop it for awhile.
But if that economy still has economic purchasing value, miners might decide to mine that chain anyway,
where the rewards have really gone up because there [wouldn't be] as much competition in mining.
Those miners would actually make better profits, so they defect and start working for the economic majority.
As soon as that happens, you immediately see how things balance out pretty quickly.
Consensus is a tricky thing to understand, but one of the most important aspects is
that there are multiple constituencies of consensus.
Developers, who write the rules but can't force anyone to run them.
Miners, who mine blocks but can't force anyone to accept those blocks as valid or buy the currency.
Wallets, that can produce transactions but can't force any miners to [include them in blocks],
or force any users to use [their] wallets.
Merchants, who sell products but can't force anyone to buy those products or give them the currency want.
Everybody seems to have power, but they only have power if they play by the majority rules.
If they stop playing by the majority rules, they are the ones who are losing out economically.
As a result, consensus is something where you can have a lot of power...
as long as you keep doing what the majority says.
The moment you try to go against the majority, that power becomes very weak, very quickly,
and comes with significant economic costs.
That's how consensus stays together.