In 2017, blockchain became the hottest buzzword among tech startups. Due to the success of many Initial Coin Offerings (ICOs) and the parabolic price increase of Bitcoin and other crypto-currencies, everyone was talking about blockchain and looking to incorporate it into their business plans.
The Blockchain Business Craze
Crypto-currency fans liken the birth of blockchain technology to a revolution on par with the internet.
They’ll enthusiastically tell you how blockchain will change everything about how we live and work.
Bitcoin maximalists expect it to become the new world currency with a value of up to USD $1 million per BTC in the not-too-distant future.
Blockchain has many potential uses outside of pure currencies, too.
Global supply chains, dental insurance, peer-to-peer lending, and energy grid sharing are just a few of the problems that leading blockchain projects are tackling.
The two key ingredients to blockchain’s attraction are decentralization and immutability. As a distributed ledger, a blockchain exists as a decentralized record of transactions.
It removes the need for a bank or other central authority to become involved in transactions such as international money transfers, currency exchange, and lending.
It’s also an immutable permanent record. Once a new block is added to the chain, the data it contains can neither be edited nor removed.
This makes it ideal for situations where complete transparency is valued.
But just because blockchain is a hot new craze and revolutionary technology doesn’t mean that it’s the right solution for every business problem.
In many instances, a traditional centralized database or another type of distributed ledger would be more effective.
Blockchains vs Central Databases
Traditional databases are highly centralized while the focal point on blockchain technology is decentralization.
A database is stored on a central server by an authority who grants access to clients (users).
A security breach of this central point could lead to the data being stolen, altered, or even destroyed.
In a blockchain, however, authority is distributed across a network of nodes. A majority of nodes must reach a consensus for a new block of transactions to become an official part of the record.
In a standard Proof-of-Work (PoW) blockchain, nodes are required to solve cryptographic puzzles when writing new blocks, for which they are awarded newly-mined coins.
Each block must contain the cryptographic hash of the block that immediately preceded it, making the record unalterable.
Reading and Writing are the only possible operations. A traditional database, on the other hand, allows clients with sufficient access to Create, Read, Update, and Delete (CRUD) data.
Blockchains vs Distributed Ledger Technology
Blockchains are one type of distributed ledger, but they’re not the only kind. A distributed ledger is a database that is spread across a number of computing nodes.
Each node updates it’s own copy of the ledger, and then the nodes vote to approve the changes.
When a majority of nodes reach consensus on changes, the updates are replicated throughout the network so that each member keeps an identical copy of the database moving forward.
Strictly speaking, there is nothing preventing altering previous records on a distributed ledger, so long as a majority of nodes are in consensus of the edits.
With a blockchain, however, this is nearly impossible to do.
As the name suggests, a blockchain is a chain of blocks. Each block is a collection of data appended to the chain.
In a PoW blockchain, a new block is “mined” by a node solving a complex mathematical puzzle, resulting in a cryptographic hash that becomes the block’s digital signature.
This hash becomes part of the equation used to generate the next block, making it almost impossible to go back and rewrite old blocks.
To alter a previous transaction, a node would have to go back and re-mine that block and all of the blocks that followed it, all while outpacing the creation of new blocks by the other nodes in the network.
The computing power needed to do so would be almost unimaginable.
For some applications, though, this level of security is overkill, and a different form of distributed ledger could work more efficiently.
When to Use a Blockchain, Central Database, or Distributed Ledger
Because of the way they work, blockchains are relatively slow. The original Bitcoin network is said to only be able to process about seven transactions per second. This is one of the biggest hurdles it faces in its push for mass adoption as a payment system. During periods of peak activity, pending Bitcoin transactions have sat for hours or even days in the queue waiting to be put into a free block.
New blockchains have since been able to increase transaction speed to some extent, but a standard central database will always have the potential to be quicker because there are no arbitrary sized blocks that data must be allocated into.
Furthermore, a central database doesn’t have to check for consensus among a network of nodes before entering a piece of data into the record.
A blockchain is a distributed public ledger, meaning that you can use a simple online blockchain explorer to look up the details of any transaction.
While it’s true that Bitcoin addresses are made up of an anonymous string of characters, anybody can look up the exact amount of any transaction and see the sending and receiving addresses.
With other business applications, as well, use of a blockchain would make the data visible to the public.
For this reason, you probably wouldn’t want to use a blockchain to record sensitive user information such as email addresses, passwords, and telephone numbers.
Blockchain projects such as SelfKey, working to solve the problem of Know Your Customer (KYC) redundancy, use the blockchain to store attested identity claims rather than users’ sensitive identity data itself.
To run a social network on a blockchain, anonymous addresses can replace user accounts so that user messages aren’t connected in any way to their email, phone number or other identifying information.
As has been mentioned earlier, a blockchain is an append-only database. Once an new entry is added it’s there for good.
If your application needs the ability to edit or completely remove old data, then a traditional database would be a better fit.
For this reason, if you want your application to give a central admin the ability to censor user-created content, then a traditional database would make it much easier.
For other use cases, however, immutability of data is the exact feature that makes blockchain technology extremely attractive.
Using blockchain to keep track of election results or the allocation of public funds could help reduce or eliminate corruption in these areas.
Scalability is the number one issue facing Bitcoin, Ethereum, and other first and second generation crypto-currencies.
One possible solution for future cryptos comes in the form of a new type of distributed ledger known as a Directed Acyclic Graph (DAG).
With a DAG network, there is no need for blocks or mining since the transactions are linked directly to each other like an expanding web.
DAG networks such as IOTA claim to be able to process tens of thousands of transactions per second, while greatly reducing or even completely eliminating transaction fees at the same time.
This makes them a better potential solution for handling micro-payments, as would be required for linking up autonomous devices in the Internet of Things (IoT).
So is it really a blockchain that you need for your business application?
Or would your purpose be better served using another form of distributed ledger technology, or even a standard centralized database? It all depends on your requirements and goals.
Whatever ends up being the right solution for your business, you can discuss your idea with the team at Iglu to help make your vision become a reality.