Permissioned Blockchain Concepts

Permissioned Blockchain Concepts

Permissioned Model and Use cases

  1. Permissioned blockchain model is a type of blockchain where access to the network and ability to validate transactions are restricted to pre-approved set of candidates.

  2. In a Permissioned blockchain, a central authority, such as consortium of organizations, controls access to the network and enforces rules and regulations.

  3. Permissioned Blockchain can be either private or consortium blockchains.

  4. A private blockchain is a permissioned blockchain where access to the network is restricted to a single organization.

  5. A consortium blockchain is a permissioned blockchain where access to the network is restricted to a group of organizations.

  6. The permissioned model of blockchain is used in various industries and applications, such as financial services, supply chain management, healthcare, government, and identity management.

  7. Use Cases:

  • Enterprise applications - Permissioned blockchain are well-suited for enterprise applications (e.g. Supply chain management, financial services, etc.)

  • Government applications - Permissioned blockchain can be used in Land registries and voting systems, etc. Provides a secure and transparent platform for government entities.

  • Identity management - Permissioned blockchain can be used for creating and verifying digital identities.

  • Health care - can be used for creating a secure and transparent platform for managing and sharing medical records.

  • Banking and finance - can be used for creating a secure and transparent platform for managing and tracking financial transactions.

Design issues for Permissioned blockchains

There are several design issues that need to be considered when implementing a permissioned blockchain -

  1. Access Control - determining who has access to the network, and ability to validate transactions, managing the access control process.

  2. Consensus mechanism - determining the consensus mechanism to be used. choosing the right consensus mechanism can be a trade-off between security and performance.

  3. Scalability - Another design issue is scalability, as permissioned blockchains may have a smaller number of participants as compared to public blockchains.

  4. Privacy - the privacy of the participants and their transactions needs to be considered. This includes designing the network in such a way that it does not reveal sensitive information about the participants or their transactions to unauthorized parties.

  5. Regulatory Compliance - Permissioned blockchains are often used in regulated industries, such as finance and healthcare, and need to comply with existing regulations. It includes designing the network to meet data protection and privacy laws.

  6. Integration - Permissioned blockchains often need to be integrated with existing systems, such as enterprise resource planning (ERP) systems.

State machine Replication (SMR)

  1. SMR is a technique used in distributed systems to ensure that all replicas of a service/application have the same state.

  2. In the blockchain, SMR is used to ensure that all nodes in the network have the same copy of the blockchain ledger.

  3. There are several algorithms that are used for state machine replication in blockchain, such as Practical Byzantine Fault Tolerance (PBFT) and RAFT.

  4. SMR is a key aspect of blockchain technology, that ensures the consistency and fault-tolerance of the network.

  5. It works in conjunction with the consensus algorithm to keep all the nodes in the network in agreement about the state of the blockchain.

Overview of consensus model for permissioned blockchain

  1. Consensus is the process by which all the nodes in a blockchain network agree on the state of the blockchain.

  2. Consensus models commonly used in permissioned blockchains:

  • Practical Byzantine Fault Tolerance (PBFT): PBFT Consensus algorithm uses a combination of message passing and voting to ensure that all nodes have the same view of the state of the blockchain.

  • RAFT: RAFT Consensus algorithm is designed to be fault-tolerant and can handle network partitions and failures.

  • Proof of Authority (PoA): PoA Consensus algorithm uses a group of authorized nodes, called validators, to validate transactions and create new blocks.

  • Proof of Stake (PoS): PoS Consensus algorithm uses a group of validators, called validators, to validate transactions and create new blocks. Validators are chosen based on their stake in the network.

  • PLaTFoRM (Parallel Ledger Technology For Optimized Replication and Machine Learning): PLATFORM Consensus algorithm uses parallel replication to provide a fast and secure way to add blocks to the blockchain, and machine learning to improve the performance and scalability of the network.

Paxos

  1. Paxos is a consensus algorithm is first described in 1989.

  2. It is designed to ensure that a distributed system can reach agreement on a value, even if some of the nodes in the system fail.

  3. In blockchain, Paxos can be used as a consensus algorithm to ensure that all nodes in the network agree on the state of the blockchain.

  4. Paxos is designed to be fault-tolerant and can handle network partitions and failures.

  5. Paxos works by having a set of nodes, called acceptors, that vote on proposed values. A separate node, called a proposer, is responsible for proposing new values to the acceptors.

  6. There are several variations of the Paxos algorithm that have been proposed, including Multi-Paxos, Fast Paxos, etc.

RAFT Consensus

  1. RAFT is a consensus algorithm that was developed as an alternative to Paxos.

  2. Raft is a leader-based consensus algorithm and it's more understandable than Paxos.

  3. In blockchain, Raft can be used as a consensus algorithm to ensure that all nodes in the network agree on the state of the blockchain.

  4. Raft is designed to be fault-tolerant and can handle network partitions and failures, making it a suitable option for permissioned blockchains.

  5. Raft uses a three-phase commit protocol, which includes: leader election, log replication and safety mechanism.

Byzantine general problem

  1. The Byzantine Generals Problem is a classic problem in distributed computing that addresses the issue of how to reach agreement in a distributed system when some of the nodes may be faulty or behaving maliciously.

  2. The problem is named after the historical scenario in which Byzantine generals have to decide whether to attack a city or not, and each general can only communicate with some of the others.

  3. In blockchain, the Byzantine Generals Problem is relevant because it addresses the issue of how to reach agreement on the state of the blockchain when some of the nodes in the network may be faulty or behaving maliciously.

  4. This can include issues such as double spending, where a malicious node tries to spend the same cryptocurrency twice.

  5. Several consensus algorithms have been developed to address the Byzantine Generals Problem in blockchain, such as the Practical Byzantine Fault Tolerance (PBFT) and the Raft algorithm.

Byzantine fault tolerance(BFT) System

  1. A Byzantine Fault Tolerant (BFT) system is a distributed system that can tolerate the presence of faulty or malicious nodes, also called Byzantine nodes.

  2. In a BFT system, the nodes can continue to function correctly, even if some of the nodes in the system are behaving in an unexpected or malicious way.

  3. A BFT system is important in blockchain because it ensures that the network can continue to function correctly even if some of the nodes are behaving maliciously or are faulty.

  4. This can include issues such as double spending, where a malicious node tries to spend the same cryptocurrency twice.

  5. There are several different approaches to achieving BFT in a distributed system. One common approach is to use a consensus algorithm, such as PBFT or Raft, that uses a combination of message passing and voting.

Lamport-Shostak-Pease BFT Algorithm

  1. The Lamport-Shostak-Pease (LSP) algorithm is a Byzantine Fault Tolerance (BFT) algorithm that was first proposed by Leslie Lamport, Robert Shostak, and Marshall Pease in 1982.

  2. It is a simple and efficient algorithm that can be used to achieve BFT in a distributed system, such as a blockchain network.

  3. In the LSP algorithm, nodes in the network are divided into two groups: generals and lieutenants.

  4. Generals are responsible for proposing values, and lieutenants are responsible for voting on proposed values.

  5. In blockchain, LSP algorithm can be used as a consensus algorithm to ensure that all nodes in the network agree on the state of the blockchain.

  6. LSP is designed to be fault-tolerant and can handle network partitions and failures, making it a suitable option for permissioned blockchains.

BFT over Asynchronous systems

  1. A Byzantine Fault Tolerance (BFT) system is typically designed to work in a synchronous network, where all nodes have a consistent view of time and can communicate with each other in a timely manner.

  2. When BFT is applied to asynchronous systems, there is a risk of algorithm being stuck in an infinite loop, or that it may not be able to reach the agreement on the state of the blockchain.

  3. To address this, several modifications have been proposed to BFT algorithms such as :

  • First approach: use a hybrid BFT algorithm, which combines a synchronous BFT algorithm with a gossip protocol.

  • Second approach: use a modified BFT algorithm, such as Asynchronous BFT (ABFT), which is designed to work in asynchronous networks.

  • Third approach: use a probabilistic BFT algorithm, such as HoneyBadgerBFT, which uses a combination of secret sharing and threshold signing to ensure that the network can reach agreement.