Autotip

Decentralized Cryptocurrency Microtipping Platform.

Understanding Blockchain Forks

July 24, 2015, 11:57 p.m., by chris

Before we get started understanding blockchain forks, we first must understand how cryptocurrency mining works. Bitcoin mining is essentially a game. Imagine a virtual poker table with robots sitting around this table. Instead of playing a game of cards, they are playing a game that has the result of creating this object called a blockchain. Much like how people playing a game of baseball results in the creation of a score card. A blockchain is much more useful than a baseball game score card. The point of baseball is to have fun playing the game and to have fun watching the game, not for creating score cards. The only reason anyone plays the bitcoin game is not to have fun (strictly speaking), but instead to simply create this blockchain. The blockchain allows for the existence of a de-centralized digital currency. The players of this game are machines. These machines are owned by people. These people are just like athletes, they are always trying to come up with techniques to get the best advantage in this game. "SPV mining" and submitting 0-transaction blocks are strategies in the same way as taking steroids is a strategy to getting better performance in the game of baseball. Instead of throwing a baseball around, running around bases and hitting balls with sticks (as is done in baseball) the bitcoin mining players are doing calculations and making blocks. Baseball has innings. The bitcoin equivalent are called "mining rounds". In baseball a game is finite with only 9 innings. The mining game is infinite, one mining round after another for eternity. Baseball is played with real people who have to sleep and eat, bitcoin is played by machines who don't need sleep. At the start of each mining round, the mining players are presented with a number. What each player actually does during the mining round is very technical in nature, but for the time being, lets just say they are doing this thing called "generating hashes". This thing is very energy intensive, but if it was easy, it would be pointless. Sort of like how hitting a baseball has to be hard, otherwise the game wouldn't be as fun. As long as the bitcoin mining game is being played, the blockchain will continue to exist and the digital currency will continue to be viable. The moment this game stops, bitcoin will cease to exist. For this reason, the bitcoin mining rules must be carefully selected so that long term sustainability of the game is ensured. The bitcoin game has rules, just like how the game of baseball has rules. A change in the bitcoin rules will play out much like how a change in the rules to baseball will play out.

What is a blockchain fork?

Essentially a fork occurs in bitcoin network (sometimes referred to "blockchain forks"), when some mining players are using one set of rules, and another portion of the mining players are using another set of rules. Imagine the commissioner of baseball making a rule change to baseball. Instead of 3 strikes and you're out, for now on, it's 4 strikes and you're out. This is where our baseball analogy starts to break down. In reality, Major League Baseball is an organization with a lot of power. When they make a rule change, it is in everyone's best interest to obey the new rules, or else be subject to fines or suspension from the game. In the bitcoin world, there is no such organization. There used to be a commissioner, a dude by the name of Satoshi Nakamoto. He's no longer participating in the bitcoin project in any way shape of form, and he has left no clear successor. For this reason, rule changes to the bitcoin world are very difficult. Instead of rule changes happening by decree, they can have to occur by a process that is unique to cryptocurrency. A blockchain fork is one of the things that may occur during this process. Not all changes to bitcoin's code will result in a fork.

The process for making a change to the bitcoin rules

Most software updates itself. When the google chrome developers release a new version of their web browser, everyone who has chrome installed will automatically get the new version. This is called automatic updating. The software that controls the bitcoin players (miners) has no such mechanism. This is a good thing because you don't want someone hacking this feature which causes everyone to lose money. If google chrome's automatic updater mechanism gets hacked, its not the end of the world because no one has their life savings stored in chrome. Because there is no automatic updating mechanism, it is a very common situation where part of the people playing the bitcoin game are running one version of the code, and another portion of the people playing the game are using the new version of the code. Imagine having a game of baseball where one half of the players on both teams operating according to 3 strikes and you're out, while the other half of the players are using 4 strikes you're out. The game would play fine until a situation arose where a third strike is thrown. Half of the players see an out, while the other half of the players think he should get another pitch. This is essentially what happens when the bitcoin network forks. The process for changing the rules of a cryptocurrency are as follows.

Step 1: the priming phase

First a change in the bitcoin code is written. Then the software is released and bitcoin players (people who own mining hardware) are encouraged to upgrade to the new version. Once a significant portion of the network has this version installed, step one is complete.

Step 2: The critical event

Once a significant portion of the network has the new version of the code installed, step 2 is complete. What do I mean by significant amount? Enough hash power to win a block. This event is similar to a batter getting a third strike when some players think 3 strikes makes an out, while others think strikes makes an out. Depending on the nature change, this step could last for a very long time.

Step 3: The fork occurs

Those players who follow the new rules will see this block as a legitimate block, while the players who are using the old rules will see it as not a valid block. There are two important attributes when it comes to blockchain forks: 1. What is the split. For instance how many miners are using the old rules, and how many are using the new rules. 2. Who is looking at the minority chain. When a blockchain fork occurs, there are two different version of the blockchain. In a 90/10 split, if you're looking at the 90%, you're looking at the most correct chain. If you're looking at the 10% chain, you're looking at the wrong chain. A lot of people use the blockchain.info block explorer. If the people who run blockchain info are not updating thir code, then there is a chance that their website will show If 10% of the players are using the new code and 90% re using the old code, then the size of the fork is said to be "90/10". Actually that's a lie, hardly anyone talks about spread of a fork when one happens, but they should! A fork that is 50/50 is the worse case scenario. A fork that is 5/95

Step 4: The fork is finished!