Blockchain introduction

Blockchain introduction

Blockchain is a decentralized computation and information sharing platform that enables multiple authoritative domains, who do not trust each other to, cooperate, coordinate, and collaborate in a rational decision process.

EXPLANATION:- so by definition blockchain the keyword that we have in this particular definition is this decentralized that is an important aspect of a blockchain, we will talk about that how this technology is decentralized and what is the utility of this particular technology when you use a decentralized platform.

Then this computation and information sharing platform, so blockchain broadly you can think of it is a decentralized database that helps in cooperation between multiple authoritative domains.

This terminology has multiple authoritative domains; it is the third keyword. So the technology is particularly useful when multiple parties or individuals want to cooperate with each other they want to come to a common platform to share the information among themselves.

And another important aspect of blockchain is that whenever we are talking about multiple authoritative domains. these multiple authoritative domains they do not trust each other.

this is an important aspect of blockchain that you can combine multiple authoritative domains who do not trust with each other and they can come to a common platform where they can cooperate, coordinate and collaborate in the application development process at the business intelligence process.

BLOCKCHAIN USE

TRADITIONAL WAY OF SHARING DOCUMENT.

A particular use case is how blockchain can be useful for developing applications.

In the traditional way of sharing documents whenever we used to do it using Microsoft word say Alice wants to share some documents with bob.so what ideally Alice will do? Alice will just write down his content inside his or her own document.

So Alice will whatever Alice wants to write she will write it in her own document, then Alice will share that document to bob, and after that bob will update the document with his content and share the document again to Alice.

So that was the traditional way of cooperation between Alice and Bob when they wanted to write something in a shared document.in this particular architecture, there are multiple disadvantages.

The first disadvantage is that Alice and bob they will not be able to simultaneously edit the document that is a fundamental problem of this architecture that first Alice up to update her own content then she can share the document with bob and one bob receives that content they only he will be able to update the content and share it back with

Alice. Now this architecture we move towards the next architecture where we use this

SHARED GOOGLE DOC-BOTH THE USERS CAN EDIT SIMULTANEOUSLY

This google doc or share google doc platform.in a shared google doc dot platform, both Alice and bob can write simultaneously or they can edit the document simultaneously.

But with that, this shared google Doc document the problem is that this environment is still centralized.

Now the question is that does centralized environment harm or what is the disadvantage that if we use a centralized environment for cooperation during this kind of information sharing platform.

The major problem of a centralized system is that it works as a:- single point of failure.

  • If you do not have sufficient bandwidth to load google doc, you will not be able to edit.
  • What if the server crashes?

If you do not have sufficient bandwidth to load google doc just consider this kind of scenario then you will not be able to do an edit on that particular document, you have to wait until you are able to connect to the internet and load the google doc platform.

Now another platform comes which problem is not there may be for google Docs because google has their dedicated server architecture or they made the server application failsafe.

but if you are building your own application and you are writing that application or storing that application in a centralized computer and two people are connecting to that computer to get that information then the problem is what if the server or your computer crashes.

In that case, the entire information gets lost or even if you want to make it failsafe you want to keep it a backup you have to load the backup and only after loading the backup and only after loading the backup you have to load the backup and only after loading the backup you will be able to process it further.

So, that is the major point of this kind of centralized system and that is why we want to move from a centralized platform to a distributed platform.

CENTRALIZED VS DECENTRALIZED VS DISTRIBUTED

  • Complete reliance on a single point(centralized) is not safe.
  • Decentralized multiple points of coordination
  • Distributed everyone collectively execute the job

We basically have broadly distributed system concepts people talk about 3 different architectures, one is called a centralized architecture, the second one is called the decentralized architecture, and the third one is called a distributed architecture.

So in the case of a centralized architecture, there is a central coordination system and every node connecting to the central coordination system and whatever information they want to share will be shared by this central coordination system.and under this platform you have a problem like if this central coordination platform fails then all of these individual nodes they will get disconnected.

So from the centralized system, we will move towards a decentralized system.so, in this decentralized system you have few coordinators rather than a single coordinator and all of these coordinators cooperate with each other and the individual nodes they are connected to this coordinator.

So in this particular architecture, if this particular node fails or multiple nodes fail then these coordinators can connect to another individual node that can connect to another coordinator and can share the information and can or perform the operation using those available coordinators which are there.

So in this particular decentralized architecture, you have the advantage that you can still tolerate multiple numbers of failures until the network becomes disconnected.

So obviously this architecture works on top of a network and because of multiple simultaneous failures if the network is partitioned or the network gets disconnected then these individual nodes will not be able to cooperate with each other.to solve this problem we move to the next architecture which we called the complete distributed architecture.

in a complete distributed architecture you do not have this kind of centralized coordinator and all the nodes they participate in the computation or the information sharing processor in the application development where they coordinate with each other and collectively develop the application or collectively share the information among themself.

So that are the relative advantages or disadvantages of a decentralized platform and distributed platform over a centralized platform.

And in our modern architecture what we want is that well-centralized platforms are good, but they are not scalable and they are not robust to failure.

So we want to move from centralized architecture to a decentralized architecture or a  distributed architecture.

So blockchain is a platform that helps you to support this kind of a  decentralized platform or a distributed platform where you can share the information among yourselves in a very custody manner.

Everyone edits on their local copy of the document the internet takes care of ensuring consistency

This is the ideal solution using blockchain.so in a blockchain platform Alice has her own copy of the document and bob has his own copy of the document.

So left side copy belongs to Alice and the right side copy belongs to bob and they can simultaneously write to their own document and here the network in between and the network has the task to ensure that the information consistencies are maintained between the documents which bob and Alice hold individually.

This is an ideal use case where you can use the blockchain platform.so this blockchain platform comes in between.

this blockchain platform which is pant over the network and it will help you to make this kind of coordination where Alice will keep her own copy of the document, bob will keep his own copy of the document they can independently write their personal copy and then the blockchain platform will ensure that the information that they are entering inside the document they are getting synchronized with each other and both with time both will be able to see the most updated copy or they will be able to update the over the most updated copy.

that is the advantage of blockchain technology over a complete centralized or a centralized architecture where or architecture where you have a shared copy which is between which is shared between multiple parties.

this is an interesting and typical application of a blockchain.

A decentralized database with strong consistency support

 So this blockchain comes in between, it replaces the network and the blockchain helps that both Alice and Bob will be able to simultaneously read or write the documents. And the advantage that I have mentioned is that they do not need to rely on the internet or if server crashes they do not depend on a server crash.

So by definition, we can say that a blockchain is a decentralized data-based platform with strong consistency support.

So it supports that whatever information bob or Alice is writing in the document individually they are getting synchronized over the network.

This is a very simplified architecture of blockchain

  • Every node maintains a local copy of the global data-sheet
  • The system ensures consistency among the local copies
  • The local copies at every node are identical
  • The local copies are always updated based on global information

In a typical blockchain architecture, every individual node maintains a local copy of the blockchain.

In the diagram, multiple nodes on the internet are connected with each other and everyone is maintaining a local copy of the global datasheet.

the system task is to ensure that all these individual copies are consistent with each other.

Consistency here means that the local copies that every node has those copies are identical, and these copies are always updated based on the global information, which means if this node wants to enter some information to this blockchain.

This information will get updated to all the copies of the blockchain that every node possesses.

So that is basically the architectural platform of blockchain which supports a strong consistency among the local replica local information that every node has.

this local information we called this local information a public ledger. this is an important term in the context of blockchain.

the concept of public ledger

  • A database of “historical” information available to everyone
  • The “historical information” may be utilized for future computation
  • EXAMPLE
    • The historical information are the banking transactions
    • The old transactions are use to validate the new transaction

This is an important term in the context of blockchain, the concept of public ledger. 

The public ledger is something like everyone possesses his or her own copy of data.so if you think of a database system a data base is nothing but a collection of historical information which is available to everyone.

so, a public ledger is a work like a database where it contains this kind of historical information that is available to inform everyone and this historical information can be utilized for future computation.

An example of a public ledger can be like the banking transaction. say you are keeping the banking transactions inside the public ledger and this whole transaction which is there they are basically used to validate the new transaction.

in a typical banking system what we do that we maintain a passbook and the bank work like a centralized

The authority which stores all our transaction information and whenever you are going to the bank or whenever you are making a transaction during that time, the bank validates everything with the centralized information that it has.

 In the case of this public ledger, we are moving from a centralized banking system to a decentralized banking system where every individual has their own copy of the global transactions which is synchronized and which is consistent and whenever you are trying to make a new transaction or someone else is trying to make a new transaction during that time that new transaction is validated against the old transactions that you have already there inside the public ledger.

EXAMPLE OF PUBLIC LEDGER FROM BANKING SECTORS

In this picture 4 participants are Alice, Bob, Eve, jane. Assume that Alice wants to Alice initially has 100 rupees in her hand.so the public ledger that is there so the public ledger is available to slice, bob, eve, and jane and the public ledger that they have it has the initial content or initial information that Alice has race 100 in her hand.now say Alice wants to make a transaction of 40, rupees 40 to bob.

In this case, we add up other transactions in the public ledger, that means this information needs to be updated to all the public ledger all copies of the public ledger that Alice has, bob has, eve has and jone has.so this particular transaction gets updated to all these copies of the public ledger.

then say bob wants to make another transaction of rupees 30 to Eve. so this particular information is again updated in the public ledger, that means the public ledger which is available to Alice, bob, eve, and jane 

Everyone basically contained the information of all the transactions and the local copy of the particular entire public ledger is available to all the parties who are there in the network.

now say Alice wants to make a transaction of rupees 80 to jane.by looking into this public ledger you can see that Alice initially had rupees 100 with her and then Alice made a transaction of rupees 50 to bob.by combining this two transaction I can say that now Alice has only this 50 in her hand. So if you are trying to make a transaction of rupees 80 that means this particular transaction is not valid.

So all the parties which are there in the network by looking into their public ledger will be able to understand that this particular transaction is not valid.so this particular transaction is blocked and this is not added to the public ledger.

BLOCKCHAINS AND PUBLIC LEDGERS

  • blockchain work like a public ledger
  • However we need to ensure a number of different aspects 
  • Protocols for commitment:-ensure that every valid transaction from the clients is committed and included in the blockchain within a finite time.
  • Consensus:-ensure that the local copies are consistent and updated.
  • Security:- the data needs to be tamper-proof. Note that the clients may act maliciously or can be compromised.
  • Privacy and authenticity:-the data (or transactions) belong to various clients, privacy and authenticity need to be ensured.

In this particular way, public ledger works in the context of a decentralized system.

The concept of blockchain you can think blockchain is nothing but a public ledger, whenever you are implementing such a blockchain by utilizing the concept of the public ledger you need to ensure a number of different aspects, first the protocol for commitment.

the protocol for commitment means whenever someone is making a transaction during that time you need to ensure that this particular transaction if it is valid, will get committed to the existing public ledger or the existing blockchain otherwise that entry will not be there in the blockchain.

So there should be a mechanism for validity checking of every upcoming transaction from the clients and then based on that validity checking you will be able to either accept the transaction and include it in the existing blockchain or you can delete the transaction or discard the transaction.

The second requirement is a consensus.consensus is an important aspect in the context of blockchain.

In the case of blockchain, as we have discussed, you have a local copy of the information available to every individual party and there is no such central platform like a bank that will maintain the consistency of the transaction or the consistency of the information.

So that is why the consensus mechanism ensures that whatever local copy every individual party as they are consistent with each other that everyone has the most updated copy and a copy that they have individuals have they are identical or similar to each other.

the third important aspect is security.

that means the data that you are inserting in a public ledger or inside the blockchain now because this blockchain is distributed to individual parties everyone is maintaining their local copy of the blockchain.

That person may change something in that local copy and broadcast that saying that this is the updated information.

but the other nodes in the network should be able to understand that whatever this person is broadcasting that is the false information or that is the tempered information the blockchain that person is broadcasted that has false information and they should be able to discard that particular information.

so that way the security needs to be ensured because you do not have some centralized authority like a bank will be able to maintain the validity of the information rather in a decentralized way you have to ensure the validity. And the final aspect is privacy and authenticity.

The data or the transaction which is there inside the blockchain belongs to various clients. It is coming from various clients and you are putting that information inside the blockchain and a copy of the blockchain is available to every party and that is why the privacy and authenticity of the information need to be ensured.

FORMAL DEFINITION OF A BLOCKCHAIN

  • A blockchain is an “ open distributed ledger that can record transactions between two parties efficiently and in a verifiable and permanent way”
  • The keywords: open (accessible to all), distributed or decentralized (no single party control), efficient(fast and scalable), verifiable(everyone can check the validity of information), permanent(the information is persistent)

In this particular definition we see a number of keywords.the the first keyword is open.

That means whatever information you are putting inside the blockchain that should be accessible to all.

Everyone will be able to observe and validate that particular information.that is the first requirement for blockchain the second one is distributed ledger.

so a blockchain is a distributed ledger that means you are keeping a copy of that public ledger to every individual party who is there in the platform and their communicating with each other.

That is the concept of distribution of the platform .can be either distributed or decentralized based on your application.

The third keyword is you need to ensure the efficiency of the information, the efficiency of the protocol so the protocol needs to be fast and scalable.it should scale up with the number of client requests as well as the number of participants in the network. then the next keyword is verifiable.

which says that everyone who is there in the network should be able to check the validity of the information.

And permanent means the information that you are entering inside the blockchain that information is persistent or sometimes we call it to tamper proof.means that once you have inserted a piece of information inside a blockchain then you will not be able to change that information or update that information in future time.

if you want to update the transaction you have to insert a new transaction saying that the old transaction is invalid and that is the new transaction.but whatever has been already committed transactions will never be able to roll back or someone will not be able to change that particular transaction.

FAQ

CENTRALIZED NETWORK VS DECENTRALIZED NETWORK VS DISTRIBUTED NETWORK

  • Complete reliance on a single point(centralized) is not safe.
  • Decentralized multiple points of coordination
  • Distributed everyone collectively execute the job

We basically have broadly distributed system concepts people talk about 3 different architectures, one is called a centralized architecture, the second one is called the decentralized architecture, and the third one is called a distributed architecture.

So in the case of a centralized architecture, there is a central coordination system and every node connecting to the central coordination system and whatever information they want to share will be shared by this central coordination system.and under this platform you have a problem like if this central coordination platform fails then all of these individual nodes they will get disconnected.

So from the centralized system, we will move towards a decentralized system.so, in this decentralized system you have few coordinators rather than a single coordinator and all of these coordinators cooperate with each other and the individual nodes they are connected to this coordinator.

So in this particular architecture, if this particular node fails or multiple nodes fail then these coordinators can connect to another individual node that can connect to another coordinator and can share the information and can or perform the operation using those available coordinators which are there.

So in this particular decentralized architecture, you have the advantage that you can still tolerate multiple numbers of failures until the network becomes disconnected.

So obviously this architecture works on top of a network and because of multiple simultaneous failures if the network is partitioned or the network gets disconnected then these individual nodes will not be able to cooperate with each other.to solve this problem we move to the next architecture which we called the complete distributed architecture.

in a complete distributed architecture you do not have this kind of centralized coordinator and all the nodes they participate in the computation or the information sharing processor in the application development where they coordinate with each other and collectively develop the application or collectively share the information among themself.

So that are the relative advantages or disadvantages of a decentralized platform and distributed platform over a centralized platform.

And in our modern architecture what we want is that well-centralized platforms are good, but they are not scalable and they are not robust to failure.

So we want to move from centralized architecture to a decentralized architecture or a  distributed architecture.

So blockchain is a platform that helps you to support this kind of a  decentralized platform or a distributed platform where you can share the information among yourselves in a very custody manner.

READ MORE ARTICLE: R3 CORDA

follow us on facebook

Leave a Comment