Disclaimer: The views and opinions expressed in this article are those of the authors and do not necessarily reflect the official policy or position of Blockgeeks As a software consultant at Thoughtworks, I get to talk to people in many different fields about how we can improve their business with technology. Detailed here are some lessons I learned in my experience providing consulting advice about blockchain technology and blockchain for business.
Blockchain is fascinating because many people recognize it is going to have an impact on society, however thus far it has been a struggle to find solutions that are going to work. Let’s discuss some of the reasons why it can be hard to integrate public blockchain technology in traditional business models.
Blockchain For Business
Immutability and transparency for all have been touted as a key feature of the blockchain. What is not discussed that often is the trade off between immutability and customer protection. As a society, we prefer to have businesses control our information because we can appeal to them if there are cases of fraud, theft or other undesirable behavior. An example of this is that it is a good thing my local bank can reverse a payment to the wrong person.
One of the dreamy ideals in the blockchain space is we can verify everything on the blockchain; we won’t need to appeal to any central authority, and everyone will have the ability to set in stone any information they like.
The trade off here is that settlement on a blockchain is not free. The reason we can advertise how cheap cryptocurrency transactions are right now is that the network has not developed a fee market yet. In the future, if many people around the world want to settle information on a public blockchain the fees required to settle will increase. This will likely be more expensive than our traditional financial system. The reason for this is there is a limit on the amount of information in each block on the blockchain, which was enforced as a network rule to prevent Sybil attacks with negligible transactions and spam, and also blockchain bloat which will be discussed below.
Granted, there are solutions to this problem like layer two payment channels: see the lightning network. However, even with technological advancements, the general issue remains; settlement is not free. In the world of public blockchains, settlement fees will likely fluctuate on the way to greater adoption.
Using a public blockchain for any kind of verification offers the ability for people to keep their identity private. The thing about the technology used to empower people and better the nature of society, generally it isn’t good for business.
If a public blockchain is used to verify real currency for an individual, they are in control of the funds. A bank, on the other hand, depends on controlling the funds that are allocated to an individual because part of their business involves using these funds to invest in other projects and operating at a fractional reserve.
Public Code And Security
Smart Contracts have been all the rage for the last year in the blockchain space, but they are not without their share of issues. The main efficiency which is hooking technologists here is the idea that we can automate away pieces of the management structure with ‘code as law.’ The Smart Contract would be able to carry out business processes on the public blockchain.
Businesses are not interested in giving away their trade secrets to the public. So why would they want to put major portions of their core codebase on a public blockchain?
A blaring issue with this is security; we need only look at the recent DAO hack to find real life experience of what it’s like to deal with the buggy public code on a blockchain. The Ethereum Blockchain had to perform three hard forks after the hack, one of which ended in a split in the currency. Read more about the Ethereum hard fork split in my recent blog. It is very difficult to issue bug fixes when you don’t have central access to your codebase, having a complete Smart Contract language on a Blockchain is dangerous, to say the least.
Public Blockchain Bloat
Another current issue with Smart Contracts is blockchain bloat, the nodes which support the network have to store the entire database history of all the Smart Contracts that have run on the network. This mean that there is an exponentially high cost to having the blockchain take on additional responsibilities. A public blockchain such as bitcoin works well because it does one thing and one thing only.
The health of the network depends on some nodes, and their spread across the world. Blockchain bloat will decrease a number of nodes able to participate in securing the network as the space required to store the blockchain database becomes so large that some nodes don’t have the capacity to keep up.
If businesses were to use this blockchain as a fundamental technology in their infrastructure, they would have to be weary of the health of the public blockchain network.
So, is public blockchain technology a solution waiting for a problem? These technologies are platforms for innovation just like the internet, in my opinion, it is likely businesses of the future will be built on top of them for future generations rather than being integrated with traditional businesses.