My Queue

Your Queue is empty

Click on the next to articles to add them to your Queue

#8 Steps to Build a Blockchain Solution

Decoding the technical nuances of setting up this complicated yet futuristic platform
#8 Steps to Build a Blockchain Solution
Image credit: Shutterstock

When Blockchain technology was announced through the paper titled Bitcoin: A Peer-to-Peer Electronic Cash System by Satoshi Nakamoto in 2008, it was an innovative mix of public key cryptography (invented in the 1970s), cryptographic hash functions (born in the 1970s) and proof-of-work (invented in the 1990s).

Over the last few years, many derivate and blockchain-inspired projects have been created. Most of them are not technically blockchains, but rather distributed ledger systems.

Let us dcode the how to build a blockchain in just eight steps. For simplicity, I have used the terms blockchain and distributed ledger system interchangeably in this article.

Step 1: Identify a Suitable Use-case

There’s a ton of hype around blockchain. I’ve read that blockchains can erase global hunger, make the world corruption-free, end poverty and do a lot more without breaking a sweat. Unfortunately, that’s not true. So, step 1 is to identify a use-case that makes business sense.

There are 3 things that blockchains can do very well:

  1. Data Authentication & Verification: this includes immutable storage, digital signatures and encryption. Data in almost any format can be stored in the blockchain. Blockchains can create public-private key pairs and also be used for generating and verifying digital signatures.
  2. Smart Asset Management: this includes issuance, payment, exchange, escrow and retirement. A smart / crypto asset is the tokenized version of a real-world asset e.g. gold, silver, oil, land.
  3. Smart Contracts: This is a term most often mis-understood, but that’s something for another day.

Step 2: Identify the Most Suitable Consensus Mechanism

The original blockchain, which powers the bitcoin crypto-currency, used proof of work as a consensus mechanism. But today there are multiple distributed ledger systems that offer a host of consensus mechanisms such as Proof of stake, Byzantine fault tolerant, Deposit based consensus, Federated Byzantine Agreement, Proof of Elapsed Time, Derived PBFT, Redundant Byzantine Fault Tolerance, Simplified Byzantine Fault Tolerance, Federated consensus, Round Robin and Delegated Proof of Stake.

Depending upon your use-case, you need to choose the consensus mechanism that makes the most sense.

Step 3: Identify the Most Suitable Platform

There are many blockchain platforms out there today and most of them are free and open source. Depending upon the consensus mechanism you chose in step 2, you need to select the most suitable blockchain platform.

Some of the more popular platforms, in alphabetical order are:

1.          BigChainDB

2.         Chain Core

3.         Corda

4.         Credits

5.         Domus Tower Blockchain

6.         Elements Blockchain Platform

7.         Eris:db

8.         Ethereum

9.         HydraChain

10.       Hyperledger Fabric

11.       Hyperledger Iroha

12.       Hyperledger Sawtooth Lake

13.       Multichain

14.       Openchain

15.       Quorum

16.       Stellar

17.       Symbiont Assembly

Step 4: Designing the Nodes

Blockchain solutions can be permissioned (e.g. a Government run land registry) or permission-less (e.g. Bitcoin, where anyone can become a miner). Blockchain solutions can be private (e.g. a contract management system implemented in a pharmaceutical company), public (e.g. an asset backed cryptocurrency) or hybrid (e.g. a group of banks running a shared KYC platform).

Another factor to consider at this stage is whether the nodes will run on the cloud, on-premise or both. Then comes hardware configuration issues like processors, memory and disk size. You also need to decide on the base operating systems (usually Ubuntu, CentOS, Debian, Fedora, Red Hat or Windows).

Step 5: Design the Blockchain Instance

Most blockchain platforms need very careful planned configuration for the following elements:

1.          Permissions

2.         Asset issuance

3.         Asset re-issuance

4.         Atomic exchanges

5.         Key management

6.         Multi signatures

7.         Parameters

8.         Native assets

9.         Address formats

10.       Key formats

11.       Block signatures

12.       Hand-shaking

Some parameters can be changed at run-time but some cannot, so this is a very crucial step.

Step 6: Building the APIs

Some blockchain platforms come with pre-made APIs while some don’t. The major categories of APIs that you would need are for:

  • Generating key pairs and addresses
  • Performing audit related functions
  • Data authenticatin through digital signatures and hashes
  • Data strage and retrieval
  • Smart-asset lifecycle management –issuance, payment, exchange, escrw and retirement
  • Smart contracts

Step 7: Design the Admin and User Interface

At this stage you would need to choose the front end and programming languages (e.g. HTML5, CSS, PHP, C#, Java, Javascript, Python, Ruby, Golang, Solidity, Angular JS Nodejs). You would also need to choose external databases (e.g. MySQL, MongoDB) as well as servers (including Web servers, FTP servers, mail servers).

Step 8: Adding Future Tech

You can greatly enhance the power of your Blockchain solution by integrating Artificial Intelligence, Biometrics, Bots, Cloud, Cognitive services, Containers, Data Analytics, Internet of Things and Machine Learning.

 

A Note From The Editor

Free Webinar: How to Use Customer Service as a Marketing Tool

Tune in October 12th as we highlight some of the best tools to create brand loyalty by leveraging your customer experience data.
Register Now ยป