Block chain
Technology
Need for distributed record
keeping
Modeling faults and
adversaries
Byzantine Generals Problem
Consensus algorithms and
their Scalability Problems
Need for distributed record keeping
A block chain is a digital ledger of transactions
Distributed across the entire network of computers or
nodes on the block chain.Distributed ledgers use
independent nodes to record,share,and synchronize
transactions in their respective electronic ledgers
instead of keeping them in one centralized server.A
Blockchain uses several
Technologies like digital signatures,distributed
networks,encryption/decrtption methods,and
distributed ledger technology to enable blockchain
applications.Block chain is one of the types of DLT in
which transactions are recorded with an
unchangeable cryptographic signature called a
hash.That is why distributed ledgers are often called
block chains.
Need for distributed record keeping
Key features:
1)Decentralized: It is a decentralized technology and every node
will maintain the ledger,and if any data changes happen,the
ledger will get updated.
2)immutable: distributed ledger uses cryptography to create a
secure database in which data once strored cannot be altered or
changed.
3)Append only:Distributed ledgers are append only in comparision
to the traditional database where data can be altered.
4)Distributed: In this technology there is no central server or
authority managing the database which makes the technology
transparent.In this process every node or contributor of the
ledger will try to verify the transactions with the various
consensus algorithms or voting.The voting or participation of all
the nodes depends on the rules of that ledger.In the case of
bitcoin the proof of work consensus mechanism is used for the
pariticipation of each node.
5)Shared:The distributed ledger is not associated with any single
entity.It is shared among the nodes on the network where some
nodes have a full copy of the ledger while some nodes have only
the necessary information that is required to make them
functional and efficient.
6) Smart contracts: Distributed ledgers can be programmed to
execute smart contracts which are self executing contracts with
the terms of the agreement between buyer and seller being
directly written into lines of code.This allows for transactions to
be automated secure and transparent.
7)Fault tolerance:Distributed ledgers are highly fault tolerant
because of their decentralized nature.If one node or participants
fails the data remains availanle on other nodes.
8)Transparency: Distributed ledgers are
transparent because every participant can see
the transactions that occur on the ledger.This
transparency helps in creating trust among
the participants.
9)Efficiency: The distributed nature of ledgers
make them highly efficient.Transactions can
be processed and settled in a matter of
seconds making them much faster than
traditional methods.
10)Security: Distributed ledgers are highly
secure because of their cryptographic
nature.Every transaction is recorded with a
cryptographic siganature that ensures that it
cannot be altered.This makes the technology
highly secure and resistent to fraud.
Block Chain Technology :
A Block chain is a decentralized and
distributed ledger technology that records
transactions across a network of computers.It
consists of a chain of blocks,each containing a
list of transactions.
The block chain is maintained by a network
of nodes and each participant in the network
has a copy of the entire ledger.Transactions
are added to the block chain through a
consensus mechanism,ensuring agreement
among nodes.
Distributed Trust:
1)Distributed Trust refers to the idea that trust
is not centralized in a single entity(Like a bank
or government) but is distributed across a
network of participants.
2) In a block chain network trust is established
through consensus mechanisms,cryptographic
techniques and the decentralized nature of
the ledger.Participants can trust the system
without relying on a central authority.
Connection :
1)Block chain technology is often used to create
a system of distributed trust.The
decentralized and transparent nature of the
block chain ensures that no single participant
can control or manipulate the system.
2)Trust is established through the integrity of
the block chain,which is maintained by a
distributed network of nodes.The use of
cryptography and consensus mechanisms
enhances the security and immutability of the
recorded transactions.
Summary :
In summary while “ block chain” refers to the
specific technology that enables decentralized
and secure record keeping, “distributed trust
is a broader concept that describes the trust
established in a decentralized system where
no single entity is soley relied upon.Block
chain is a power ful tool for achieving
distributed trust in various applications
ranging from financial transactions to supply
chain management and beyond.
A concept called BFT it is a critical aspect of
distubuted system that ensures they can
handle faults including the malicious nodes.
Now,before we dive into BFT,let’s talk about
distributes systems a distributed system is a
collection of independent computers that
work together to achieve a common goal.
In contrast to a single computer a distributed
system can handle more significant workloads
and provide redundancy and fault tolerance
feature.
FAULT TOLERENCE
Fault tolerant computing may include several levels of tolerance:
At the lowest level, the ability to respond to a power failure, for
example.
A step up: during a system failure, the ability to use a backup system
immediately.
Enhanced fault tolerance: a disk fails, and mirrored disks take over for
it immediately. This provides functionality despite partial system
failure, or graceful degradation, rather than an immediate breakdown
and loss of function.
High level fault tolerant computing: multiple processors collaborate to
scan data and output to detect errors, and then immediately correct
them.
Fault tolerance software may be part of the OS interface, allowing the
programmer to check critical data at specific points during a
transaction.
REDUNDANCY IN
BLOCKCHAIN
Redundancy in blockchain refers to the
distribution of a complete copy of the blockchain
ledger across multiple nodes in the network. This
ensures that if one node fails or is compromised,
the network can continue to operate because other
nodes hold the same data. This characteristic
enhances the fault tolerance and security of the
blockchain system
Redundancy in blockchain
However distributed systems pose unique
challenges including how to ensure that all nodes
agreee on the same result this is where Byzantine
Fault Tolerance comes in.
The classic Byzantine Generals Problem is a
thought experiment that illustrates the challenge
of achieving consensus in a distributed system.
The problem is illustrated as follows:
Imagine a group of Byzantine generals who are
planning to attack a city or fort.The generals are
located at different parts of the city and must
communicate with each other to agree on
strategy.
CLASSIC BYZANTINE
GENERALS PROBLEM
However some of the generals may be traitors
who want to subotage the plan.The problem is
how can loyal generals on a plan that is
resilient to the traitors attempts to disrupt the
process?
In essence the byzantine generals problem
demostrates the challenge of achieving
consensus in a distributed system especially
when some nodes are malicious or faulty.So
that is the problem.Now,what about the
solution?
Well one solution to byzantine generals problem
is PBFT.PBFT is an algorithm that ensures a
group of computers can agree on something
even if some of them are trying to cheat or
disrupt the process.
So,PBFT ensures that a decision is made only
when a majoritu of the nodes agree on it and
that this decision is Final and cannot be
changed.
If a node behaves maliciously the other nodes
can detect this and exclude dishonest nodes
from the consensus process.
However we should equally accountable for the
fact that PBFT is a critical tool for ensuring
security and reliability of distributed system,in
a world where malicious nodes are
increasingly common.
Consensus Algorithms
Trasactions added to the block chain are legitimate and the
network remains secure.
Block chain technology is a popular means of disributed
technology that allows secure and transparent transaction
recording.To ensure the integrity of these transactions
blockchain networks rely on something that is called consensus
algorithms whose job is to ensure the transactions added to the
block chain are legitimate and that the network remains secure.
Different consensus algorithms that are used across the globe
depending on various parameters they are:
POW,POS,POA,BFT,POB,POET
Proof Of Work(POW):
POW is the block chain consensus algorithm
created by Satoshi nakamoto for the bitcoin block
chain n/w.
It works by requiring network participants to solve
a complex mathematical problem which takes a
significant amount of computational power.
The first participant to solve the problem get to
add the next block of transactions to the block
chain and is rewarded with a predetermined
amount of cryptocurrency.This algorithm requires
a large amount of computational power and
energy consumption which eventually makes it
relatively slow and expensive
Proof of stake(POS):
Proof of stake is a consensus algorithm that aims
to address the energy consumption and
computational power problems associated with
proof of work,that is why in proof of stake
instead of solving complex mathematical
problems n/w participants are required to stake a
certain amount of cryptocurrency in the n/w and
then on the basis of this the n/w then randomly
selects a participant to validate the next block of
transactions based on their staked amount and
accordingly this participant is rewarded with
transaction fee for their work and this is what
exactly makes proof of stake a faster and more
energy efficient consensus protocol than POW.
Proof of Authority(POA):
This is a consensus algorithm which is
primarily used in private or consortium
blockchains and in a nut shell the validators in
this network are known and trusted
individuals who are authorized to validate
transactions on the n/w and if seen from a
performance perspective this algorithm is
faster and more efficient than POW or POS or
any of its variant.
BFT
Now we all must have heard of the situations where some
malicious actors have hijacked the control of network
fundamentally to commit a fruad,now byzantine fault
tolerence is a consensus algorithm that is fundamentally
designed to tolerate such malicious actors in a network by
ensuring that all nodes on the n/w agree on the current
state of the block chain.Here the primary goal of BFT is
to achieve consensus even if some of the nodes are
malicious or fail to fuction properly think of it like a
group of people trying to make a decision together .In a
normal situation every one could vote and the decision
with the most votes would win but in BFT system some
of the people lying or giving fake information so it is not
as simple as counting votes.
To solve this problem BFT uses a systm of
checks
Balances that require multiple nodes to agree
on a decision before it is finalized.Thus this
consensus mechanism ensures that all nodes
on the n/w are working together to maintain
the integrity of the block chain.Furthur BFT is
particularly useful in permissioned block chain
n/w’s where nodes are known and trusted.
An Example for BFT includes Hyper Ledger
Fabric.
Proof of Burn(POB):
It is a consensus algorithm that requires
participants to burn a certain amount of
crypto currency in exchange for the right to
validate transactions on the n/w.In order to
burn crypto it is sent to an unspendable
address effectively remove it from circulation
and once it is recorded the participant is
rewarded with a proportional amount of new
crypto currency created by the n/w.
Proof of Elapsed time(POET):
POET this is a consensus algorithm primarily
designed for permissioned block chains and is
developed by intel.In POET nodes compete to
generate a random wait time and the node that
completes the wait time first choosen to create
the next block.Here to ensure that nodes don’t
cheat by generating short wait times,POET uses
special H/W called trusted execution
environments(or)tees that creates a random wait
time and protect it from manipulation
fundamentally poet is more efficient and
environment friendly consensus algorithm than
traditional POW becos it does not require nodes to
perform complex mathematical calculations
instead POET relies on the random wait time
generated by tees.
Choosing the right consensus algorithm is
crucial for the success of the project.You
shouls consider factors like
security,decentralization,efficiency,Scalability
and fairness ,while assesing your choice as a
wrong decision can lead to security
vulnerabilities,centralization,wasted
resources,and even forking.