Contact Us

Contact Us



Pleas confirm by checkbox


Thought Leadership

Top Considerations while Implementing Blockchain

Author_img
By Prem Baranwal July 21, 2020

If you are seeing technology making a difference in the startup ecosystem, you might have seen a lot of hype around Blockchain. Innovative characteristics of Blockchain like decentralization, immutability, transparency, and automation are useful for various industry verticals. This will inspire the creation of a multitude of use cases.

Blockchain technology is still in its nascent phase and, while cryptocurrency platforms like Bitcoin and Ethereum have been in use since long, its adoption into the mainstream software industry has been limited. Having worked on Blockchain implementation for startups from various domains, I have tried to list down the top seven considerations while implementing a Blockchain in a product.

On-Chain or Off-Chain

One of the key architectural decisions while working on Blockchain-based products is to understand where to go off-chain and where on-chain. It is for occasions when transaction data and business validation logic play a crucial role.

The primary constraint is the network latency due to the data replication across the Blockchain network. The degree of latency keeps increasing with increasing levels of data replication. For the same reason, Ethereum charges a reasonable fee to store data on the chain.

Some general guidelines-

  1. Data that is either directly required for transaction validation or need auditability should be stored on-chain. It is better to store referential data off-chain.
  2. If eventual consistency is good, you can develop transactions off-Chain, and update only the first and last state on-chain. This will increase overall throughput without utilizing additional network resources.

Public or Private Permissioned

Another important decision is the scope/access of the Blockchain itself, ranging between open & permissionless system to a private & controlled one. Public Blockchains are useful where the users are anonymous and equally. Public chains require a community around them to ensure that no one person has the authority to change rules. They need to be community-driven, and a single user cannot change the rules of the entire network. However, a large number of nodes may limit the throughput of the transactions. It is better to have some incentivization to carry out effective processing.

Permissioned Blockchain platforms control who can write/read on the Blockchain. If you compare them with public chains, they are scalable. They are suitable when controlled governance and compliance/regulations are important.

An example of a public permissionless chain is Libra, a global payment system by Facebook, which can be used by anyone for value exchange. On the other hand, an Insurance claim processing platform is a good use case to exemplify private permissioned Blockchain. It is essential to come up with this categorization at the initial stages itself. This is because both the categories require different kinds of consensus and identity management solutions.

Levels of Security

Tamper-resistance, resistance to double-spending attacks, and data consistency are some essential attributes of a secure distributed system. We can achieve the first two using cryptographic principles of Blockchain technology. For consistency across the system, we need an appropriate consensus mechanism.

In public-facing systems where anyone can join the network, all the nodes are trust-less with no one node having more privilege than others. For such scenarios, security is important to prevent any malicious node. There Blockchain with POW is better despite the over-consumption of network resources and limitations in transaction throughput.

In consortium-like systems, multiple parties interact and share information. In these systems, although node identities are well known, only some nodes are fully trusted for processing the transactions, and security is required against the semi-trusted nodes or external users not directly participating in the network. A Blockchain, with appropriate governance model and consensuses like PBFT or POS, will not only provide the desired security attributes to the system but also increase the operational efficiency because of high trust levels.

In a document workflow-based application, for example, where documents are exchanged between multiple parties for approval, a system of later type can provide the required security and efficiency.

Data Privacy Needs

Sometimes, data stored or transactions executed on Blockchain need protection on account of confidentiality or compliance rules, and herein privacy comes into the picture. For instance- in the case of financial trades and medical-records-based applications, transactions may need to be hidden with data visibility for selected stakeholders. Even in the case of bitcoin, transaction trend graphs may reveal the user’s true identity. These users may want to hide the beneficiary or amounts involved in these transactions.

Techniques like transaction mixing and zero-knowledge proof have been proposed to support that. Sometimes, there are variations in real-life situations where these techniques can’t fit directly and require the design of a new protocol using existing techniques.

Physical to Digital World Transition

We can turn physical assets (land registry, paper contracts, or fiat currency) into digital assets on the Blockchain. Leveraging from the decentralization of these documents will then become easier. However, this requires an inherent trust in the system. We would either need a trusted third party providing this guarantee or a physical legal agreement between the parties that cannot be repudiated in the court of law.

In the case of fiat currency-based applications, this trusted third party is a bank. But, choosing a bank with a good technical infrastructure is essential to ensure easy Blockchain integration.

Data Protection (GDPR)

GDPR compliance requires that a user can selectively reveal personal data to others and can exercise his/her right to the erasure of this data. As it is not possible to delete any data from the Blockchain, we should either keep such personal data Off-Chain (in centralized servers) or provide end-to-end encryption of his/her records so that it can be viewed only by that user.

Ease of Development & Deployment

Last but not least, we should have tools that ease out processes of development and deployment. A better smart contract framework means fewer bugs and more trust. A good container orchestration tool like Kubernetes is a must-have for upgrading the product on all the validator nodes.

Conclusion

Before building a real Blockchain-based product, you got to take a close look at the considerations mentioned above that can make or break your efforts. Barring hype and covering all the teething problems, I believe that blockchain technology has the potential to revolutionize industries. Happy Blockchaining!

Related posts
Breaking Down the Product Development Code for a Growth-Phase Startup
Thought Leadership

Breaking Down the Product Development Code for a Growth-Phase Startup

By namrata.gupta May 19, 2021
5 Real-Life Applications Where Edge Computing Can Change the Game
Thought Leadership

5 Real-Life Applications Where Edge Computing Can Change the Game

By namrata.gupta February 18, 2021
5 Key Technology Decisions for a Scalable MVP
Thought Leadership

5 Key Technology Decisions for a Scalable MVP

By namrata.gupta January 06, 2021
How Can You Streamline Work from Home to Benefit More?
Thought Leadership

How Can You Streamline Work from Home to Benefit More?

By namrata.gupta November 19, 2020
5 Ways to Make Innovation a Way of Life in your Startup
Thought Leadership

5 Ways to Make Innovation a Way of Life in your Startup

By namrata.gupta October 12, 2020
How to Build a SaaS Product with Both Data and Run-time Isolation?
Thought Leadership

How to Build a SaaS Product with Both Data and Run-time Isolation?

By namrata.gupta September 23, 2020
Does your Startup Really need Blockchain?
Blockchain

Does your Startup Really need Blockchain?

By namrata.gupta July 07, 2020
How to Build SaaS Application with Data Isolation but No Run-time Isolation?
Thought Leadership

How to Build SaaS Application with Data Isolation but No Run-time Isolation?

By namrata.gupta June 30, 2020
Top 4 learnings from implementing machine learning for startups
AI & Machine Learning

Top 4 learnings from implementing machine learning for startups

By namrata.gupta June 26, 2020
Distributed Transactions Are Not Microservices
Thought Leadership

Distributed Transactions Are Not Microservices

By namrata.gupta April 20, 2020

Stay updated

Get the latest creative news from Fubiz about art, design and pop-culture.