NOTE: Understanding the Blockchain may make your eyes glaze over, but some people like all the specifics and details of how something works. I’ve included this last one in a series of 4 for those that like to dig deeper. As we have from the beginning we give all the credit on this post to it’s originator and the original article. I still believe that the information is vital to Eliminate the Confusion that surrounds this topic. My thanks goes out to Scott Maxwell for his time and expertise. The original article was written in June of 2014. Many more issues have been resolved since that time.
Bitcoin Algorithm – The Blockchain
The publicly held history of all transactions of Bitcoin is held in what is known as the blockchain. Starting with the creation of each Bitcoin, this shows every transfer of ownership to the present day. The integrity of the blockchain can be proven using another common encryption algorithm used throughout the Internet called SHA256. Known as a ‘hashing’ algorithm, this is used to detect whether the data has been tampered with. Changing even a single bit will radically change the output from the hash.
Hashing algorithms prove the unbroken chain of transactions
The output from the hash is a long string of bits. By including this string as part of the next transaction, the two transactions can be chained together.
By combining these two, you provide a way to sign a transaction to prove it was created by the owner, then you provide a way to chain transactions together to prove they’ve not been tampered with, Bitcoin provides a way to prove ownership similar in many ways to title deeds for property, or ownership records for cars.
When a transaction is posted publically, a copy is being sent to every server on the Bitcoin network. This network is extensive and powerful, but was created by individuals the world over donating server time to Bitcoin. Without this, the system simply wouldn’t function.
But why would anyone donate expensive servers in the first place?
In order to create an incentive for individuals to donate server time, the original design intentionally makes the hashing algorithm more difficult than it needs to be. Instead of allowing just any output from the algorithm, the design requires that the output contains an exact number of zeros at the start. Not all results have this number of zeros, and so by increasing or decreasing the number of zeros, the algorithm is made more difficult or easier. Increasing the number of zeros and more results have to be analyzed before hitting on the right one, decrease it and fewer have to analyzed.
If you stipulate more zeros at the start, hashing gets more difficult.
To get a valid answer, the algorithm needs to be rerun with new random number added to the transaction block each time. Do this often enough and eventually you’ll stumble upon a random number that’s just right to produce a hash output with exactly the right number of zeros at the start. However, it’s impossible to calculate in advance which random number will do this. Therefore the calculation of the hash turns into something of a lottery.
It’s being part of this lottery that gives the incentive, as it also includes a prize. The first server solving the puzzle can create an agreed number of the coins and add them to that transaction. These are brand new coins, and can be exchanged for traditional cash or held by the owner.
The probability that any particular server will find a valid output is also set by the design. That calculation looks like this.
Finally, the difficulty of the algorithm is changed to ensure that no matter how many servers are on the network it is likely that a new result will be found every 10 minutes.
Arbitrating between winners
In its simplest form what we have described above would work only if every server was working on the same block and could agree on who found the winning answer first. On a global network this is not possible. Delays in the transmission of data between servers means that no two servers can be guaranteed to have the same data.
This makes the simple case above susceptible to what is known as double accounting. A coin holder could potentially use the same coin to buy services from two different people at the same time. So long as those two people did not share data neither would know that the other transaction existed.
To make this impossible the design calls for a system of consensus between servers. Each server works on the longest blockchain it holds. It also has in reserve every other potentially valid blockchain. Because each server is working on what it thinks is the longest blockchain, there is a preference across the whole network for longer blockchain. This gives the blockchain which is actually longest an advantage, and it grows fastest.
Longer blockchains therefore grow faster then shorter ones. Over six or seven iterations one will accelerate away from the others and the network achieves a consensus. Transactions in that blockchain are confirmed and transactions in losing chains are discarded.
That is a brief description of the Blockchain
My head is spinning from putting that information together and like I said at the beginning… YOU DO NOT NEED TO UNDERSTAND THIS TO GET WEALTHY WITH CRYPTO-CURRENCIES.
I really hoped this helped. If so you can find the FOLLOW button over in the corner.
Be sure to contact me if you’d like to know how to Multiply your Bitcoin on AutoPilot.