Reader small image

You're reading from  Foundations of Blockchain

Product typeBook
Published inJan 2019
PublisherPackt
ISBN-139781789139396
Edition1st Edition
Concepts
Right arrow
Author (1)
Koshik Raj
Koshik Raj
author image
Koshik Raj

Koshik Raj is an information security enthusiast who holds a master's degree in computer science and information security. He has a background of working with RSA, a network security company. He has also worked as a senior developer in CoWrks, Bengaluru. Koshik has been studying blockchain technology since he was introduced to Bitcoin while pursuing his master's. He is currently advising an educational start-up looking to implement blockchain technology in the education space. He is also setting up a blockchain incubation center for students and researchers in Bengaluru to aid mentorship and networking, and even the launching and marketing of their ideas.
Read more about Koshik Raj

Right arrow

When Shouldn't We Use Blockchain?

So far in this book, we've learned about a number of blockchain concepts in order to understand blockchain's basic functionalities. We've also, throughout the previous chapters, dived deep into the technology in order to get familiar with decentralized applications. However, as we are looking at the foundations of blockchain technology that can help us build applications in a decentralized network, it's important for us to ask ourselves the question, why blockchain? It's only useful to use blockchain in a use case if that case requires the characteristics of a blockchain.

In this chapter, we'll explore the characteristics of blockchain and analyze how they influence the implementation of a blockchain use case. We'll also be looking into some of the frameworks you can use to analyze a blockchain use case...

Distributed databases versus distributed ledger technology (DLT)

The first question that pops up when we think of implementing blockchain is, how is blockchain-powered ledger technology different from traditional databases? Traditional databases are centralized, and most blockchain platforms use databases to store transactions locally on each node. So, the actual comparison should be between the DLT-powered by blockchain and the distributed databases, and this is what we'll focus on in this section.

Although databases are distributed in the case of distributed databases, there is still centralization involved as the databases are managed by a central trusted entity, whereas the ledger in a DLT is maintained by trustless nodes in the network. So, distributed databases don't guarantee decentralization and still promote a centralized architecture with a trusted authority...

What can we store on a blockchain?

We previously compared blockchains with databases and analyzed their respective properties to evaluate their suitability before selecting one as our storage mechanism. We have assumed that a blockchain can store similar information that can be inserted into a database. Although it is possible to insert any data into a blockchain, it is not the preferred storage mechanism for static data. In this section, we will list out a few of the constraints on storing data on a blockchain.

Storing data as transactions

The data on a blockchain is stored in the form of atomic events called transactions. In a cryptocurrency such as Bitcoin, transactions contain scripts that help to transfer assets. However...

Centralized versus decentralized application architecture

We have compared DLTs and databases by analyzing their properties. But it's also important to analyze the architecture of the application before implementation. We will describe the architecture for both centralized and decentralized applications so that there will be more clarity about the components and the way in which they communicate with each other.

In an application that uses a basic centralized server architecture, there will only be a single instance of all the components involved. Figure 11.4 shows the architecture diagram of a web server application. The user can communicate with the web server through the user interface provided by the web application. A web application is programmed using a combination of scripting languages, such as JavaScript, and markup languages, such as HTML. A simple web application...

Properties of blockchain

So far, we've discussed a few of the properties of blockchain while comparing DLTs with databases. But due to its decentralized nature, blockchain has a number of inherent properties that will greatly benefit some use cases while not adding value to others. In this section, we'll discuss these properties so that you are able to properly evaluate whether blockchain would be suitable in your own use case.

Immutability

Blockchain is a ledger that doesn't allow you to update or delete existing records. The data recorded on the blockchain is supposed to remain for eternity. This makes a blockchain an immutable data structure. Unlike with traditional record-keeping technologies, a record cannot...

Decision models for blockchain

Based on the depth of understanding of blockchain technology and its impact on real-world problems, many researchers have proposed several decision models that will help to quickly assess the suitability of blockchain in any use case. These decision models consider all the fundamental principles of the blockchain and decide whether the use case is suitable to be implemented in a blockchain-based ecosystem.

Karl Wüst and Arthur Gervais

Two computer science researchers, Karl Wüst and Arthur Gervais, proposed a decision model in the paper Do you need a Blockchain?, which was published in IACR Cryptology (https://eprint.iacr.org/2017/375). The model helps to decide between permissioned...

Summary

This chapter has provided insight into the strategies to use when deciding whether to develop a decentralized application. A comparison was drawn between distributed databases and the blockchain-based DLT to explore the properties of blockchain. Centralized and decentralized application architectures were covered in depth to explain when a blockchain-based architecture adds value. We also explored several key properties of blockchain architectures in order to give the readers the essence of blockchain. Finally, we explored some decision models that evaluate the suitability of blockchain for certain use cases that were explored.

Now that we are able to distinguish between a blockchain and a non-blockchain use cases with the help of decision models, we'll move on to discuss several financial and non-financial blockchain use cases by pointing out the issues in the current...

lock icon
The rest of the chapter is locked
You have been reading a chapter from
Foundations of Blockchain
Published in: Jan 2019Publisher: PacktISBN-13: 9781789139396
Register for a free Packt account to unlock a world of extra content!
A free Packt account unlocks extra newsletters, articles, discounted offers, and much more. Start advancing your knowledge today.
undefined
Unlock this book and the full library FREE for 7 days
Get unlimited access to 7000+ expert-authored eBooks and videos courses covering every tech area you can think of
Renews at $15.99/month. Cancel anytime

Author (1)

author image
Koshik Raj

Koshik Raj is an information security enthusiast who holds a master's degree in computer science and information security. He has a background of working with RSA, a network security company. He has also worked as a senior developer in CoWrks, Bengaluru. Koshik has been studying blockchain technology since he was introduced to Bitcoin while pursuing his master's. He is currently advising an educational start-up looking to implement blockchain technology in the education space. He is also setting up a blockchain incubation center for students and researchers in Bengaluru to aid mentorship and networking, and even the launching and marketing of their ideas.
Read more about Koshik Raj