Blockchain

Building an Efficient Blockchain Solution

By July 10, 2018 No Comments
Blockchain Solution

The launch of Blockchain Technology was announced through a white paper called Bitcoin which was published in 2008 by Satoshi Nakamoto. It was presented as a combination of public key cryptography, cryptographic hash functions and proof-of-work consensus mechanism. In reality, blockchain is a digital ledger of information that is collected in mounds of information called blocks and these blocks are connected with other blocks to form a chain called a Blockchain.

The data stored in this chain is spread across networks and can be accessed by everybody but cannot be changed by any individual entity. Blockchain is proficient in delivering the following:

  • Authentication of Records: It gives us an encrypted and completely safe environment by introducing the features of immutable storage and digital signatures. It allows storage of different types of information and creation of public-private key pairs.

  • Effective Management of Crypto Assets: Blockchain assists in management of transactions, exchanges, issuance, etc.

  • Smart Contracts: Blockchain automates work with the help of smart contracts. Smart contracts are pre-defined agreements using code which is stored in a distributed database of the blockchain network. It is automatically set off if a particular event occurs.

Development of a Blockchain Solution

The steps to be taken when developing an efficient Blockchain solution are:

Finding a relevant use-case: The first step is to find a use-case which fits with the business requirement. This basically means that we must identify the problem we face and define it articulately. It is essential that we make sure that Blockchain plays the dominant role in fixing the problem because it is easy to generate an idea of a centralized database which is effective enough to solve the problem. We must take a look at the risk involved in implementation of this blockchain solution and the factors that will feel its influence.

Let’s list out some ideal Blockchain Technology use cases.

Government

  • KYC Verification, Certificate Issuance

  • Effective Tax Collection, Contract Bidding

  • Distribution of Municipal Work

  • Evidence Storage for Legal System, Transparent Voting Process

Banking & Financial Services

  • Corporate Bonds (Trade & Settlement)

  • Cross Border Payments

  • Global Remittance

Manufacturing

  • Investor Visibility and Parts Provenance

  • Service Order Shipment and Tracking

Education

  • Degree and Certificate Issuance

  • Student Data

Healthcare

  • Health Records

  • Pharma Supply Chain Transparency

  • Provider Data Management

  • KYC Verification

Energy Communication & Services

  • Cargo Assurance

  • Demurrage and Claims

  • Wholesale Energy Supply

Insurance

  • Commercial Insurance & Reinsurance

  • P2P Insurance, Subrogation

Aerospace

  • Airplane Damage Tracking

  • IP Management for component design

Agriculture

  • Farm Equipment Sharing

  • Post Harvest Produce Logistics

  • Verifying Product Integrity and Authenticity

Employment

  • Credential Verification for prospective candidates

  • Certificate Issuance

Retail & CPG

  • Distributed Marketplace

  • Food Safety in Supply Chain

  • Inventory Tracking

  • Loyalty Reward Points

  • Choosing a  Consensus Mechanism: Based on the use case, the consensus protocol must be chosen. In the beginning, blockchain, which is the underlying technology that enables Bitcoin, made use of Proof-of-Work (PoW) as the consensus protocol. Today, there are various distributed ledger systems which offers tons of different consensus mechanisms. Some examples are Proof-of-Stake, Deposit based Consensus, Proof of Elapsed Time, Federated Consensus, Delegated Proof-of-Stake and Federated Byzantine Agreement to name a few.

  • Picking a Blockchain platform: Many free and open source Blockchain platforms are available today. We must choose a platform based on the selected consensus protocol. Some commonly used platforms are Ethereum, Hyper-ledger, Fabric, Open-chain, Multi-chain, Quorum, Credits and Hyper-ledger Iroha to name a few. It is pertinent that we decide whether a public (Bitcoin) or Permissioned (like Ripple) Blockchain platform is needed and this can be decided based on our need of data privacy, confidentiality, user identity, etc.

  • Designing of Nodes: It is crucial for us to decide where the nodes will run, that is, on cloud, on-premise or on both.
  • Designing of the Blockchain: Carefully planned development is a must for blockchain platforms and it is crucial because parameters cannot be altered at run-time. For instance, parameters which require planned configuration are Address Formats, Key Formats, Block Signatures, Atomic Exchanges and Multi-Signatures to mention some.
  • API Development: There exist many Blockchain platforms that come with built-in APIs while there are others that come without them. Some APIs are required for:
  1. Performing functions related to audit

  2. Generating addresses and key pairs

  3. Storage and retrieval of data

  4. Authentication of data using digital signatures and hashes

  5. Smart contracts

  • Designing the User interfaces: At this step, we select external databases like MongoDB, MySQL as well as servers like web servers, FTP servers, mail servers, etc. Based on this, we choose the front-end and programming languages such as HTML, CSS, Solidity, Angular JS, NodeJS, OHP, Java, Python, etc. These choices are dependent on the use of a particular Blockchain platform.

  • Integration of other cutting edge Technologies: The performance and power of the blockchain solution can be improved significantly by integrating game changing technology like Internet of Things, Artificial Intelligence, Data Analytics and Machine Learning based with the use cases.

 

Leave a Reply