SlideShare a Scribd company logo
Dilum Bandara, PhD
Dept. of Computer Science & Engineering,
University of Moratuwa
Colombo Blockchain Dev Meetup, Sep 4, 2018
2
ID Assets
Alice 500
Bob 1,000
Peter 500
Rani Plot 123 @ Col 7
Rasa
Mango
Polonnaruwa,
Org. #45781
ID Assets
Alice 500
Bob 1,000
Peter 500
Rani Plot 123 @ Col 7
Rasa
Mango
Polonnaruwa,
Org. #45781
ID Assets
Alice 500
Bob 1,000
Peter 500
Rani Plot 123 @ Col 7
Rasa
Mango
Polonnaruwa,
Org. #45781
ID Assets
Alice 500
Bob 1,000
Peter 500
Rani Plot 123 @ Col 7
Rasa
Mango
Polonnaruwa,
Org. #45781
3
ID Assets
Alice 500
Bob 1,000
Peter 500
Rani Plot 123 @ Col 7
Rasa
Mango
Polonnaruwa,
Org. #45781
ID Assets
Alice 500
Bob 1,000
Peter 500
Rani Plot 123 @ Col 7
Rasa
Mango
Polonnaruwa,
Org. #45781
ID Assets
Alice 500
Bob 1,000
Peter 500
Rani Plot 123 @ Col 7
Rasa
Mango
Polonnaruwa,
Org. #45781
ID Assets
Bob 1,000
Peter 500
Rasa
Mango
Polonnaruwa,
Org. #45781
ID Assets
Alice 500
Peter 500
Rani Plot 123 @ Col 7
Rasa
Mango
Polonnaruwa,
Org. #45781
ID Assets
Alice 500
Bob 1,000
Rani Plot 123 @ Col 7
4
ID Assets
Alice 500
Bob 1,000
Peter 500
A
ID Assets
Alice
Bob
Peter 500
B
ID Assets
Alice 200 500
Bob 1,300 1,000
Peter 500
P
Transfer 300 to Bob
200 500
1,300 1,000
• Alice may initiate request from
her node or any other node
• No of messages increase with no
of ledger copies
5
ID Assets
Alice 500
Bob 1,000
Peter 500
A
ID Assets
Alice
Bob
Peter 500
B
ID Assets
Alice 500
Bob 1,000
Peter 500
P
Transfer 300 to Bob
200 500
1,300 1,000
• Likeliness of failure increases
with no of ledger copies
6
ID Assets
Alice 500
Bob 1,000
Peter 500
A
ID Assets
Alice 200 500
Bob 1,300 1,000
Peter 500
B
ID Assets
Alice 100 500
Bob 1,000
Peter 900 500
P
Transfer 300 to Bob
• Likeliness of attack increases
with no of ledger copies
Blockchain concept focuses on Public-Key Cryptography &
Hashing
Implementation needs to address many distributed system
problems
 Timing & Ordering
 Consensus
 CAP Theorem
Distributed systems research community seems to not care
Lots of others want to solve these problems due to monetary
benefits (e.g., cryptocurrency)
7
8
ID Assets
Alice 200 500
Bob 1,300 1,000
Peter 500
A
ID Assets
Alice 200 500
Bob 1,300 1,000
Peter 500
B
ID Assets
Alice 500
Bob 1,000
Peter 500
P
Transfer 300 to Bob
t = 10 t = 12
Transfer 1,200 to Peter t = 15t = 18
t = 16t = 18
Reject
Accept
• Inconsistent ledger due to
concurrent transactions (TXs)
• Inconsistency increases with no
of ledger copies
 Use of sender’s time to order TXs not reliable
 Clocks aren’t accurate – Drift & skew
 Difficult to sync them & keep them synched
 Sender could change time to game the system
 Global ordering of TXs
 Lamport’s time stamp
 A logical counter that increments when messages
are send & received
 Lamport’s Totally Ordered Multicast
 Vector clocks
 Address “lower logical clock doesn’t guarantee
happened before relationship” in Lamport’s time stamp
 Doesn’t scale with no of ledger copies
9
 No concurrent TXs related to same account in same block
 E.g., Bitcoin, Ethereum, & Hyperledger
 Low transaction throughput – 3-6 TX/Sec
 Store global state in a database (RDBMS or NO-SQL) & proof of
existence on Blockchain
 E.g., Stellar & BigchainDB
 Fully or semi-centralized
 Not quite Blockchain
 Need more scalable concurrent transaction support
 High throughput
 Low Latency
10
 2 Blue armies need to simultaneously attack or retreat
 Blue army have to communicate across area controlled by White army
 White army area  Unreliable communication channel
 Goal – 2 blue armies to reach agreement about attacking
11
Source:
www.ee.surrey.ac.uk/Projects/CAL/networks/
Network-Transport_Application_Layers.htm
Agreement in the judgment or opinion reached by a
group as a whole
 Getting 2 nodes to agree is hard
 Getting many nodes to agree is even harder
Achieving consensus under:
 Unreliable communication – Partition tolerance
 Failed nodes – Fault tolerance
 Misbehaving nodes – Byzantine fault tolerance
12
13
I have a plan – Let’s attack at dawn tomorrow
Splendid idea, A! See you at dawn tomorrow!
Received message. We are ready for the battle.
Received acknowledgement. We are also ready
Blue 1
Blue 2
Gotcha,
I lied
“It’s impossible for a web service to provide following 3
guarantees at the same time” (Eric Brewer, 2000)
 Consistency
 Availability
 Partition-tolerance
14
ID Assets
Alice 500
Bob 1,300 1,000
Peter 200 500
ID Assets
Alice 500
Bob 1,300 1,000
Peter 200 500
Peter = 200
Peter = 500
Nodes loose network
connectivity
 Networks will partition!
 Partition tolerance is mandatory in
distributed systems
So, choose Consistency or
Availability…
 Blockchain needs to be Available
 Ledger needs to be Consistent
 Consensus  Consistency
15
C A
P
Required
 No guarantee that a TX will be included in next block
 Leader election
 Selected leader decides on what goes into block
 Believe leader’s block/ledger as ground truth
 How to elect leader?
 Proof of Authority (PoA) – e.g., VeChain, Kovan (Ethereum testnet)
 Based on trust – e.g., Stellar
 Random leader
 Based on votes – e.g., Hyperledger Fabric & Sawtooth
 Proof of Stake – e.g., Hyperledger Iroha
 Proof of Brain – Steem
 Fast
 Consistency depends on leader
16
 Proof of Work
 Believe 1st one that solves a given puzzle
 Puzzle should be difficult to compute (no short-cuts), but easy check
 E.g., calculating a hash with specific no of 0/1 bits
 Anyone can compete & difficult to game
 Slow & expensive
 Multiple truths may exist for a while
 Longest chain wins
 New truth may replace current truth  Some TXs need to be reversed
 E.g., wait for 6 blocks in Bitcoin to confirm a TX
 TXs need to be fast, persistent, & low cost
17
 Low-latency TX processing
 Inclusion guarantees
 Fast confirmations
 Persistence
 High-throughput Concurrent TX processing
 Low cost
 Truly distributed ledger
 Beyond proof of existence 18
Distributed
System
Problems
Blockchain
 Working systems used & contributed by many
 But
 Slow
 No guarantees
 High cost
 Not scalable

More Related Content

Similar to Blockchain - A Catalyst for Solving Age-old Distributed Systems Problems

Blockchain Introduction
Blockchain IntroductionBlockchain Introduction
Blockchain Introduction
Kaushik Dutta
 
01 what is blockchain
01 what is blockchain01 what is blockchain
01 what is blockchain
BastianBlankenburg
 
2018 SAI workshop blockchain Kristof Verslype
2018 SAI  workshop blockchain Kristof Verslype2018 SAI  workshop blockchain Kristof Verslype
2018 SAI workshop blockchain Kristof Verslype
Smals
 
c13n - Lightning Network - Greek Bitcoin Meetup.pdf
c13n - Lightning Network - Greek Bitcoin Meetup.pdfc13n - Lightning Network - Greek Bitcoin Meetup.pdf
c13n - Lightning Network - Greek Bitcoin Meetup.pdf
dimitrist
 
BlockChain for the Banker
BlockChain for the BankerBlockChain for the Banker
BlockChain for the Banker
Bohdan Szymanik
 
Blockchain Technology and Cryptocurrency
Blockchain Technology and CryptocurrencyBlockchain Technology and Cryptocurrency
Blockchain Technology and Cryptocurrency
AdityaSingh1213
 
crypto ppt.ppt
crypto ppt.pptcrypto ppt.ppt
crypto ppt.ppt
SakshiRawat394090
 
fbc final ppt.pptx
fbc final ppt.pptxfbc final ppt.pptx
fbc final ppt.pptx
ssuser1ecf25
 
Deja vu Security - Blockchain Security Summit - Adam Cecchetti
Deja vu Security - Blockchain Security Summit - Adam CecchettiDeja vu Security - Blockchain Security Summit - Adam Cecchetti
Deja vu Security - Blockchain Security Summit - Adam Cecchetti
Scott Strang
 
A beginners Guide to NFTs.pdf
A beginners Guide to NFTs.pdfA beginners Guide to NFTs.pdf
A beginners Guide to NFTs.pdf
Akash Agrawal
 
Bitcoin (BTC) vs Bitcoin Cash (BCH)
Bitcoin (BTC) vs Bitcoin Cash (BCH)Bitcoin (BTC) vs Bitcoin Cash (BCH)
Bitcoin (BTC) vs Bitcoin Cash (BCH)
Aleksandar Svetski
 
Token btlcoin btlcoin
Token btlcoin btlcoinToken btlcoin btlcoin
Token btlcoin btlcoin
btlcoin token
 
Demystifying Blockchain for businesses
Demystifying Blockchain for businessesDemystifying Blockchain for businesses
Demystifying Blockchain for businesses
Scott Turner
 
Blockchain Explained
Blockchain Explained Blockchain Explained
Blockchain Explained
wedefine
 
Blockchain - A Solution For Nothing
Blockchain - A Solution For NothingBlockchain - A Solution For Nothing
Blockchain - A Solution For Nothing
Yash Gadhiya
 
Ethereum Mining How To
Ethereum Mining How ToEthereum Mining How To
Ethereum Mining How To
Nugroho Gito
 
State of Crypto in 2019
State of Crypto in 2019State of Crypto in 2019
State of Crypto in 2019
Kleiner Perkins
 
Ethereum Casper Protocol
Ethereum Casper ProtocolEthereum Casper Protocol
Ethereum Casper Protocol
Farjad Noor
 
Cryptomania! The Past and Future of Digital Distributed Consensus
Cryptomania! The Past and Future of Digital Distributed ConsensusCryptomania! The Past and Future of Digital Distributed Consensus
Cryptomania! The Past and Future of Digital Distributed Consensus
Dallas Kennedy
 
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Svetlin Nakov
 

Similar to Blockchain - A Catalyst for Solving Age-old Distributed Systems Problems (20)

Blockchain Introduction
Blockchain IntroductionBlockchain Introduction
Blockchain Introduction
 
01 what is blockchain
01 what is blockchain01 what is blockchain
01 what is blockchain
 
2018 SAI workshop blockchain Kristof Verslype
2018 SAI  workshop blockchain Kristof Verslype2018 SAI  workshop blockchain Kristof Verslype
2018 SAI workshop blockchain Kristof Verslype
 
c13n - Lightning Network - Greek Bitcoin Meetup.pdf
c13n - Lightning Network - Greek Bitcoin Meetup.pdfc13n - Lightning Network - Greek Bitcoin Meetup.pdf
c13n - Lightning Network - Greek Bitcoin Meetup.pdf
 
BlockChain for the Banker
BlockChain for the BankerBlockChain for the Banker
BlockChain for the Banker
 
Blockchain Technology and Cryptocurrency
Blockchain Technology and CryptocurrencyBlockchain Technology and Cryptocurrency
Blockchain Technology and Cryptocurrency
 
crypto ppt.ppt
crypto ppt.pptcrypto ppt.ppt
crypto ppt.ppt
 
fbc final ppt.pptx
fbc final ppt.pptxfbc final ppt.pptx
fbc final ppt.pptx
 
Deja vu Security - Blockchain Security Summit - Adam Cecchetti
Deja vu Security - Blockchain Security Summit - Adam CecchettiDeja vu Security - Blockchain Security Summit - Adam Cecchetti
Deja vu Security - Blockchain Security Summit - Adam Cecchetti
 
A beginners Guide to NFTs.pdf
A beginners Guide to NFTs.pdfA beginners Guide to NFTs.pdf
A beginners Guide to NFTs.pdf
 
Bitcoin (BTC) vs Bitcoin Cash (BCH)
Bitcoin (BTC) vs Bitcoin Cash (BCH)Bitcoin (BTC) vs Bitcoin Cash (BCH)
Bitcoin (BTC) vs Bitcoin Cash (BCH)
 
Token btlcoin btlcoin
Token btlcoin btlcoinToken btlcoin btlcoin
Token btlcoin btlcoin
 
Demystifying Blockchain for businesses
Demystifying Blockchain for businessesDemystifying Blockchain for businesses
Demystifying Blockchain for businesses
 
Blockchain Explained
Blockchain Explained Blockchain Explained
Blockchain Explained
 
Blockchain - A Solution For Nothing
Blockchain - A Solution For NothingBlockchain - A Solution For Nothing
Blockchain - A Solution For Nothing
 
Ethereum Mining How To
Ethereum Mining How ToEthereum Mining How To
Ethereum Mining How To
 
State of Crypto in 2019
State of Crypto in 2019State of Crypto in 2019
State of Crypto in 2019
 
Ethereum Casper Protocol
Ethereum Casper ProtocolEthereum Casper Protocol
Ethereum Casper Protocol
 
Cryptomania! The Past and Future of Digital Distributed Consensus
Cryptomania! The Past and Future of Digital Distributed ConsensusCryptomania! The Past and Future of Digital Distributed Consensus
Cryptomania! The Past and Future of Digital Distributed Consensus
 
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
Consensus Algorithms - Nakov @ jProfessionals - Jan 2018
 

More from Dilum Bandara

Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
Dilum Bandara
 
Time Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in PracticeTime Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in Practice
Dilum Bandara
 
Introduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCAIntroduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCA
Dilum Bandara
 
Introduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive AnalyticsIntroduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive Analytics
Dilum Bandara
 
Introduction to Concurrent Data Structures
Introduction to Concurrent Data StructuresIntroduction to Concurrent Data Structures
Introduction to Concurrent Data Structures
Dilum Bandara
 
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-MatrixHard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Dilum Bandara
 
Introduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with HadoopIntroduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with Hadoop
Dilum Bandara
 
Embarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel ProblemsEmbarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel Problems
Dilum Bandara
 
Introduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale ComputersIntroduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale Computers
Dilum Bandara
 
Introduction to Thread Level Parallelism
Introduction to Thread Level ParallelismIntroduction to Thread Level Parallelism
Introduction to Thread Level Parallelism
Dilum Bandara
 
CPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching TechniquesCPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching Techniques
Dilum Bandara
 
Data-Level Parallelism in Microprocessors
Data-Level Parallelism in MicroprocessorsData-Level Parallelism in Microprocessors
Data-Level Parallelism in Microprocessors
Dilum Bandara
 
Instruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware TechniquesInstruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware Techniques
Dilum Bandara
 
Instruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler TechniquesInstruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler Techniques
Dilum Bandara
 
CPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An IntroductionCPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An Introduction
Dilum Bandara
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
Dilum Bandara
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCP
Dilum Bandara
 
Introduction to Content Delivery Networks
Introduction to Content Delivery NetworksIntroduction to Content Delivery Networks
Introduction to Content Delivery Networks
Dilum Bandara
 
Peer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and StreamingPeer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and Streaming
Dilum Bandara
 
Mobile Services
Mobile ServicesMobile Services
Mobile Services
Dilum Bandara
 

More from Dilum Bandara (20)

Introduction to Machine Learning
Introduction to Machine LearningIntroduction to Machine Learning
Introduction to Machine Learning
 
Time Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in PracticeTime Series Analysis and Forecasting in Practice
Time Series Analysis and Forecasting in Practice
 
Introduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCAIntroduction to Dimension Reduction with PCA
Introduction to Dimension Reduction with PCA
 
Introduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive AnalyticsIntroduction to Descriptive & Predictive Analytics
Introduction to Descriptive & Predictive Analytics
 
Introduction to Concurrent Data Structures
Introduction to Concurrent Data StructuresIntroduction to Concurrent Data Structures
Introduction to Concurrent Data Structures
 
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-MatrixHard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
Hard to Paralelize Problems: Matrix-Vector and Matrix-Matrix
 
Introduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with HadoopIntroduction to Map-Reduce Programming with Hadoop
Introduction to Map-Reduce Programming with Hadoop
 
Embarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel ProblemsEmbarrassingly/Delightfully Parallel Problems
Embarrassingly/Delightfully Parallel Problems
 
Introduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale ComputersIntroduction to Warehouse-Scale Computers
Introduction to Warehouse-Scale Computers
 
Introduction to Thread Level Parallelism
Introduction to Thread Level ParallelismIntroduction to Thread Level Parallelism
Introduction to Thread Level Parallelism
 
CPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching TechniquesCPU Memory Hierarchy and Caching Techniques
CPU Memory Hierarchy and Caching Techniques
 
Data-Level Parallelism in Microprocessors
Data-Level Parallelism in MicroprocessorsData-Level Parallelism in Microprocessors
Data-Level Parallelism in Microprocessors
 
Instruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware TechniquesInstruction Level Parallelism – Hardware Techniques
Instruction Level Parallelism – Hardware Techniques
 
Instruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler TechniquesInstruction Level Parallelism – Compiler Techniques
Instruction Level Parallelism – Compiler Techniques
 
CPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An IntroductionCPU Pipelining and Hazards - An Introduction
CPU Pipelining and Hazards - An Introduction
 
Advanced Computer Architecture – An Introduction
Advanced Computer Architecture – An IntroductionAdvanced Computer Architecture – An Introduction
Advanced Computer Architecture – An Introduction
 
High Performance Networking with Advanced TCP
High Performance Networking with Advanced TCPHigh Performance Networking with Advanced TCP
High Performance Networking with Advanced TCP
 
Introduction to Content Delivery Networks
Introduction to Content Delivery NetworksIntroduction to Content Delivery Networks
Introduction to Content Delivery Networks
 
Peer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and StreamingPeer-to-Peer Networking Systems and Streaming
Peer-to-Peer Networking Systems and Streaming
 
Mobile Services
Mobile ServicesMobile Services
Mobile Services
 

Recently uploaded

不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
bseovas
 
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
xjq03c34
 
Design Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptxDesign Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptx
saathvikreddy2003
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
uehowe
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
ysasp1
 
Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?
Paul Walk
 
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
uehowe
 
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
3a0sd7z3
 
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalmanuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
wolfsoftcompanyco
 
Discover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to IndiaDiscover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to India
davidjhones387
 
一比一原版(USYD毕业证)悉尼大学毕业证如何办理
一比一原版(USYD毕业证)悉尼大学毕业证如何办理一比一原版(USYD毕业证)悉尼大学毕业证如何办理
一比一原版(USYD毕业证)悉尼大学毕业证如何办理
k4ncd0z
 
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
uehowe
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
Toptal Tech
 
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
rtunex8r
 
HijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process HollowingHijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process Hollowing
Donato Onofri
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
Laura Szabó
 
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
3a0sd7z3
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
fovkoyb
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
hackersuli
 

Recently uploaded (19)

不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
不能毕业如何获得(USYD毕业证)悉尼大学毕业证成绩单一比一原版制作
 
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
办理新西兰奥克兰大学毕业证学位证书范本原版一模一样
 
Design Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptxDesign Thinking NETFLIX using all techniques.pptx
Design Thinking NETFLIX using all techniques.pptx
 
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
办理毕业证(UPenn毕业证)宾夕法尼亚大学毕业证成绩单快速办理
 
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
成绩单ps(UST毕业证)圣托马斯大学毕业证成绩单快速办理
 
Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?Should Repositories Participate in the Fediverse?
Should Repositories Participate in the Fediverse?
 
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
留学挂科(UofM毕业证)明尼苏达大学毕业证成绩单复刻办理
 
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
快速办理(新加坡SMU毕业证书)新加坡管理大学毕业证文凭证书一模一样
 
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaalmanuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
manuaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaal
 
Discover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to IndiaDiscover the benefits of outsourcing SEO to India
Discover the benefits of outsourcing SEO to India
 
一比一原版(USYD毕业证)悉尼大学毕业证如何办理
一比一原版(USYD毕业证)悉尼大学毕业证如何办理一比一原版(USYD毕业证)悉尼大学毕业证如何办理
一比一原版(USYD毕业证)悉尼大学毕业证如何办理
 
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
办理毕业证(NYU毕业证)纽约大学毕业证成绩单官方原版办理
 
Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!Ready to Unlock the Power of Blockchain!
Ready to Unlock the Power of Blockchain!
 
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
怎么办理(umiami毕业证书)美国迈阿密大学毕业证文凭证书实拍图原版一模一样
 
HijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process HollowingHijackLoader Evolution: Interactive Process Hollowing
HijackLoader Evolution: Interactive Process Hollowing
 
Gen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needsGen Z and the marketplaces - let's translate their needs
Gen Z and the marketplaces - let's translate their needs
 
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
快速办理(Vic毕业证书)惠灵顿维多利亚大学毕业证完成信一模一样
 
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
存档可查的(USC毕业证)南加利福尼亚大学毕业证成绩单制做办理
 
[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024[HUN][hackersuli] Red Teaming alapok 2024
[HUN][hackersuli] Red Teaming alapok 2024
 

Blockchain - A Catalyst for Solving Age-old Distributed Systems Problems

  • 1. Dilum Bandara, PhD Dept. of Computer Science & Engineering, University of Moratuwa Colombo Blockchain Dev Meetup, Sep 4, 2018
  • 2. 2 ID Assets Alice 500 Bob 1,000 Peter 500 Rani Plot 123 @ Col 7 Rasa Mango Polonnaruwa, Org. #45781 ID Assets Alice 500 Bob 1,000 Peter 500 Rani Plot 123 @ Col 7 Rasa Mango Polonnaruwa, Org. #45781 ID Assets Alice 500 Bob 1,000 Peter 500 Rani Plot 123 @ Col 7 Rasa Mango Polonnaruwa, Org. #45781 ID Assets Alice 500 Bob 1,000 Peter 500 Rani Plot 123 @ Col 7 Rasa Mango Polonnaruwa, Org. #45781
  • 3. 3 ID Assets Alice 500 Bob 1,000 Peter 500 Rani Plot 123 @ Col 7 Rasa Mango Polonnaruwa, Org. #45781 ID Assets Alice 500 Bob 1,000 Peter 500 Rani Plot 123 @ Col 7 Rasa Mango Polonnaruwa, Org. #45781 ID Assets Alice 500 Bob 1,000 Peter 500 Rani Plot 123 @ Col 7 Rasa Mango Polonnaruwa, Org. #45781 ID Assets Bob 1,000 Peter 500 Rasa Mango Polonnaruwa, Org. #45781 ID Assets Alice 500 Peter 500 Rani Plot 123 @ Col 7 Rasa Mango Polonnaruwa, Org. #45781 ID Assets Alice 500 Bob 1,000 Rani Plot 123 @ Col 7
  • 4. 4 ID Assets Alice 500 Bob 1,000 Peter 500 A ID Assets Alice Bob Peter 500 B ID Assets Alice 200 500 Bob 1,300 1,000 Peter 500 P Transfer 300 to Bob 200 500 1,300 1,000 • Alice may initiate request from her node or any other node • No of messages increase with no of ledger copies
  • 5. 5 ID Assets Alice 500 Bob 1,000 Peter 500 A ID Assets Alice Bob Peter 500 B ID Assets Alice 500 Bob 1,000 Peter 500 P Transfer 300 to Bob 200 500 1,300 1,000 • Likeliness of failure increases with no of ledger copies
  • 6. 6 ID Assets Alice 500 Bob 1,000 Peter 500 A ID Assets Alice 200 500 Bob 1,300 1,000 Peter 500 B ID Assets Alice 100 500 Bob 1,000 Peter 900 500 P Transfer 300 to Bob • Likeliness of attack increases with no of ledger copies
  • 7. Blockchain concept focuses on Public-Key Cryptography & Hashing Implementation needs to address many distributed system problems  Timing & Ordering  Consensus  CAP Theorem Distributed systems research community seems to not care Lots of others want to solve these problems due to monetary benefits (e.g., cryptocurrency) 7
  • 8. 8 ID Assets Alice 200 500 Bob 1,300 1,000 Peter 500 A ID Assets Alice 200 500 Bob 1,300 1,000 Peter 500 B ID Assets Alice 500 Bob 1,000 Peter 500 P Transfer 300 to Bob t = 10 t = 12 Transfer 1,200 to Peter t = 15t = 18 t = 16t = 18 Reject Accept • Inconsistent ledger due to concurrent transactions (TXs) • Inconsistency increases with no of ledger copies
  • 9.  Use of sender’s time to order TXs not reliable  Clocks aren’t accurate – Drift & skew  Difficult to sync them & keep them synched  Sender could change time to game the system  Global ordering of TXs  Lamport’s time stamp  A logical counter that increments when messages are send & received  Lamport’s Totally Ordered Multicast  Vector clocks  Address “lower logical clock doesn’t guarantee happened before relationship” in Lamport’s time stamp  Doesn’t scale with no of ledger copies 9
  • 10.  No concurrent TXs related to same account in same block  E.g., Bitcoin, Ethereum, & Hyperledger  Low transaction throughput – 3-6 TX/Sec  Store global state in a database (RDBMS or NO-SQL) & proof of existence on Blockchain  E.g., Stellar & BigchainDB  Fully or semi-centralized  Not quite Blockchain  Need more scalable concurrent transaction support  High throughput  Low Latency 10
  • 11.  2 Blue armies need to simultaneously attack or retreat  Blue army have to communicate across area controlled by White army  White army area  Unreliable communication channel  Goal – 2 blue armies to reach agreement about attacking 11 Source: www.ee.surrey.ac.uk/Projects/CAL/networks/ Network-Transport_Application_Layers.htm
  • 12. Agreement in the judgment or opinion reached by a group as a whole  Getting 2 nodes to agree is hard  Getting many nodes to agree is even harder Achieving consensus under:  Unreliable communication – Partition tolerance  Failed nodes – Fault tolerance  Misbehaving nodes – Byzantine fault tolerance 12
  • 13. 13 I have a plan – Let’s attack at dawn tomorrow Splendid idea, A! See you at dawn tomorrow! Received message. We are ready for the battle. Received acknowledgement. We are also ready Blue 1 Blue 2 Gotcha, I lied
  • 14. “It’s impossible for a web service to provide following 3 guarantees at the same time” (Eric Brewer, 2000)  Consistency  Availability  Partition-tolerance 14 ID Assets Alice 500 Bob 1,300 1,000 Peter 200 500 ID Assets Alice 500 Bob 1,300 1,000 Peter 200 500 Peter = 200 Peter = 500
  • 15. Nodes loose network connectivity  Networks will partition!  Partition tolerance is mandatory in distributed systems So, choose Consistency or Availability…  Blockchain needs to be Available  Ledger needs to be Consistent  Consensus  Consistency 15 C A P Required
  • 16.  No guarantee that a TX will be included in next block  Leader election  Selected leader decides on what goes into block  Believe leader’s block/ledger as ground truth  How to elect leader?  Proof of Authority (PoA) – e.g., VeChain, Kovan (Ethereum testnet)  Based on trust – e.g., Stellar  Random leader  Based on votes – e.g., Hyperledger Fabric & Sawtooth  Proof of Stake – e.g., Hyperledger Iroha  Proof of Brain – Steem  Fast  Consistency depends on leader 16
  • 17.  Proof of Work  Believe 1st one that solves a given puzzle  Puzzle should be difficult to compute (no short-cuts), but easy check  E.g., calculating a hash with specific no of 0/1 bits  Anyone can compete & difficult to game  Slow & expensive  Multiple truths may exist for a while  Longest chain wins  New truth may replace current truth  Some TXs need to be reversed  E.g., wait for 6 blocks in Bitcoin to confirm a TX  TXs need to be fast, persistent, & low cost 17
  • 18.  Low-latency TX processing  Inclusion guarantees  Fast confirmations  Persistence  High-throughput Concurrent TX processing  Low cost  Truly distributed ledger  Beyond proof of existence 18 Distributed System Problems Blockchain  Working systems used & contributed by many  But  Slow  No guarantees  High cost  Not scalable

Editor's Notes

  1. BitCoin 180 GB Ethereum – 600 GB (essential 50GB)