0% found this document useful (0 votes)
222 views10 pages

RGPV Is501 Unit2 Notes

Uploaded by

Aayush Sinha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
0% found this document useful (0 votes)
222 views10 pages

RGPV Is501 Unit2 Notes

Uploaded by

Aayush Sinha
Copyright
© © All Rights Reserved
We take content rights seriously. If you suspect this is your content, claim it here.
Available Formats
Download as PDF, TXT or read online on Scribd
You are on page 1/ 10

Unit 2

2.1 Blockchain Consensus Algorithm challenges and solutions


A consensus mechanism enables the blockchain network to attain reliability and
build a level of trust between different nodes, while ensuring security in the
environment.

Objectives of Blockchain Consensus Mechanism


Unified Agreement

Consensus mechanisms aim to achieve unified agreement in decentralized


systems.

Users can operate without building trust in each other whereas in centralized
systems where trust in authority is crucial.

Protocols in distributed blockchain networks ensure the accuracy and


truthfulness of data.

The public ledger's status is maintained as up-to-date through embedded


protocols.

Align Economic Incentive

When it comes to building a trustless system that regulates on its own,


aligning the interests of participants in the network is a must.

A consensus blockchain protocol, in this situation, offers rewards for good


behavior and punishes the bad actors. This way, it ensures regulating
economic incentives too.

Fair & Equitable

Consensus mechanisms enable anyone to participate in the network and use


the same basics.

Unit 2 1
This way, it justifies the open-source and decentralization property of the
blockchain system.

Prevent Double Spending

Consensus mechanisms works on the basis of certain algorithms that ensures


that only those transactions are included in the public transparent ledger
which are verified and valid.

This solves the traditional problem of double-spending, i.e, the problem of


spending a digital currency twice.

Fault Tolerant

Another characteristic of the Consensus method is that it ensures that the


blockchain is fault-tolerant, consistent, and reliable. That means, the governed
system would work indefinite times even in the case of failures and threats.

Properties of a Good Blockchain Consensus Mechanism

1. Safety
In a good consensus mechanism, all the nodes are capable of generating results
that are valid according to the rules of protocol.

2. Inclusive
A good consensus blockchain mechanism ensures that every particular node of
the network participates in the process of voting.
3. Participatory

A consensus mechanism where all the nodes actively participate and contribute to
updating databases on Blockchain is called a Good consensus model.
4. Egalitarian

Another trait of a good mechanism is that it gives equal value and weightage to
every vote received from the node.

Unit 2 2
Consequences of Choosing a Bad Consensus Protocol

1. Blockchain Forks
Choosing a poor blockchain consensus method increases the vulnerability of the
chain. One such vulnerability that is faced by the blockchain enthusiasts and
developers is Blockchain Forks.
Blockchain forks, in a layman language, is a situation or circumstances under
which a single chain diverges into two or more.

2. Poor Performance

When a bad consensus blockchain mechanism is considered, either the node gets
malfunctioned or suffers from network partition. This delays the process of
exchanging messages between nodes and increases the latency of the application

3. Consensus Failure

Another effect of incorporating a bad consensus mechanism to your business


model is consensus failure. In this situation, a fraction of nodes fails to participate
in any process and thus, in the absence of their votes, the consensus fails to
deliver accurate and desired outcomes.

2.2 Modeling faults and adversaries


Adversary in simple language can be explained as the opponent or enemy who try
to get some confidential information or data. Basically it is a type of effort that
attempt to get secret data,
corrupting the system

Unit 2 3
1. Crash Faults

In this type of adversaries nodes go permanently offline. This kind of protocol


deviating behaviour is known as crash fault. This type of adversary happens when
disruption or termination in the internet connection takes place.

2. Passive adversaries

Those messages that cannot be read by third party but somewhere protocol
got disruppted so it is called passive adversaries.

These adversaries were a threat to protocols where confidential information


was supposed to be transmitted.

Encryption and Public Key Infrastructure are techniques used to retain privacy,
data integrity, and security in the Passive Adversarial Model.

3. Byzantine adversaries

The next step was for protocols to handle adversaries that could use the
information which they gathered to act arbitrarily. This could include sending false
or conflicting messages. These adversaries were called Byzantine or active
adversaries.

2.3 Byzantine Models of Fault tolerance

Byzantine Generals’ problem

Unit 2 4
Just as most distributed computing systems, the participants of a cryptocurrency
network need to regularly agree on the current state of the blockchain, and that is
what we call consensus achievement. However, reaching consensus on
distributed networks, in a safe and efficient way, is far from being an easy task.

So, how can a distributed network of computer nodes agree on a decision, if some
of the nodes are likely to fail or to act dishonestly? This is the fundamental
question of the so-called Byzantine Generals’ problem, which gave birth to the
concept of Byzantine fault tolerance.

Byzantine Fault Tolerance (BFT)


Byzantine fault tolerance (BFT) is the property of a system that is able to resist the
class of failures derived from the Byzantine Generals’ Problem. This means that a
BFT system is able to continue operating even if some of the nodes fail or act
maliciously.

With a BFT system, blockchain networks keep functioning or implementing


planned actions as long as most network participants are reliable and genuine.
This means that over half or two-thirds of the nodes on the blockchain network
must agree to validate a transaction and add it to the block.
There is more than one possible solution to the Byzantine Generals’ Problem and,
therefore, multiple ways of building a BFT system. Likewise, there are different
approaches for a blockchain to achieve Byzantine fault tolerance and this leads us
to the so-called consensus algorithms.

Blockchain technology relies on Byzantine fault tolerance for these reasons:

BFT keeps the blockchain network continuously functional, even with some
disagreeing nodes.

It keeps the network secure, preventing malice which can come in the form of
a 51% attack (or Sybil attacks) or double-spending.

Unit 2 5
2.4 Zero Knowledge Proofs
What is Zero Knowledge Proof?

Zero-knowledge Proof is an encryption scheme proposed by MIT


researchers Silvio Micali, Shafi Goldwasser, and Charles Rackoff in the 1980s. In
this method, one party (Prover) can prove that a specific statement is true to the
other party (Verifier) without disclosing any additional information.

Zero Knowledge Encryption makes sure that no one, except you (not even the
service provider or blockchain app development agency) can access your
secured data.

Properties of Zero-Knowledge Proofs

Unit 2 6
1. Completeness

If the statement is true and both users follow the rules religiously, then the verifier
would be convinced without any external help.
2. Soundness
If the statement is false, the verifier won’t be convinced in any scenario (even if
the prover says that the statement is true for some small probability).
3. Zero-Knowledge
In both cases, verifier won’t be able to know any information beyond that the
statement is true or false.
Types of Zero Knowledge Proofs
1. Interactive Zero-Knowledge Proof

In an interactive zero-knowledge proof, a prover performs a series of actions


under the mechanism of mathematical probability to convince the verifier of a
particular fact.

2. Non-Interactive Zero-Knowledge Proof (NIZKP)


As depicted from the name, Non-interactive zero knowledge proof does not
require an interactive process. Meaning, the prover can generate all the
challenges at once and verifier(s) can later respond. This restricts the possibility
of collusion. However, it requires additional machines and software to find out the
sequence of experiments.

Benefits of Zero Knowledge Proofs (ZKPs)

Unit 2 7
1. Simple – One of the prime advantages of zero knowledge cryptography is that
it does not involve any complex encryption method.

2. Secure – It does not require anyone to reveal any sort of information.

3. Transactions ─ Another assuring benefit associated with ZKPs refers to the


shortening of transactions on blockchain. As a result, users would not have to
worry about information storage for including compatibility and identity with
different types of assets.

Disadvantages of Zero Knowledge Proofs

1. Lengthy – In the zero knowledge technology, there are around 2k


computations, with each requiring a certain amount of time to process. This is
the foremost con of going with zero-knowledge proof.

2. Imperfect – The messages delivered to verifier/prover might be destroyed or


modified.

3. Limited – The zero-knowledge protocol demands the secret to be a numerical


value. In other cases, a translation is required.

2.5 Protocols in Blockchain


Think of protocols as the rulebook for how blockchains work. Blockchains are
extensive decentralized networks with lots of connected computers. Protocols are
the ones in charge of deciding how all these computers share and send data with
each other in the network.
How Does Blockchain Protocol Work?
Suppose there is a transaction between two individuals A and B.

Individual A makes a request to make a transaction. A block for ‘A’ is created.


This block once created cannot be altered. This is done by the blockchain
protocol.

After this, the block is sent to each and everyone in the network. This
distribution of blocks across the network is also done by protocols.

The nodes verify the transaction.

Unit 2 8
After the verification, a reward is sent to each node. The sending of incentives
is also managed by protocol. Upon successful transaction, the block is added
to the list. Protocols update the database. The updated database is distributed
across the network by the protocols so that each user has access to the
summary of the whole network.

After this the transaction is complete.

So there is the involvement of protocols at each step for a secured


transaction. Therefore the whole crypto network is secured, scalable and
consistent.

Five Types of Blockchain Protocols Which are Widely Accepted

1. Hyperledger - Hyperledger is an open-source framework that is developed


by Linux. It helps the enterprises to provide blockchain solutions, and how to
create a secured blockchain protocol. Hyperledger also has an extensive
library which can help developers build applications. The solutions are crypto-
agnostic which means the functionality of the blockchain does not depend on
the price of crypto.

2. Multichain - It is a blockchain protocol built for communication within


organisations or between organisations. Multichain provides solutions for

Unit 2 9
private blockchains. Multi-chain provides an API which can be utilised for the
development of blockchain solutions. According to the multi-chain website, it
cuts down the development time by almost 80%.

3. Ethereum - The Ethereum blockchain is perhaps the most explored blockchain


to date. It allows the creation of Decentralised finance platforms, NFTs, and
Smart contracts with various applications. Ethereum is an open-source public
blockchain which runs on the Proof of Stake Consensus mechanism.
Decentralised Autonomous Organisations( DAOs) can build Smart contracts on
this blockchain. These DAOs have their constitution, voting methods,
tokenomics, treasury and reward system.

4. Quorum - It is an open-source solution for companies in the finance sector. It


is backed by JP Morgan which enables the use of Ethereum to build
applications for specific uses. Quorum blockchain service can be run through
a Microsoft Azure account and can be easily deployed from the Azure
marketplace.

5. Corda - It is an open-source project which enables interoperability, which is


the power of exchanging information between various blockchains.
Transactions performed using Corda are transparent and highly anonymised at
the same time.

Unit 2 10

You might also like