 |
February 12, 2015, 10:13:49 AM |
|
Okay, a lot of people appear to be talking without knowledge of how hard forks actually happen.
The process starts with miners getting mining software that will understand and could produce blocks on the new version. They start putting the new protocol version number into the blocks. But they continue to produce blocks that follow the old protocol until the last 1000 blocks are 95% produced by miners that are putting the new protocol version into the blocks. After that, the hard fork is enforced. Two things happen; they start using the new protocol, and they start rejecting any new blocks that have the earlier protocol number.
Meanwhile, when the number of recently mined blocks showing a higher version number rises above 50%, any client with the old version will warn that it's on the losing side of an upcoming hard fork and a software update is required.
Here is an interesting thing about this split in particular; even when 95% of the miners start rejecting blocks for having too low a version number, there may not be an immediate split. If this happens while we aren't bumping up against the 1MB limit, then the earlier clients will see nothing in the first few of the new blocks to object to, because all the new blocks (until a >1Mb block actually happens) are still acceptable to the existing clients. So, until that time all that happens, from the point of view of the original clients, is that blocks bearing the original version number are getting orphaned by blocks bearing the new version number.
So any original-version blocks created during this time wouldn't wind up in their own block chain, they'd just get rejected, by the new clients for having too low a version number and by the original clients for having another perfectly-acceptable block chain get longer. Even though the hard fork is being "enforced" by the new clients, it hasn't happened yet as long as the new blocks are acceptable to the old clients. So any original-version blocks mined during this time are a dead loss for miners, regardless of which side of the hard fork they intend to be on. Rather than mining at a dead loss, I expect that miners who haven't upgraded yet, mostly will.
But after a while, a >1Mb block arrives, and the new version clients will build on it and the old version won't, so the hard fork actually happens. Now the miners have a choice. They could choose to mine on the new version or the old version. Let's stack this up for a minute and see what the choice looks like.
The old version has already lost 95% of the hashing power before the new-version clients pulled the trigger by starting to reject old-version blocks. Also probably lost at least 90% of whatever was left because miners don't like mining at a dead loss, so let's say they've got about one half of one percent of the hashing power. That means they'd get a block about once per 33 hours. A one-megabyte block every 33 hours. Meaning, a limit of 1 transaction per 86 seconds. Your transaction gets into a block in 33 hours, and it takes about ten days to get to the confirmation depth of 6 blocks. If you get a coinbase transaction, good luck waiting out that 100 block depth until it's spendable. It'll take over four and a half months. Oh, but of course there are difficulty adjustments to make everything work right! There sure are, every 2016 blocks. Assuming you still have miners for that long, that takes over seven and a half years. Taking the maximum reduction that the protocol can take, that'll quadruple the rate at which you get blocks. then you get up to 1 transaction per 21 seconds and you get another difficulty adjustment in 2 years, and another one six months after that, and another one just a month and a half later. So we're up to about ten years later before the original chain gets back up close to one transaction per second. This does not sound like a winner to me.
Meanwhile the new version takes off with 99.5% of the hashing power, and essentially flicks whatever holdouts and weirdos stick on the old chain off like an elephant shakes off a fly. They are able to take 40 or so transactions per second, and the old-version chain, with its smaller crop of miners, is limited to less than one transaction per minute.
Seriously? Seriously, you think staying on the original-version chain is a viable choice? I invite you to do so; the rest of us will ignore you, except for the ones that care enough about your welfare to stage an intervention and tell you you're crazy and you need to get help.
|