THE PERMISSION-LESS MODEL
- The blockchain model Works in an open environment and over a large network of participants.
- The users do not need to know the identity of the peers, and hence the users do not need to reveal their identity to others
- Good for financial applications like banking using cryptocurrency
In the conceptualization of the blockchain architecture and some interesting facts inside this blockchain design, and will explain into a few applications that can be realized using blockchain.
So, discussing a permissionless model, it works in an open environment and over a large network of participants; where the participants do not need to reveal their own identity.
the users do not need to reveal their own identity to other peers and hence the users also do not need to know the identity of the others.
the entire protocol works in a challenge-response fashion. So, this kind of permissionless model, they are kind of good for financial applications like cryptocurrency, where you want to develop a currency mechanism that will not be under the control of any single participants and anyone in the network will be able to participate in the transactions by utilizing that currency.
PRIVACY AND SECURITY IN BLOCKCHAIN MODEL
- The system is tamper-proof-it is “extremely hard” to make a change in the blockchain
- Tampering the system becomes harder as the chain grows
- For Bitcoin, the transaction is pseudo-anonymous
- Transactions are sent to public key addresses,-cryptographically generated addresses, computed by the wallet applications
This kind of environment provides a certain level of privacy and security. As I have mentioned earlier that a system is tamper-proof, it is extremely hard to make
a change in the blockchain, but remember that it is not impossible based on the architecture that we have, it is always possible to change a to tamper the blockchain architecture, but it is extremely hard.
with the current hardware devices that we have, it is nearly impossible to tamper a blockchain architecture.
Now, regarding privacy for Bitcoin, the transactions are pseudo anonymous that provides a certain level of privacy not complete privacy. in the case of Bitcoin that transactions that are sent, are sent using some public key addresses the concept of the public key and a private key.
So, broadly these public key addresses are cryptographically generated addresses, which are computed by the wallet applications.
In the above example, you can see that these particular things are the cryptographically generated addresses using this public-key cryptography, and from these addresses, you will not be able to understand who the actual users are.
you can just see that this user has transferred certain money, 0.0339 certain Bitcoin to this user, but who those users are in an actual real network that you do not know that you will not be able to reveal.
So, it provides a certain level of privacy but remembers it does not guarantee complete privacy, because you are still able to see the transactions. Although you do not decode the users, you are still able to see the transactions.
PEER ADDRESSES (REFERENCE:BITCOIN)
- “Address” in bitcoin is synonymous with an “Account” in a bank.
- The wallet listens for transactions addressed to an account,
- Encrypts the transactions by the public key of the the target address
- Only the target node can decrypt the transaction and accept it
- However the actual transaction amount is open to all for validation
These addresses in Bitcoin are synchronous to an account in a bank. So, every address they uniquely identify a user. For every user, one addresses associated with him or her.
the wallet listens for the transaction address to an account, and these transactions are encrypted by the public key of the target address.
So, only the target node can decrypt the transaction and accept it. That a target node can understand that this particular transaction is intended for me and the wallet accepts the transactions and publishes that availability of this much amount of Bitcoin to its or her wallet.
the actual transaction as I have mentioned, it is open to all for verification. So, Bitcoin makes these things public because anyone can verify the transaction. So, user IDs are constant. So, this I D once it is generated this will remain forever until you change the wallet or until you lose your wallet. So, whatever transactions that will be done by the same wallet, it will have this address.
the addresses are unique based on those unique addresses you can validate the transaction, but you cannot reveal or you cannot find out the actual identity of the corresponding user.
BLOCKCHAIN MODEL (AT PERMISSION-LESS MODEL) AS A TREE
T1 T2 T3 T4 T5 T6
There is one interesting fact in the blockchain mining procedure. in blockchain mining, if you remember that multiple users are simultaneously trying to mine a block; they are simultaneously trying to solve a mathematically challenging problem based on this challenge-response architecture and based on that they are trying to find out a block.
each of these blocks is generated in individual time instances. So, this is said T 1 at T 1 you have the block 1, now at T 2 again multiple users are trying to generate the blocks and assume that 2 users have found out the block simultaneously or nearly at the same time. So, what will happen at this block 2 block 1.
actually have 2 parts from block 1. From block 1 either can go to block 3 or can go to block 2 than at time 3 again, whenever the new transaction comes the users will try to again mine that the miners will try to mine that an at the new blocks and at that time instance it may happen that 3 other users they are able to successfully find out the nonce, which will have the corresponding difficulty in the hash function they will be able to get it at the same instance of time.
Now, if they are able to get it at the same instance of time. So, they are 3 other blocks, and now this 2 users, have this block as the previous block. So, they connect the block with this as the previous block and another user connects the block as the previous block.
Now what happens in the case of a blockchain network that whenever you are adding up a new block to the blockchain, then you are broadcasting that updated blockchain to your neighbors a neighbor if you look into a peer to peer architecture, a particular neighbor can receive the block for from multiple other peers and whenever it finds out that well there are multiple copies of the blocks, which he or he or she has received then it accepts the block with the longest chain.
So, it only accepts the longest chain. So, whenever say another user comes here, it assumes that this is the longest chain. So, whenever the next block is mined that gate added to block 5.
So, once block 7 gets added to block 5, then this particular chain becomes the longest chain. So, this particular chain becomes the longest chain, now the subsequent block will be added to block 7 and that will not be added to block 6. So, again at this time instance say this is T 1 T 2 T 3 T 4 and T 5.
at this time instance again 2 miners can mine the block simultaneously so, there can be
2 other blocks. So, that way in general a blockchain is not a chain rather a tree you can represent it as a directed tree and in that directed tree whatever be my longest chain, that is accepted as the current chain.
And in some time instances, it may happen that you have 2 different chains both of them are having the same length say for example, in this case, chain Block (1,2,5,7,8,12), block(1,2,5,7,9,11), block(1,2,5,7,9,10) block this chain all the 3 chains are of the same length.
So, whenever a miner has this kind of option he randomly selects one of them. And ideally, what happens then whenever people are propagating the updated block to the neighbors it is expected that some chains will get invalidate over invalidated over time.
ACCEPTING THE LONGEST CHAIN
Now, that is the idea whenever a this user gets a 2 different blockchain 2 different
versions of the blockchain, it always accepts the longest chain.
So, this was the longest chain based on the current blockchain.
Now, whenever a new block is mined during that time, that new block is always added to the longest chain.
whenever the new block is mined. So, this particular chain is the longest chain. So, the new block will get added to this longest chain.
that way whenever the blocks are getting propagated or multiple users are mining the data simultaneously and you have the possibility of having multiple chains together.
So, all this call things with taken a name from the operating system and we say that a new chain has been forked, just taking into the concept of the process from operating system their new chain has been a fork. But whenever a new chain gets if that is not the longest chain, that is not used any further always the longest chain is getting used to adding of the new blocks to an existing blockchain.
the other blocks which are there we call those blocks as the orphaned blocks. So, those blocks are not part of the longest chain.
In the above green chain is the longest chain. So, all the blocks in the green chain are considered as the valid blocks, and all other blocks, they eventually become orphaned blocks although in this case this also becomes the longest chain.
one of the chains from root to leaf whichever with the longest chain or if there are multiple chains, then out of the multiple chains one of the chains you consider as the main chain and other chains the blocks in the other chains, they will be considered as the orphaned blocks.
THE CRYPTOCURRENCY APPLICATION USING BLOCKCHAIN MODEL
Now, let us look into few applications of blockchain, first we look into multiple cryptocurrency
application. once the Bitcoin was developed in 2009 by Satoshi Nakamoto, which was the first decentralized ledger currency which had taken the concept of blockchain as its
backbone. Multiple other such cryptocurrency mechanisms came into practice and people have developed multiple types of different types of mining and consensus algorithms, which have been part of their individual currencies. So, in 2011 we had another cryptocurrency called Litecoin, which used a concept hashing algorithm call script, which is a lightweight hashing algorithm that has been utilized in litecoin.
Then in 2012, there was another cryptocurrency called bytecoin. Bytecoin is focused on user privacy through impassive and anonymous transactions. in the case of your standard Bitcoin all the transactions are visible, but in that case, they have a way to have designed the way to hide the transaction, but still a mechanism to validate the transactions.
Then in peercoin which came in 2012, they used another consensus algorithm along with proof of work, which is called the proof of stake. So, the details of the proof of stake we will discuss while will concentrate on different kinds of consensus algorithms.
So, this peercoin has taken P o S ah proof of stack as its mining algorithm. Then in 2013, there was this emercoin, emercoin it developed an architecture to store small data which had can be utilized for the purpose of domain name system validation, public key infrastructure, SSL infrastructure to implement this kind of system, which requires a small database and for them this emercoin it provides data trusted storage architecture.
Then we had something called ripple which is a cryptocurrency, which was designed for
peer to peer debt transfer.
In 2016 we had seen waves which is an open blockchain platform to develop applications for high volume transactions, it supported higher throughput or significantly higher throughput compared to bitcoin, but it has a limitation like it cannot support a large number of nodes in the network, that is in that ride of which will explore later on.
Then there was a currency called Omni which came in 13, which used both as a digital coin and at the same time a communication platform, which was built on top of the
Bitcoin blockchain and then 13 there was gridcoin. gridcoin was the first cryptocurrency, which is linked to citizen science. So, citizen science is an interesting application which is similar to that crowdfunding application that I have mentioned, while the concept of smart contract, where a group of people comes together and collectively they complete some task. So, this kind of environment in Berkeley opened infrastructure network computing; they termed it as citizen science; so, this gridcoin that was utilized supported citizen science platforms over a decentralized architecture.
these are some of the cryptocurrency applications which are developed over years, there are multiple other applications people are exploring on people have already developed and those are the basic advantage of those applications they are completely built on a decentralized platform, where you do not require a centralized storage architecture, but yet you can support multiple security and privacy then this kind of consensus this kind of properties over the system.
BITCOIN BLOCK EXPLORER
There is an interesting site that I have shown you the Bitcoin block explorer.
this snapshot I have taken during that time That was the height of the block. So, that was the year this was the height of the block 514498 and you can see how much at what time that block was added.
from 1 block to 2 blocks it took 10 minutes, then 2 blocks to 3 blocks it took 20 minutes. So, at what time the block was mined and the block was added to the network. Now all of these blocks may not be the part of the main chain Bitcoin blockchain, but it may be some blocks or maybe the orphan blocks. you can see which are the blocks which are part of the main chain and which are the blocks which are orphan blocks.
THE PERMISSIONED (PRIVATE) BLOCKCHAIN MODEL 2.0
- Blockchain can be applied just beyond cryptocurrency
- The underlying notions of consensus, security, and distributed replicated ledgers can be applied to even closer or permissioned network setting
- Most enterprise use cases only involve a few ten to a few hundred known participants
Now, in blockchain 2 we are moving from this concept of the permissionless model to something called a permission model or a private model. So, in case of permission
model or a private model. So, this concept of blockchain the industry people they explore that is the concept of blockchain, it can be applied beyond cryptocurrency.
this underline notion of consensus security distributed replicated ledgers, can also be applied to many kinds of closed or permissioned network settings.
And interestingly most enterprises use cases, they consider this kind of closed environment or a permission environment where you have some few 10 to few 100 numbers of known participants, who are participating in a consensus procedure and or who are participating in that application they want to share some information among themselves or they are collectively designing some kind of applications which will perform some predefined task.
So, from there we have the concept of a permission model of blockchain, which came as a part of a blockchain version 2.
PERMISSIONED BLOCKCHAIN MODEL
- Can leverage the 30+ years of technical literature to realize various benefits like
- Strict notion of security and privacy
- Greater transactional throughput based on the traditional notions of distributed consensus
- Raft consensus
- Paxos consensus
- Byzantine fault tolerance(BFT) algorithms
Now, in the permission blockchain model, the interesting first is that the users or known a priori because your environment is close.
when your environment is close you may not require a consensus algorithm based on challenge-response, which has its own disadvantages like it takes a significant amount of time to commit a block in the existing blockchain because the consensus takes a significant amount of time and you have are restriction on the size of the block.
So, in case of permission blockchain, you can leverage the existing distributed system consensus algorithm, which was developed in the last 30 plus years and that kind of algorithms it provides the strict notion of security and privacy, and this supports greater transactional throughput based on the traditional consensus algorithm like this raft consensus, Paxos, byzantine, fault-tolerant consensus all this different kind
consensus algorithms will study later, but this type of consensus algorithms provide significantly higher transaction throughput compared to the standard proof of work mechanism, which is a challenge-response mechanism and which is incorporated in Bitcoin architecture.
PERMISSIONED BLOCKCHAIN MODEL APPLICATION
- Asset movements and tracking
This kind of permission blockchain Model has multiple applications. one application
can be in the direction of asset movings of tracking. In the above are 2 examples see in one example, the assets are moving from multiple banking branches, say there kind of secured assets like the money which is moving from multiple banking banks or even the branches of multiple banks and you want to track, that is the movement.
So, when it is moved from say bank A to bank D, the bank D to bank B, then bank B to bank E you want to monitor or you want to keep track of that. And you want to keep track of that in such a way so, that bank B cannot deny in a later time that it
has not received that particular asset.
Another application of this kind of asset movement can in the supply chain, where you have multiple manufacturers and the manufacturers sending the asset to the shipper, the shipper is sending the asset to the distributor and the distributor is sending the asset to the retailer and you want to track the path that how a particular asset has been moved from manufacturer to shipper to which distributor to which retailer, and in such a way in a secure way that distributor A will not be able to deny later on that he or she has not received that particular asset.
PERMISSIONED BLOCKCHAIN MODEL APPLICATION
- Provenance tracking- tracking the origin and movement of high-value items across a supply chain, such as luxury goods, pharmaceutical, cosmetics and electronics.
- When the high-value item is created, a corresponding digital token is issued by a trusted entity, which acts to authenticate its point of origin.
- Every time the physical item changes hands, the digital token is moved in parallel->the real-world chain of custody is precisely mirrored by a chain of transactions on the blockchain.
- The token is acting as a virtual “certificate of authenticity”, which is far harder to steal or forge than a piece of paper.
So, that way there are multiple applications and in this kind of particular application can rely on the blockchain model environment to design a nice solution like the provenance tracking, where you want to prove that a particular distributor or a particular person or intermediary has indeed received the asset.
you are trying to track the origin and the movement of such high valued items, in a supply chain like say the luxury goods, the pharmaceuticals, the cosmetics, the electronics like that. Now, how can you realize that in the blockchain? Like when the high-value item is created, a corresponding digital token can be issued by a trusted entity because here we are considering a closed environment.
all the supply chain stakeholders in the supply chain environments there know a priori. So, they can get this kind of digital token, which acts to authenticate its point of origin that means the asset has originated at that point.
Now, every time the physical item changes hands or changes its location, the digital token is moved in parallel. So, the real world change of custody, you can precisely mirror it inside a chain of transactions on the blockchain.
as and when the asset moves from one supplier to one distributor to the next distributor, you can basically put a corresponding token in the blockchain and that particular chain that particular series of transactions will tell you how the asset has actually been moved. And because the information has been stored inside the blockchain no one will be able to deny it later on that he or she has not actually received that particular asset or he or she has not forwarded the asset to another party.
So, this token is acting as a certificate of authenticity, which is far harder to steal or forge than a piece of paper. So, if you are writing something on a piece of paper, it is easier to forge that compare to if you are putting it inside the blockchain and again the good thing here is that you do not have a centralized environment, that you can you do not need to rely on a centralized architecture to ah implement this kind of concept.
THE BLOCKCHAIN BASED DISTRIBUTED WEB
Now, another interesting application of this blockchain is the implementation of a distributed way. So, there is this concept of an interplanetary file system. So, interplanetary file system
actually implements the distributed wave architecture, where it combines the small storage elements or the small store which is available in or individual devices, and by combining the small store which is available to different users, you can actually construct a large Storage.
And the idea here is that whatever data I have in my storage possibly or in most of the time, that particular data is also available to multiple other users. Now, if you can connect all those users together, then what you can possibly do that well the original data remains to only one user and for other users, you do not need to store what data you can do? You can just keep a pointer that this data is available to this particular user.
Now to make it failsafe, you can just keep some multiple replicas of that data to a few other users. So, that way this IPFS it can provide high availability of service whereas, avoiding the replication of the data or the replication of the files
over multiple users.
HOW IPFS WORK
- Each file and all the blocks within it are given a unique fingerprint based on a cryptographic hash
- IPFS removes duplicates across the network and track version history for every file
- Each network nodes stores only the content it is interested in and some index information that helps to figure out who is storing what
That is the open project. So, you can just explore that area and you can play with this IPFS tool.
in IPFS each file and all of the blocks within it, they are given an in unique fingerprint through which you can identify a specific file or a specific block inside the file, which is based on the cryptographic hash function.
Now IPFS removes the duplication across the network to save the storage space and track version history for every file that if a file has been changed. So, it makes another replica of that file. So, if some users want the old version of the file he or she will be able to steal access to the old version of the file. And each network node stores only the content it is interested in and some indexing information that helps to figure out who is storing what.
- When looking up files, you ask the network to find nodes storing the content behind a unique hash
- Every file can be found by human-readable names using a decentralized naming system called IPNS
So, when you are taking a look upon the files. So, you ask the network to find nodes that are storing the content, behind that unique hash. So, every file now has a unique hash function. By using the unique hash function, you can make a look up which user hash that current file. And every file that can be found by human-readable names, that ah that IPFS also implements it using a decentralized naming system called IPNS interplanetary naming system.
So, what does it do? this IPNS maps the ah names the human-readable names to the corresponding hash entity. So, you can even such with your human-readable name. So, that way this indexing information is basically stored inside the blockchain, and what are the advantages of that? Say if you are owning a file if some file is you have some file. So, that information is there in the blockchain and everyone has that copy of the blockchain.
Now, later on, you cannot deny that you do not own that file. So, IPFS ensures the availability of the file even in the presence of failure and it provides a secured way or an authentic way to search the file over the internet.
- A permissioned blockchain framework that provides an enterprise-grade foundation for transactional applications
- A shared ledger that supports smart contracts-ensures the security and integrity of recorded transactions
- Unlike bitcoin and ethereum, hyper ledger fabric supports privacy and confidential transactions.
Then there is one interesting platform to implement this kind of permission model of blockchain and this kind of permission model of blockchain, which is nowadays very important for the industry perspective to implement different kinds of business applications.
a permission blockchain framework, it provides an enterprise-grade foundation for transactional applications. So, hyper ledger fabric is a permission blockchain framework. So, it contains a shared ledger that supports smart contracts and ensures the security and integrity of the recorded transactions. Now this concept of the hyper ledger fabric platform is little different from Bitcoin and ethereum.
Ethereum is another platform for implementing blockchain applications. So, using the ethereum platform you can implement decentralized applications or they are called apps. So, you can implement your own apps using an ethereum platform.
the concept of hyper ledger fabric lists little different from Bitcoin and ethereum, in comparison with Bitcoin and ethereum hyperledger fabric it supports strong privacy and confidentiality of the transactions which is not supported in case of Bitcoin or ethereum.
- Fabric support the notion of channels, a “subnet” of peers within the network that wants to share information confidentially
- Gives restricted visibility-important for business applications
- The fabric has no notion of mining use the notion of distributed consensus under a closed environment
Another interesting feature of hyper ledger fabric is that it supports the notion of channels. Channel you can think of is a subset of peers within the network who wants to share the information confidentially.
that is important for the business perfective in case of business perfective, everyone should not have the same feasibility of the data. Some group of users or some group of peers has one level of feasibility, some other level group of peers has some other level of feasibility.
Say one group of people can see some 10 files, another group of people can see some 20 other files. So, using this concept of the channel inside hyper ledger fabric, you can implement this kind of architecture where you can provide or you can support this kind of partial visibility or restricted visibility, which is very important for business applications or for the smart
Now, from the consensus perspective, because it is a closed environment or it is a permission environment. So, the fabric does not have any notion of mining rather it is used a notion of this standard distributed consensus algorithm under a closed environment.
THE FABRIC NETWORK
So, this is typically of fabric network architecture.
So, in a fabric network say you have this blockchain user. So, the blockchain users first take membership from a certification authority, which makes the environment closed. So, whenever a blockchain user.
If it does not have a certificate at that time whenever it is participating in this blockchain application, it can contact the certification authority and get a certificate by enrolling his name, that way you are making the environment closed, and then it can invoke there is something called chaincode transaction. So, this chain code transaction, it implements
the basic blockchain architecture in case of a permission model or in case of a closed model. So, they can invoke the chain code transaction and put the transaction inside this blockchain platform which is maintained fabric.
- Two models of blockchain network –permission-less (an open environment) and permissioned (a close environment)
- Permission-less model is suitable for open control-free financial application like cryptocurrency
- Permissioned model is suitable for business applications like smart contracts.
summary. So, you have seen that there are 2 models of the blockchain network, one is the permissionless model for the open environment and another one is the permission model, which is for a closed environment now this permissionless model it is suitable for open control free financial applications like cryptocurrency whereas, this kind of permission model which is suitable for business applications like smart contracts.
And discussed the basic notion of blockchain and what are the different technical aspects that we need to study to understand the functionality of the blockchain. So, I have given you a brief overview or a birds-eye view of how the blockchain environment actually works,
and what are the different applications both in the permission environment as well as in a permissionless environment, that you can realize using the blockchain architecture or the blockchain environment?
So, in the next blog, we will go into the detail of these different mechanisms. So, we will start looking into the basic cryptography functionalities which are useful for implementing a blockchain architecture, at the same time we will look into the mining algorithms and the consensus algorithms in further details, and we will look into that what are the different ways people are exploring this blockchain system to make it’s more scalable or more useful for a different kind of government as well as the industrial applications.
READ MORE ARTICLE: R3 CORDA
follow us on facebook