KEMBAR78
Module 1 - Foundations of Blockchain | PDF | Cryptocurrency | Computer Security
0% found this document useful (0 votes)
54 views57 pages

Module 1 - Foundations of Blockchain

The document outlines the BCSE324L course on Foundations of Blockchain Technology, focusing on the building blocks of blockchain, distributed ledger technology, and smart contracts. It includes objectives, outcomes, a detailed syllabus, and challenges associated with blockchain implementation. Additionally, it discusses various consensus mechanisms, including Practical Byzantine Fault Tolerance and Proof of Work, along with their advantages and disadvantages.
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)
54 views57 pages

Module 1 - Foundations of Blockchain

The document outlines the BCSE324L course on Foundations of Blockchain Technology, focusing on the building blocks of blockchain, distributed ledger technology, and smart contracts. It includes objectives, outcomes, a detailed syllabus, and challenges associated with blockchain implementation. Additionally, it discusses various consensus mechanisms, including Practical Byzantine Fault Tolerance and Proof of Work, along with their advantages and disadvantages.
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/ 57

BCSE324L - FOUNDATIONS OF BLOCKCHAIN TECHNOLOGY

Dr. Senthil Prakash P.N.


Assistant Professor Senior Grade 1,
School of Computer Science and Engineering,
Vellore Institute of Technology,
Chennai – 600127
Objective
• To understand building blocks of Blockchain.

• To understand the significance of Distributed Ledger Technology


and Smart Contract.

• To exploit applications of Blockchain in real world scenarios and


their impacts.
Outcomes
• Understand Blockchain ecosystem and its services in real world
scenarios

• Apply and Analyze the requirement of Distributed Ledger


Technology and Smart Contract

• Design and Demonstrate end-to-end decentralized applications

• Acquaint the protocols and assess their computational


requirements
Syllabus
• Module: 1 Foundations of Blockchain

• Module: 2 Distributed Ledger Technology

• Module: 3 Smart Contracts

• Module: 4 Decentralized Organization

• Module: 5 Types of Blockchain Ecosystem

• Module: 6 Blockchain Protocols

• Module: 7 High Performance Computing


Digital Assignments Schedule
Introduction
• Blockchain is a distributed, immutable ledger that facilitates the process of recording transactions
and tracking assets in a business network. An asset can be tangible (a house, car, cash, land) or
intangible (intellectual property, patents, copyrights, branding).

• Virtually anything of value can be tracked and traded on a blockchain network, reducing risk and
cutting costs for all involved.

Blockchain Blockchain Network


Introduction
Blockchain Architecture
Core components of blockchain architecture :

Node: user or computer within the blockchain architecture (each has an independent copy of the whole
blockchain ledger)

Transaction: smallest building block of a blockchain system (records, information, etc.) that serves as the
purpose of blockchain

Block: a data structure used for keeping a set of transactions which is distributed to all nodes in the network

Chain: a sequence of blocks in a specific order

Miners: specific nodes which perform the block verification process before adding anything to the
blockchain structure

Consensus: a set of rules and arrangements to carry out blockchain operations.


Blockchain Architecture

Structure of the blocks


Blockchain Architecture
Hardware/Infrastructure Layer:

• In this layer, miners will be creating new blocks using


specialized equipment (GPU, ventilator, stabilizer) and
validators running nodes for block mining.

• The infrastructure layer also includes virtual machines,


which act like operating systems and host smart contracts.

• Blockchains often have native virtual machines, such as the


Ethereum Virtual Machine for Ethereum.
Blockchain Architecture
Data Layer:

• The data layer of blockchain technology is primarily


concerned with data storage and structure. It houses the
blockchain, a linear succession of blocks that store
transaction information.

• Every transaction is accompanied by a digital signature, a


cryptographic mechanism that validates the control of the
correct private key without revealing it, thus ensuring
security.
Blockchain Architecture
Network Layer:

The network layer enables effective discovery and


interaction among peers called nodes. Typically, a node
locates a bootnode, which scans for available peers and
initiates bonding. As information circulates, it’s safeguarded
through a Trusted Execution Environment (TEE) to maintain
integrity.
Blockchain Architecture
Consensus Layer:

The protocol layer sets the rules for blockchain


participation, with the consensus mechanism being its key
component. Consensus ensures agreement among nodes for
block mining and processing and outlines validator
requirements, varying across proof-of-work, proof-of-stake,
and other consensus mechanisms.
Blockchain Architecture
Application Layer:

The application layer is the end product of the entire


system offering specific products for the users, i.e., wallet,
lending, staking, etc. The application layer starts with a smart
contract, a programmable code that governs state transitions.
Challenges
Lack of Adoption:
Blockchains work better and more efficiently when used by a large network of users.
According to APQC, only 29% of businesses are actively experimenting with or using blockchain.
Blockchains will remain inefficient and scalable without widespread usage.
Challenges
Scalability:
Blockchain networks can be slow and inefficient due to the high computational requirements
needed to validate transactions. As the number of users, transactions, and applications increases, the
ability of blockchain networks to process and validate them in a timely way becomes strained.
Challenges
Privacy:
In blockchain based real-time applications the clients information won't be completely private
if it's all preserved on a public ledger. Here, blockchain technology in private or consortium settings
may be used.
Challenges
Security:
Even while blockchain-based apps, systems, and businesses are more secure than traditional
computer systems, hackers may still be able to access them. Not just having the government protect our
privacy is the solution. Blockchain self-sovereign IDs will enable us to gather and control our data.
Challenges
Rising Cost of Blockchain Implementation:
Costs associated with implementation may be too high for some businesses. Even though most
existing solutions are free, recruiting competent software engineers specializing in blockchain
development, paying licensing fees if one wishes to switch to a for-profit software version demand a
considerable investment.
Challenges
Illegal Activities:
The proliferation of fraudulent enterprises and other bad actors looking to take advantage of
naive investors has been encouraged by the absence of strict regulations and the fact that blockchain
technology is still in its infancy. Many prominent cryptocurrency exchange thefts including Mt. Gox
bitcoin hack occurred in 2014.
Challenges
Low Workforce Availability:
The nonfungible token (NFT) and DeFi industries have experienced a sharp increase in
nonfungible tokens and projects over the past year, which has caused problems in the labor market.
According to current data, as startups and established companies search for top talent, the demand for
blockchain talent has surged by more than 300%.
Challenges
Energy Consumption:
The process of validating transactions on a blockchain network requires a lot of computing
power, which in turn requires a lot of energy. This has led to concerns about carbon emissions and the
environmental impact of blockchain technology.
Applications
Blockchain Architecture
Application Layer:

The application layer is the end product of the entire


system offering specific products for the users, i.e., wallet,
lending, staking, etc. The application layer starts with a smart
contract, a programmable code that governs state transitions.
Byzantine Fault Tolerance
Byzantine General Problem:
• The classic Byzantine Generals Problem is a well-known problem in distributed systems
that illustrates the challenges of achieving consensus in a network with faulty or malicious
nodes.
• The problem is as follows: a group of Byzantine generals are surrounding a city and must
coordinate their attack. The generals can only communicate with each other through
messengers, and some of the generals may be traitors who will send false information to
the other generals.
Byzantine Fault Tolerance
Byzantine General Problem:
• How can a loyal generals agree on a plan that is resilient to the traitors attempt to disrupt
the process?
• Byzantine faults in blockchain network may typically take the form of conflicting
information regarding transaction data, which may involve a miner or validator proposing
an invalid block or attempting to validate an invalid transaction.
• Therefore, the purpose of consensus protocols is to eliminate such faults and achieve
100% Byzantine fault tolerance.
Practical Byzantine Fault Tolerance
Practical Byzantine Fault Tolerance (PBFT) is designed to be fast and efficient while still
providing strong Byzantine Fault Tolerance. In PBFT, nodes are divided into three groups: a leader
node, a set of replica nodes, and a set of client nodes. In the PBFT, consensus happens through the
following five steps:
• The client makes a request and sends it to the leader node (or primary node).
• The primary node broadcasts the request to all the secondary(backup) nodes. It is called the
pre-prepare phase.
• Then every node (primary and secondary) sends a prepare message to all other nodes.
• Once every node receives (n/3)+1 prepare messages, it sends a commit message to all other
nodes and commits the changes made by the client's request.
• Once every node receives (n/3)+1 commit messages from other nodes, it sends a reply to the
client.
Practical Byzantine Fault Tolerance
In the Practical Byzantine Fault Tolerance (PBFT), consensus happens through the following
five steps:
Practical Byzantine Fault Tolerance
Advantages:
• Energy Efficient – PBFT does not need to compute complex mathematical problems to
reach a consensus.
• Faster transaction finality – PBFT does not require any confirmations, it is much more efficient than
other consensus algorithms.
• Low reward variance – In PBFT, every node is participating in processing the client's request.
Disadvantages:
• Sybil attacks – A distributed network using PBFT is susceptible to Sybil attacks if one entity controls
many nodes in the network.
• Scalability – As the number of nodes in the network increases, communication overhead (messages
sent to other nodes) increases.
Federated Byzantine Agreement
Each node in a federated network that is structured into FBA manages its own local state and
interacts with other nodes to reach a consensus. The fundamental principle of FBA is that
each node simply needs to agree on a set of rules for validating and ordering transactions,
rather than having to agree on the state of the system as a whole.
• Each participating node keeps track of its own local state, which includes a copy of the
shared ledger and a list of other nodes in the network that it trusts.
• Any node in the network has the ability to put forth a new transaction for the shared
ledger.
• Following the submission of a transaction proposal, the federated network votes to decide
whether the transaction should be approved or disapproved.
Federated Byzantine Agreement
• FBA uses the idea of “quorum slices” to establish voting thresholds. A subset of trusted
nodes necessary for a transaction to be accepted is known as a quorum slice. Every node
has its own quorum slice, which when combined with all other quorum slices creates the
global quorum.
• Voting is done by nodes inside their respective quorum slices to reach agreements and
validate transactions. The transaction is broadcast to the network as accepted if a node
receives enough affirmative votes from its quorum slice to deem the transaction to be
approved.
• Each network node adds a transaction to the shared ledger after it has been verified. The
shared ledger is maintained uniformly throughout the network by having all nodes update
their local state accordingly.
Federated Byzantine Agreement
Advantages:
• Open membership and decentralized control
• No gatekeeper or central authority — individual nodes can decide whom they trust for
information.
• Low latency as transactions can be closed in just a few seconds

Disadvantages:
• One of the main limitations of FBA is that it is more complex than PBFT, as it requires
nodes to manage multiple sub-networks and consensus mechanisms.
Asynchronous Byzantine Agreement
• Asynchronous Byzantine Agreement is designed to achieve consensus among a group of
nodes even when the network communication is prone to unpredictable delays and
message losses or other asynchronous behaviors.
• It aims to allow loyal nodes to agree on a common decision and further ensuring the
consensus reached in a fault-tolerant manner.
• Asynchronous Byzantine Agreement protocol works in multiple rounds, allowing nodes to
exchange messages and progressively converge towards a shared decision.
Asynchronous Byzantine Agreement
• Asynchronous Byzantine Agreement protocol has the following steps
• Initialization
• Proposal & Broadcasting
• Message Exchange
• Update & Broadcasting
• Iteration
• Decision
Asynchronous Byzantine Agreement

Reference: Bracha, G. (1987). Asynchronous Byzantine Agreement Protocols. Inf. Comput., 75, 130-143.
Asynchronous Atomic Broadcast Protocol (AAP)
• Ensures reliable and consistent message delivery in asynchronous distributed systems, like
blockchain networks. Guarantees that all processes receive messages in the same order, even in the
presence of failures.
Working Mechanism:
• Message Sending:
A node sends a message to a designated sequencer.
• Sequencing:
The sequencer assigns a unique sequence number to each message. It broadcasts the message
along with its sequence number to all nodes.
• Message Delivery:
Nodes deliver messages in sequence number order. If a node misses a message, it requests
retransmission from other nodes.
GARAY Model
• GARAY model refers to the Bitcoin Backbone protocol, also known as the "Bitcoin
Backbone" or the "Garay-Kiayias-Leonardos (GKL) model".
• This model formally analyzes the core security guarantees of consensus mechanisms in
blockchains like Bitcoin and Ethereum.
• Properties of Bitcoin Backbone protocol:
✓ Common Prefix
✓ Chain Quality
✓ Chain Growth

Reference: Garay, Juan A. et al. “The Bitcoin Backbone Protocol: Analysis and Applications.” IACR
Cryptol. ePrint Arch. 2014 (2015): 765.
GARAY Model
Double Spending:
• A crucial issue in Bitcoin (or any electronic payment system) is the need to

prevent double-spending attacks.


• In the case of Bitcoin, a double-spending attack can occur when an attacker first

transfer funds to an account to obtain goods or services from the account holder,
and then manipulates the transaction history to reverse the initial credit to the
account holder.
• This allows the attacker to retain their bitcoin while still benefiting from the goods

or services received, enabling them to spend the same bitcoin elsewhere.


GARAY Model
Double Spending:
GARAY Model
• Common Prefix (consistency and integrity): The common prefix property Qcp with
parameter k ∈ N states that for any pair of honest players P1, P2 adopting the chains C1, C2
then it holds as long as removing k blocks from P1 honest party’s chain results to a prefix
of P2 honest party’s chain.
• Chain Quality (security and efficiency): The chain quality property Qcq with parameters µ
∈ R and l ∈ N states that for any honest party P with chain C it holds that for any
consecutive blocks of length l the ratio of honest blocks is at least µ.
• Chain Growth (reliability and security): The chain growth property Qcg with parameters τ
∈ R and s ∈ N states that for any honest party P that has a chain C it holds that after any s
consecutive rounds it adopts a chain that is at least τ · s blocks longer than C.
GARAY Model

Overview of the basic operation of the Bitcoin backbone protocol


GARAY Model
Proof of Work (PoW):
• The Proof of Work consensus algorithm involves solving a computationally challenging
puzzle in order to create new blocks in the Bitcoin blockchain. The process is known as
‘mining’, and the nodes in the network that engages in mining are known as ‘miners’.

• A Proof-of-Work (PoW) consensus algorithm works so that each miner needs to cross the
difficulty level to prove the block valid. A block is only marked as “valid” if the hash value
of the entire block is below the difficulty hash. A block contains crucial transaction
information that can’t be changed. So, the Miners change the nonce to get the hash lower
than the difficulty threshold.
GARAY Model
Proof of Work (PoW):
Miners collect a set of transactions
tx = (tx1, tx2, tx3, …) SHA-256 (.)

Then do “work”
ctr := 0; while Hash(ctr; Hash(𝜏, tx)) > T do ctr++
T: block’s “target” (difficulty level)
(T= 000000000000000000049ca90000000000000000000000000000000000000000)

If while loop terminates “broadcast” (𝜏, ctr, tx)


(new “block”: state, counter, set of transactions)
GARAY Model
Proof of Work (PoW):
In the receiver side,

if a vector (𝜏’, ctr’ tx’) is received, check


(𝜏 = 𝜏’) and (Hash(ctr’, Hash(𝜏, tx’)) <= T)

Extend the transaction ledger


𝜏:= 𝜏’ || tx’
GARAY Model
Proof of Stake (PoS):
• Proof-of-stake reduces the amount of computational work needed to verify blocks and
transactions.
• Proof-of-stake changes the way blocks are verified using the machines of coin owners, so
there doesn't need to be as much computational work done.
• Validators are selected randomly to confirm transactions and validate block information.
This system randomizes who gets to collect fees rather than using a competitive rewards-
based mechanism like proof-of-work.
GARAY Model
Proof of Stake (PoS) vs Proof of Work:

Proof of Stake Proof of Work


Block creators are called validators Block creators are called miners

Participants must own coins or tokens to Participants must buy equipment and
become a validator energy to become a miner

Energy efficient Not energy efficient


Robust security due to expensive upfront
Security through community control
requirement
Validators receive transactions fees as
Miners receive block rewards
rewards
Basis of Bitcoin
Dapps
All the best . . .

You might also like