0% found this document useful (0 votes)
5 views

Blockchain As A Distributed System

Uploaded by

Haris Balaji
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)
5 views

Blockchain As A Distributed System

Uploaded by

Haris Balaji
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/ 17

Blockchain as a Distributed

System
21CSPH0 Blockchain Technology and Applications
Dharani J
Three Pillars behind the technology
• Distributed Systems
• Crypto
• Economic Models (Crytocurrency)
Recall – A Distributed Ledger

Distributed Ledger
Core Problem

Adding a Block to the Distributed Ledger


Problem:
Other nodes need to agree on this new block – The Classical Distributed
Consensus Problem
Consensus
What is Consensus?
• A mechanism to reach an agreement in a distributed platform
• Nodes converging to a common point (value)

Why Consensus?
• To achieve consistency/common view of the system
Examples
• A bunch of friends deciding which café to visit next is an agreement
• Citizens of a nation electing a government also constitutes an
agreement
Distributed Consensus
• Problem: Four friends deciding on how to spend the weekend.
Choices: Movie or play a good sport
Possible Solutions
1. One of them take the authority and conveys the choices and result
to the others (Centralized)
2. Each one communicate with every other friend and then make a
decision (Decentralized)
Decision based on Majority voting
Possible Solutions
1. Centralized - 6 phone calls but need a trusted one
2. Decentralized - 12 phone calls and Trustless

Decentralized: Byzantine behavior – Classical problem in distributed


systems
Requirements of Distributed Consensus
• Agreement: Every honest node must agree on the same value
• Termination: Every honest node terminate and eventually reach a
decision
• Validity: The value agreed upon by all honest nodes must be a value
proposed by at least one honest node.
• Fault tolerant: The algorithm should run even in the presence of
faulty or malicious node
• Integrity: This is a requirement where by no node makes the decision
more than once.
Correctness Guarantee
Safety: Honest parties agree only on correct value (do not agree on
an incorrect value)
• Assures nothing bad happened

Liveness: Every correct value must be accepted eventually


• Something good eventually happens
FLP Impossibility Theorem
Impossibility result by Fischer, Lynch, and Patterson ‘FLP85 (Most
Influential Paper Award in ACM PODC 2021):
• In a purely asynchronous distributed system, the consensus is
impossible to solve in the presence of a single crash failure.

• Implication: Correctness is not guaranteed i.e., Both Safety and


Liveness cannot be achieved
Synchronous vs Asynchronous Systems
Synchronous Message Passing System:
• Message must be received within a predefined time interval
• Strong guarantee on message transmission delay
Asynchronous Message Passing System:
• No upper bound on the message transmission delay
• Message can be delayed for arbitrary period of times
Challenges in Distributed Consensus
Types of faults in distributed systems
• Crash Fault – node crash
• Byzantine Faults – node behaves maliciously
Distributed Consensus - Literature

• 1989: Leslie Lamport proposed Paxos Algorithm

• Paxos algorithm – Safety over liveness is guaranteed

• 1990: Correctness was questionable – Paper got rejected

• 1998: Paxos algorithm got published

• Leslie, Lamport. "The part-time parliament." ACM Trans. on Computer


Systems 16 (1998): 133-169.
Distributed Consensus - Literature

• 2001: Distributed systems got popular

• 2009: Zookeeper released – Service for managing distributed applications


• 2010 onwards:
• Multi-Paxos
• Raft
• Byzantine Fault Tolerance
• Practical Byzantine Fault Tolerance (PBFT)
Summary
• Blockchain needs consensus
• Vast literature distributed consensus
• Can we use them for blockchain?

You might also like