Dbatu university blockchain technology notes BCT 3rd Unit
Dbatu university blockchain technology notes BCT 3rd Unit
Permissioned Blockchain
Permissioned model
Permissioned blockchains are blockchains that are closed (i.e., not
publicly accessible) or have an access control layer.
This additional layer of security means that the blockchain can only
be accessed by users with permissions. Permissioned users are only
able to perform blockchain operations within the strict confines of
roles assigned to them by the ledger administrators and require that
they authenticate themselves through certificates or digital identifier
methods. In addition, the roles would dictate what information a user
would be able to access.
Aspects of a permissioned blockchain
•Security
•Flexibility of Decentralization
•Performance
Disadvantages of permissioned
blockchains
•Not truly decentralized as it requires permission
•Risk of corruption as only a few participants are
involved.
•Anytime owner and operator can change the rules as
per their need.
state machine replication-
state machine replication- execute the contract at a subset
of nodes and ensure that the same state is propagated to all
the nodes.
State Machine is characterized by a set of parameters such
as set of Inputs, set of Outputs, and the Transition States.
•A set of state (S) based on the system design
•A set of inputs (I)
•A set of outputs (O)
•A transition function S x I –> S; takes the current state and input value and produces
a set as the output.
•A output function S x I –> O
•A start state
In the crowdfunding platform, there are mainly two parties which
include the project proposes and project funders. The project
proposers propose the project to the funders, and if they are
interested, they will invest money in their project. The funders will
release funds after the completion of a certain job. In the above
diagram, Alice and Bob are the two funders, and they are transferring
money after completing the proposed jobs by the proposers. Once the
entire job is completed, money will be transferred to them.
Distributed State Machine Replication Mechanism
Let us consider that the current term value is 10, and the index value is 100, which
means most of the nodes have seen and committed transaction index value number
100.
The leader proposes a new transaction, adds an entry log with term 10 and the new
transaction index value as 101. Further, the leader sends a message called append
entries to all the followers, and they collectively vote either for or against this transaction.
The leader receives the vote for this transaction index
value 101. The followers’ node votes for or against
this transaction. If the majority says that they are fine
with committing this particular log. Then, the leader
considers that the transaction log is approved by the
followers
After successful acceptance of the entry log, the leader sends
an accept message based on the majority voting to all the
individual followers to update the committed index to 101.
After successful acceptance of the entry log, the leader sends
an accept message based on the majority voting to all the
individual followers to update the committed index to 101.
Byzantine generals Problem
The concept of BFT has a promising relationship with military
tactics in a scenario where different Byzantine generals gather
around an enemy city before attacking it. Some of the notable
highlights of the Byzantine General’s Problem could help in
understanding the actual work of the Byzantine Fault
Tolerance consensus.
1.The different Byzantine generals command their respective
units at different positions outside the city they are about to
attack.
2.The generals can communicate with each other through
messengers, sending one message at a time.
1.The Byzantine generals must have coordination and agreement
on a particular plan of action for successfully attacking or
retreating.
2.If all the generals attack at the same time or all of them retreat at
the same time, there is no problem. However, if one general
retreats while others attack or attack while the others retreat, the
general would end up losing. Therefore, the outcome will be bad
for all of the generals and their units.
3.Another important point in the Byzantine General’s Problem is
the fact that some of the generals are not loyal. These generals
could try sending the wrong or manipulated information to other
generals for confusing them.
Byzantine Fault Tolerance(BFT)
Byzantine Fault Tolerance(BFT) is the feature of a
distributed network to reach consensus(agreement on
the same value) even when some of the nodes in the
network fail to respond or respond with incorrect
information. The objective of a BFT mechanism is to
safeguard against the system failures by employing
collective decision making(both – correct and faulty
nodes) which aims to reduce to influence of the faulty
nodes. BFT is derived from Byzantine Generals’
Problem.
Byzantine Fault Tolerance
In an attempt to overcome the Byzantine problems, Barbara Liskov
and Miguel Castro introduced a Practical Byzantine Fault Tolerance
(pBFT) consensus algorithm in 1999. They aim to ensure a
practical byzantine state machine replication for tolerating
malicious or byzantine nodes.
The pBFT follows an asynchronous approach. The following are
essential aspects of the pBFT consensus algorithm:
•All nodes are assembled in a sequence.
•One network node serves as a leader node, and the rest of them
are backup nodes.
•The primary or leader node serves the client’s request. It works as a
moderator between client and backup nodes.
•All nodes are capable of communicating with other nodes to check
the honest nodes.
•Honest nodes should be able to reach a consensus for the next global
change in the network based on majority rule.
•It identifies the source of the message to make sure it’s sent by the
correct sender.
•Ensures the message has not been modified or corrupted in between.
pBFT work