Explaining Hashrate and Mining Difficulty: Fundamentals of Bitcoin’s Blockchain
Learning the fundamentals of Bitcoin is an important step to creating a world where cryptocurrency is generally accepted. Only education and knowledge can make people more comfortable with technology and this is doubly true for digital currency.
The news is full of stories of hacking and lost money, which would give anyone cause for concern. Couple that with a generation still not completely sold on the internet as a whole, education is the key step in the process of getting cryptocurrency into the wider world.
So whether you are looking to get into this whole mining thing, or you just want to know how secure Bitcoin really is, this article will attempt to clear things up for you. The most confusing thing around mining can be the terminology.
Inexperienced users particularly hold many misconceptions around the process. This article hopes to remedy that.
Proof-of-Work And How It Changed The Internet
The internet had a profound effect on the way we do business. Everything was revolutionized in under a decade. We went from retailers to Amazon, encyclopedias to Wikipedia and from paper administration to giant databases that were many times faster and cleaner than anything before.
The only problem is that money never kept up with this trend. We still use the same system of transferring money as we did almost 50-60 years ago. There were attempts to create internet money before Bitcoin. Projects such as Flooz.com or e-gold were some of the entrants but they all had very large problems.
They either required a centralized party to control every single action, which was prohibitively expensive for something that wasn't already being used by everyone. If the decentralized route was taken, then the problem became one of double-spending. This is where someone performs two transactions to two different addresses at the same time.
A P2P network wouldn't be able to follow this action and would probably approve both. That meant there was no decentralized way to transfer money on the internet.
What Bitcoin did was introduce a timestamp to combat the double-spending problem. It was an automated system that put all the transactions of the network in a ledger in chronological order. This meant that the first transaction that arrived onto the ledger was the valid transaction, and all others were considered invalid.
Now what was needed was to make sure to secure the list. A mechanism called Proof-of-Work was devised. This required people to spend time and processing power on creating new blocks fo the network so that no attackers would be able to make a chain of blocks longer than the original chain.
The network only accepts the longest chain, and since it is impossible to make one that is longer, the network is then safe for users.
Mining And How It Ties Into PoW
So PoW is just a method to prove that you took time and effort (in Bitcoin's case computing power) to create the blocks. This means people cannot simply create as many blocks as they want and mess up the system.
A hash is one-way cryptographic function. What this means specifically is that it is extremely difficult, to the point of absurdity, to reverse the result of a cryptographic hash. PoW is based on Bitcoin's hash, which uses an SHA-256 algorithm. Every time a block is created and filled, all of the transactions that comprise the block are runt through that SHA-256 encryption algorithm and put at the beginning of the block that follows it.
This keeps the entire chain of events and transaction linked so that any change that someone tried to introduce would throw up a huge red flag.
So Why Is Mining So Difficult?
There are a number of factors here. The first is related to the number of hashes needed to create a new block. Bitcoin is a self-regulating network. The more power put into the system, the better it will regulate itself. The network does a check every two weeks to see if the time of mining (10 minutes per block) is constant.
Let's take an example where AMD and Intel introduce superfast computers that are many orders of magnitude faster than what we have now. Everyone now tries to mine Bitcoin and it takes 5 minutes per block instead of 10.
The system will increase the target difficulty of the block headers to adjust the time needed to mine a block. If the network loses capacity, then it will decrease the difficulty to keep the 10-minute deadline holding fast.