What a week to put a blog post out about blockchain. The high-profile implementation (and originator) of the technology, Bitcoin, is going through a division seeing a new cryptocurrency appear called Bitcoin Cash. This division is causing a lot of confusion and volatility on the market. But let’s get to the point of why I am writing this post. Blockchain, as a technology, introduces a completely fascinating notion that people should be aware of. At the same time, it doesn’t mean everyone should drop what they are doing to implement it right away.
Before I go much further, let’s quickly talk about what Blockchain is and where it came from. Blockchain was first created by Satoshi Nakamoto in 2008. If that name doesn’t sound familiar, its ok. He (or she) is not real. At least, not real in the sense that Satoshi is a pseudonym for some anonymous developer who first created Bitcoin a year later in 2009.
The notion of blocks of data chained together and hashed together using the hashes of their parent blocks isn’t as groundbreaking as it sounds. The Merkle tree has been a cryptological notion since 1979 when its creator, Ralph Merkle patented his hash tree. What block chain does do, and it does it well, is to take these well encrypted, related ledger entries and place them in a large distributed network, ensuring that even if a hacker were to try and insert a fake record into the system, it would have to compete with such a large number of other machines validating the entry that it couldn’t take hold. It would essentially be rolled back to the correct state and disregard the junk data.
So, what does any of this mean? A blockchain is essentially a ledger. Keep in mind that it is an amazingly large and precise ledger containing EVERY transaction processed through the system. As of the writing of this blog (pretty late in the day) there have been over 200,000 transactions entered into the ledger. At this rate, there will be about 1.5 million transactions this week. The number of wallets in the Bitcoin network has nearly doubled from 8 million to 15.7 million over the course of the last 12 months. The size of the network and its activity is what adds to the level of complexity and the time it takes to mine new bitcoins.
But Bitcoin isn’t the only blockchain out there. In fact, it may not even be the best use of the technology out there. Another implementation of blockchain, called Ethereum (which deals in a currency called Ether), uses the currency as a way to pay for running applications on the network. Instead of being paid to mine (which is how Bitcoin miners operate), Ethereum pays miners for running the applications which are embedded in the blocks.
This is where the power comes in to play. Being able to have a large network running essentially failsafe code (more to come on that later) makes blockchain an interesting tool. It can be used to house a large database of transactions which makes it extremely attractive to the banking industry. There are other uses for it. But at the same time, it can be complicated to build and run these blocks as well as a myriad of other issues.
Now that I’ve explained what blockchain is, let’s talk about some of those issues.
Blockchain feels like a buzzword of the moment
Everyone is talking about it. Unlike advances in Machine Learning and AI, blockchain doesn’t solve any of the great problems we have. It merely presents yet another way to securely store data in a distributed manner. To that end, we’ve had databases replicating in the cloud for quite some time. I’m not dismissing its usage, just that it’s not the most groundbreaking technological breakthrough of the 21st century. This just hearkens back to all the useless phrases I’ve heard spoken at work like “Synergy” or “Another day of excellence”. This is an excellent technology with some useful applications. It should be a solution to a problem and not the forced solution to a problem you are creating.
Blockchain is not unbreakable
The blockchain works on the idea that most nodes agree with each other. It works because there are such a significant number of nodes running on so much power that trying to setup enough servers on the network to alter the consensus isn’t practical. That’s the case with Bitcoin, but in your own implementation, you can figure out your own point of quorum. The security of the system grows with the number of nodes getting strong as the distribution grows.
Blockchain is not cheap
According to the official statistics page on bitcoin, Bitcoin transactions currently pay out miners at $26.42 per transactions. That is of course paid out in Bitcoin and variable based on the number of transactions and market value of bitcoin. But ask yourself why? If this is a distributed network and everyone is trying to mine, why is so much paid out to whomever manages to mine the block? Giving the answer away in the header, it isn’t cheap. You pay for the hardware required to mine as well as the electricity required to keep all the mining machines running.
To mine Bitcoin, you need specialized hardware that runs about 1500 to 2000 per machine. A single machine has a low likelihood of ever actually mining a single Bitcoin. If you are lucky, it will pay for itself over the course of a year. Of course, that assumes that the value of Bitcoin (which has risen over 375% over the past year) continues to stay high.
This all sounds great, but that’s Bitcoin. We are here to discuss the underlying technology of blockchain. Obviously, you aren’t expecting to run in a network like Bitcoin. There are farmers with hundreds of machines lining a room doing nothing but cranking out blocks for the chain. But if you want a secure network of blockchain devices, you will need to have a high number of nodes to maintain the chain and hope that some malicious hackers didn’t put even more nodes into your network and start creating transactions to corrupt your business.
Blockchain is mostly permanent
Here’s the real problem. While your auditors would probably love you, you may not like what you find in your blockchain. Accidental transactions are permanent. Once added to the chain, transactions are there for life (unless you destroy the entire network). That means making sure what you put in your chain is truly what you want to keep there. Since every block is encrypted based on the previous block, undoing a block is impossible without a complete rollback of everything on every node to the point in time. That is highly impractical and complicated to do.
So where could we see a genuinely valuable implementation of Blockchain? I personally think the voting industry would be a great place for it. Its nature as a democratic storage of individual records seems like a very straightforward usage. Supply chain with a large distribution of warehouses and, I concede, banking are both great cases for using blockchain. You would not want to use it keep track of your list of priceless beanie babies that have been sitting in box since the 1990s. For that, a simple spreadsheet or trash compactor would be more viable in this case. The requirement of scale and power translate into investment. This decision requires everyone to determine if it is the right direction. Think of it this way, it is the technological equivalent of tattooing highly encrypted Russian Nesting Dolls on to your business. Proceed with caution.