Anyone who follows technology news knows that "blockchain" is seriously hot right now. It's been called "the most disruptive tech in decades," and demand for freelance blockchain developers has grown by 6,000 percent in the past 12 months.
What's not always clear, though, is how the blockchain differs from the classic centralized database model of years past. So what is a blockchain exactly, and is it the right choice for your business?
What is Blockchain Technology?
A blockchain is a type of database, by and large distributed (although not necessarily). "Blockchain" is often used as a catchall term for a database that either is decentralized or that applies a proof of work, but this usage strays a bit from the true definition.
Essentially, a blockchain is a ledger of sequential transactions that are permanently saved and maintained in different locations.
The "genesis block" is the first bit of information on a blockchain, recording the starting state of all participants. From then on, all transactions are recorded in "blocks." These are chunks of transactions that have been processed at the same time and chained together.
The distinguishing feature of blockchain is this: no one single person or organization is responsible for it. Instead, everyone in the same blockchain "ecosystem" keeps track of the transactions simultaneously.
Which blockchain is right for your project?
Read our unbiased comparison of the top blockchain platforms.
Blockchain technology was originally invented to enable the Bitcoin cryptocurrency. The Bitcoin blockchain keeps track of who owns bitcoin and how much they own.
Every time an amount of Bitcoin is exchanged between two entities, the blockchain must come to a consensus about whether the transaction is legitimate. The transaction is then written to the blockchain, and the relevant account balances are updated.
Importantly, blockchains prevent people from making fraudulent transactions that would seriously harm the system. With so many people maintaining their own copy of the ledger, inserting a fake transaction into the blockchain is almost impossible.
What is a Centralized Database?
A centralized database, on the other hand, is the "classic" picture of a database: a single record of truth that's stored in a single location, whether that's a desktop computer or in the cloud.
Unlike blockchains, the advantages of centralized databases are that they don't need to be time-sequenced or to keep track of their different states (although you can set them up this way if you prefer). The only requirement is that the database makes data accessible to the software applications that request it.
The Pros and Cons of Blockchain
Pro: Less Fraud
Once enough people are using your blockchain, the chance of fraudulent transactions shrinks almost to zero. Creating a fake entry in the database is likely so difficult that the cost isn't worth it.
Blockchains are thus extremely powerful in situations where the integrity of your database is important, such as finance.
Pro: Complete History
The blockchain keeps track of every transaction that's ever been made. You can see a comprehensive record of the database's state at any point in time—which is highly useful for events such as an audit.
Pro: High Availability
Centralized databases are constrained to a single location and can easily fail.
Because blockchains are distributed across many computers, however, they can almost never go down. Thanks to the blockchain, it's extremely unlikely that cryptocurrencies like Bitcoin will ever stop working.
This also means that no single government or institution can ban the blockchain, as long as there are other servers running the database outside their jurisdiction.
Con: Cost and Speed
While the blockchain has some serious built-in advantages, it's not a perfect solution.
Blockchains are orders of magnitude slower than a centralized database, and also more expensive to maintain—we're talking thousands or tens of thousands of times.
Fixing a bug or adding features to a centralized database is a piece of cake compared to the blockchain.
Once a blockchain database has been established, everyone on the network needs to agree to make a proposed change. No one has centralized authority on the Bitcoin blockchain, for example.
Bitcoin forks occur because developers fundamentally disagree about what the future of Bitcoin should look like. The code base splits and "spins off" into another independent project.
With the pros and cons above, here's what we can say about when to use the blockchain.
First, the blockchain is definitely right for you if you want to raise money through an ICO (initial coin offering) or to create your own cryptocurrency.
Second, the blockchain is probably the right choice if you want to create something that's stronger with a decentralized database and also prone to fraud. Besides the financial industry, other commonly cited applications of blockchain are in identity management and healthcare.
Most businesses, however, will find that centralized databases are the best place to start. Unless you're seriously worried about attacks and fraud, a blockchain isn't worth the major investments in time and money that it requires.
Just because the blockchain is trendy right now doesn't mean that you need to follow the crowd. Don't get caught up in the hype, and make sure that your interest in blockchain is based on a legitimate need.
Interested in exploring a new product idea and want to use the blockchain for it? That's great. But first, make sure that you have a very solid understanding of the blockchain and why it may or may not be the best tool for your purposes.
Even if you decide that the blockchain isn't for you, that's no reason to give up on the product concept itself. In the vast majority of cases, you can still make your idea work with a centralized database.
If you have an idea or a project you're looking to development, we're here to help you decide if blockchain is the right fit.