How to Tell if You Should Use Blockchain in Your Application

How to Tell if You Should Use Blockchain in Your Application

Behind only AI, Blockchain is the second-most-hyped developer technology. There are a few good reasons to use it in a project, but plenty of bad ones too. Whether blockchain technology is right for your application is ultimately up to you, but we’ll take you through some of the basics on whether it is worth serious consideration.

Blockchain Stripped Bare

It is far too easy to confuse blockchain technology with cryptocurrency and especially Bitcoin. Blockchains are actually much more general, with many other applications. In particular, blockchains do not need to involve currency. They also don’t have to involve mining, or trusting countless anonymous individuals to secure the system. In fact, the bulk of enterprise-grade blockchain projects involve entirely different models of trust, and many don’t require any notion of a currency. So that begs the question: What does blockchain itself really get you?

A Distributed Database

If you’re happy with your database solution now, there probably isn’t any reason to throw it out and move to blockchain. The switch involves rethinking everything, recoding most things, and betting on a new technology that will need many years of work to become as mature as whatever database you’re currently using.

However, if you are constrained by your database architecture, then moving to the distributed database (ledger) you get by using blockchain can have some major advantages. Everyone sees the same thing from everywhere, for starters. And anyone can add to the ledger in a verifiable way. So if you have lots of business partners who need to be able to transact with each other without you being a bottleneck, then blockchain may provide a solution. An example of this is the effort Maersk and IBM have announced to develop a private-blockchain-based solution for the entire supply chain that makes up the shipping industry. If it was simply Maersk keeping track of its relationships, it could use a traditional database it controls. But if the system is to work for all its partners, then the data store needs to accommodate contributions from many different entities. Blockchain is perfect for that.

An Alternative to Having a Gatekeeper

You can, of course, implement a system that allows lots of participants using traditional data management tools if you have a Gatekeeper who everyone trusts. That’s how many financial markets and banks work. But that Gatekeeper adds a lot of overhead and expense. For example, startup DMarket allows gamers to buy and sell their in-game assets virtually friction-free. That means more of the money can stay in their pockets instead of going to Steam or whichever platform would otherwise have been the Gatekeeper. Further, a game publisher can set up a system where it gets a portion of any aftermarket sales, helping finance the cost of game development.

Do You Need Smarter Transactions?

How to Tell if You Should Use Blockchain in Your Application

Smart Contracts are incredibly powerful, but they are in the early stages of development, and not for the faint of heart. You literally put your assets and business transactions under the control of a bunch of code. Recently, $300M of Ethereum was at least temporarily and perhaps permanently destroyed by accident when a novice programmer stumbled across a bug in the Ethereum Smart Contract implementation and panicked. In a private blockchain system, there would probably be a simpler way to undo the damage, but the variety of things that can go wrong may give developers pause.

Do You Need Your Own Currency?

How to Tell if You Should Use Blockchain in Your Application

So if you do need your own system of tokens (which is really what cryptocurrencies are), then blockchain has many of the tools needed to create them (mining using proof of work being the most crude and ultimately self-defeating). Tokens are also a way to provide stakeholders with a share of the success of your system if that’s appropriate. Through Initial Coin Offerings (ICOs), they can also be a way to fund a project — although they are probably mis-used as often as they are used responsibly.

One recent example that has come in for a lot of criticism is the planned KodakCoin. It is intended to be a token that can be used to license photographs, stapled to a blockchain implementation of licensing and payment. Now, the idea of validating photo licenses using a blockchain is certainly interesting, although not too many seem to be excited about this particular implementation. But adding a cryptocurrency to it simply makes life more difficult for everyone. Except perhaps for Kodak, which is hoping to raise as much as $20M from selling the initial tokens in an ICO. Amusingly, the tokens can only be sold to accredited investors (people with money) since they are a speculative security. That will make them even less useful for the licensing of photographs.

A counter example, of which there are plenty, is Siacoin, a distributed storage solution. It has one of the easiest coins to understand. You earn them by letting people use your spare storage, and you spend them to store data on other people’s storage. The company behind it, Nebulous, takes a transaction fee for providing the secure service. Nebulous has separated fundraising into a different coin, Siafunds. These are only sold to accredited investors. That’s okay because they are strictly a fundraising vehicle, which confers a right to a piece of the transaction fees earned on the Sia network. Whether or not the effort will be successful, it at least represents a fairly clean way to break apart tokens and funding into understandable chunks.

Consider Proceeding in Parallel

Having spoken with a few dozen blockchain-based startups and similar efforts inside larger companies, if you do decide to launch a project to blockchain-enable your application, I’d suggest doing it in careful stages with plenty of prototyping and iteration. Once there are real users of a blockchain system, and real value is stored in it, fixes get time-consuming and expensive. Hopefully, you can do this in parallel with continuing development on your existing systems, in case blockchain doesn’t work out or the effort takes longer than you think.