Bitcoin and by corollary it’s key underlying technology – Blockchain – have been all over the news this year. Not just the financial news or the business news, but pretty much every media outlet of any kind has rarely gone more than a few days without some type of BitCoin or Blockchain coverage. And why not, the rise of BitCoin has been nothing short of phenomenal. BitCoin does have the look of a classic “bubble” but we’ll leave that part of the discussion to others. Many believe that Blockchain will be a fundamental technology building block for many software-based products going forward, and companies building products on it have attracted quite a bit of venture capital. But what is blockchain technology, really, and where does it potentially fit in your company’s future-product technology stack?
What is a Blockchain is from a technical point of view
I will do my best to explain Blockchain. But frankly, it is quite a complex topic and I don’t claim to fully comprehend the technical intricacies. So don’t read this article expecting a detailed technical primer, just an overview. Our focus will be on the business aspects and potential applications. To start, you will find this definition of Blockchain in much of the literature out there on the topic:
A blockchain is a ledger of facts, replicated across several computers assembled in a peer-to-peer network. Facts can be anything from monetary transactions to content signature. Members of the network are anonymous individuals called nodes. All communication inside the network takes advantage of cryptography to securely identify the sender and the receiver. When a node wants to add a fact to the ledger, a consensus forms in the network to determine where this fact should appear in the ledger; this consensus is called a block.
To add to this definition, a key to blockchain technology is the ability to form the consensus mentioned above via algorithmic software, specific to whatever types of “facts” need to be ordered or resolved. These consensus algorithms enable the trustworthiness and integrity of the Peer to Peer Blockchain system.
In the article The Blockchain Explained to Web Developers, Part 1: The Theory author François Zaninotto provides an excellent attempt to explain Blockchain technology and potential applications more simply:
What it does A blockchain allows to securely share and/or process data between multiple parties over a network on non-trusted peers. Data can be anything, but most interesting uses concern information that currently require a trusted third-party to exchange. Examples include money (requires a bank), a proof or property (requires a lawyer), a loan certificate, etc. In essence, the blockchain removes the need for a trusted third party.
How it works From a technical point of view, the blockchain is an innovation relying on three concepts: peer-to-peer networks, public-key cryptography, and distributed consensus based on the resolution of a random mathematical challenge. None of these concepts are new. It’s their combination that allows a breakthrough in computing. If you don’t understand it all, don’t worry: very few people know enough to be able to develop a blockchain on their own (which is a problem). But not understanding the blockchain doesn’t prevent you from using it, just like you can build web apps without knowing about TCP slow start and Certificate Authorities.
What it compares to See the blockchain as a database replicated as many times as there are nodes and (loosely) synchronized, or as a supercomputer formed by the combination of the CPUs/GPUs of all its nodes. You can use this supercomputer to store and process data, just like you would with a remote API. Except you don’t need to own the backend, and you can be sure the data is safe and processed properly by the network.
A few of the items above could be explained even more simply for those who are novices to blockchain technology or not technically sophisticated. But this is inherently a complex topic and the above discussion does as a pretty good of a job of boiling the topic down to it’s important points for use by a software industry (non-techweenie) executive.
What are Blockchain’s key strengths?
- Facts won’t be lost because they are replicated many times and include a full history, not just the end result
- Facts can be trusted because they are verified by a technically enforceable consensus
- Anonymity/Privacy from government oversight
- No need for 3rd parties/intermediaries
- Irreversibility/final outcome
- Platforms exist (such as Ethereum, Hyperledger, and Monax) so that software developers can include blockchain technology using a toolkit in their own software development technology stack, without having to reinvent the wheel (blockchain).
What are Blockchain’s primary weaknesses?
Energy usage – you often hear in discussions about Bitcoin that if it replaced our current currencies today, it would use up more energy than the world is using in TOTAL today! So it would be inaccurate to call it an efficient technology from an energy usage perspective. However, this could easily be a function of the technology being in the “early days”. At the very least, Moore’s law alone should ensure that Blockchain’s energy usage per transaction should decrease consistently in the coming years and decades.
Transaction throughput – naysayers will point to statistics which show BitCoin is not nearly as fast from a transaction throughput perspective, when compared to a mature financial transaction platform such as MasterCard or Visa. I believe this is an unfair and biased comparison of an immature new technology versus a longstanding, mature technology. Again, it’s early days in blockchain tech and that comparison is really against BitCoin anyway, not Blockchain generically. BitCoin is a first generation implementation of crypto-currency and known to have many inefficiencies. It has already been surpassed in transaction efficiency by many of it’s second generation crypto-currency competitors such as Ethereum. So who knows how the underlying Blockchain technology will progress on transaction throughput. But based on the evolution of similar infrastructure software technologies, my guess it will improve considerably over time.
For a more detailed argument outlining Blockchain’s purported weaknesses there is a compelling (but not unbiased) article worth reading: Ten years in, nobody has come up with a use for blockchain.
The author Kai Stinchcombe definitely presents a pre-determined viewpoint rather than a totally objective analysis – but that doesn’t make him wrong! It’s well worth a read for balance vs. the current Blockchain optimism and hype.
What type of products are a fit for Blockchain technology?
Obviously the initial applications of Blockchain technology have been quite vertical and focused on Fintech. However, I believe that’s only because it was initially invented to solve a financial services-specific problem. But I see blockchain as very much a horizontal technology that ISN’T Fintech-specific and could potentially have very broad applications. Financial applications could even fall far down the list if you go far enough into the future. In addition to the financial applications that currently dominate blockchain usage, developers have already built blockchain based applications for a number of vertical markets, including:
- Document Storage/Delivery
- Digital Identity and Authentication
- Smart Contracts
- Real Estate
- Commodities such as Diamonds, Gold & Silver
- App Development
- Network Infrastructure
So is Blockchain a fit for your company’s technology stack?
I can’t answer this for you the reader, of course. My goal in writing this article was to provide an introduction to blockchain technology from a business perspective and it’s potential applications and benefits. Hopefully this will serve as a starting point for the executive team of your software company, allowing you to consider whether or not a deeper investigation of blockchain technology is warranted, for potential inclusion in the company’s software product tech stack.
I would, however, suggest that you focus your evaluation on blockchain’s potential strengths: trustworthiness, transparency of transactions and their history, anonymity of participants, no need for 3rd party intermediaries, and irreversibility of transactions. If these attributes appear to hold benefits for your SaaS or software product roadmap, blockchain may deserve a closer examination from your tech company senior team.
There you have my business overview of Blockchain technology. Hopefully it will serve as a starting point for investigations on whether or not it makes sense in your technology stack This is an emerging, dynamic and relevant topic in today’s software industry. If you can, post a comment or question about Blockchain technology so our community as a whole can expand the discussion.