This is the fifth post in the blog series “Blockchains and Azure”. The previous post can be found here.
If you’ve read the previous posts, you should have some understanding of what blockchains are, how does Azure support them, and what kind of blockchain projects are out there.
To blockchain or not to blockchain
Obviously, before starting a blockchain project, you should be pretty darn sure that you actually need a blockchain. We had a quick look at what blockchains can and should be used for in our second part of the series, so you can have a look there if you’ve forgotten.
If you’re sure you need a blockchain, I see two alternative approaches:
1) You have an existing non-blockchain project and you are certain that it would benefit from a blockchain implementation.
2) You have an idea for a new blockchain project.
In the first case, you should most likely opt for a private blockchain solution. In the second case, you should consider both public and private blockchains.
A project for private blockchains
I have good news for you: this is an easy approach to start with.
Azure offers some decent blockchain platforms to start from (have a look at the first blog post). They are easy to start with and are very suitable for at least prototyping.
Depending on your business needs, you may or may not be able to continue production with Azure’s blockchain services. If you require other types of blockchains or blockchains with configurations not supported by Azure, you’ll need to look elsewhere. I would suggest you start your research with these variants:
- Hyperledger family
- R3 Corda
- Consensys Quorum (has also some sort of support from Azure)
For a very light blockchain-type functionality, you may also be interested in a preview feature called Azure SQL Database ledger. It provides you with tamper-proof database records with configurable properties.
Challenges in starting a public blockchain project
I would divide public blockchain projects into two types:
1) Projects which only utilize the blockchain’s cryptocurrency capabilities. The blockchain may or may not support programs running in the blockchain. Such projects are for example various payment solutions for moving the cryptocurrency around.
2) Projects which create functionality inside the blockchain. These projects may for example implement an escrow service inside the blockchain or decentralized exchange.
The first type is closer to the non-blockchain world and is easier to understand and perhaps even to implement. The second type is a whole new business area, introduced by decentralized blockchains.
In general, the difficulty in starting a public blockchain project is that the business models are so different on that side, compared to traditional non-blockchain projects or private blockchain projects. So your business model should basically be specifically designed for public blockchains before entering the market. Most companies lack the required expertise – and also interest.
On the other hand, if you have an interest, get prepared for a very interesting ride. In my humble opinion, public blockchain businesses are unlike anything we’ve ever seen before.
A new public blockchain project
So you have a valid idea for a public blockchain project? Great!
Unfortunately, you still need to figure out which public blockchain to use. Yes, there are hundreds of valid options. You will need to consider the following points when deciding:
- Transaction cost and speed
- Your requirements for trustlessness. Different public blockchains make different compromises when it comes to trust
- Do your users already use the blockchain or do you have a plan to onboard them somehow?
- Required expertise to use the chosen blockchain
After that, you have most of your building blocks ready. Hurray! Then just get your hands dirty and start creating your project.
But who’s going to implement it?
Oh, yes, this problem. Now, this is a tricky topic. If you have the perfect blockchain project all designed and ready for implementation, you will still need someone to actually implement it.
Depending on your decisions on what kind of blockchain to use, it may prove challenging to find the right resources to implement your project. I would claim there are two main reasons for this:
1) The whole blockchain development industry is very new, so there are not many knowledgeable developers around.
2) Demand for developers fluctuates heavily based on cryptocurrency prices. When the prices are going up, everyone wants to have their piece of the cake and implement the next unicorn project, and everyone needs developers to implement something.
So your options are to either have resources in-house, get external help, develop during a downturn in prices when more developers are available (but less interest in blockchains in general), or do a project which is not market-dependent (such as many private blockchain projects).
Is it enough to get my project implemented?
We all know that it’s not. We still live in a capitalist world, so nobody will use your project/product unless they have the incentive to do so.
At this point, you will face pretty much the same challenges as any new IT product: how to get users to use it. So you will probably end up utilizing the same sort of tools: marketing, sales, PR, hackathons, whatever it takes.
What’s next in the blogosphere?
I think this is my last blog post about blockchains and Azure, at least for a while. Hope you’ve enjoyed it!
I’d be happy to discuss blockchains with anyone interested, so feel free to poke me on LinkedIn or so.