Blockchains Lecture 1.

Slides:



Advertisements
Similar presentations
CS 542: Topics in Distributed Systems Diganta Goswami.
Advertisements

Computer Science 162 Section 1 CS162 Teaching Staff.
IACT303 – INTI 2005 World Wide Networking Welcome and Introduction to Subject. Penney McFarlane The University of Wollongong.
HOW TO BE THE BEST MATH STUDENT YOU CAN BE Toward an Undergraduate degree in Math, and further Marianne Korten Department of Mathematics Kansas State.
Advanced Topics in Distributed Systems Fall 2011 Instructor: Costin Raiciu.
Introduction. Readings r Coulouris, Dollimore and Kindberg Distributed Systems: Concepts and Design Edn. 3 m Note: All figures from this book.
Practical Byzantine Fault Tolerance
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
From Viewstamped Replication to BFT Barbara Liskov MIT CSAIL November 2007.
Tanenbaum & Van Steen, Distributed Systems: Principles and Paradigms, 2e, (c) 2007 Prentice-Hall, Inc. All rights reserved Introduction.
Byzantine fault tolerance
Byzantine Fault Tolerance CS 425: Distributed Systems Fall 2012 Lecture 26 November 29, 2012 Presented By: Imranul Hoque 1.
 Course Overview Distributed Systems IT332. Course Description  The course introduces the main principles underlying distributed systems: processes,
Systems Research Barbara Liskov October Replication Goal: provide reliability and availability by storing information at several nodes.
BChain: High-Throughput BFT Protocols
L25 - PlantPAx Process Application Development Lab I
Privacy-Preserving and Fault-Tolerant
CS/CE/TE 6378 Advanced Operating Systems
A Blockchain Implementation
Introduction to Dreamweaver
Principles of Computer Security
Lifelong Study Habits For Success
Introduction to the Course
Evaluation Forms for Blockchain- Based System ver. 1.0
Distributed Systems – Paxos
Secure Causal Atomic Broadcast, Revisited
Database Design and Implementation
Principles of Computer Security
Math Is Fun.
Principles of Computer Security
Providing Secure Storage on the Internet
Which blockchain? The future at a crossroad
EECS 498 Introduction to Distributed Systems Fall 2017
Principles of Computer Security
Good afternoon, everyone. I’m Haobin Ni from Cornell University
Grid Computing Done by: Shamsa Amur Al-Matani.
Distributed Ledger Technology (DLT) and Blockchain
Which blockchain? The future at a crossroad
Architectures of distributed systems Fundamental Models
IS 651: Distributed Systems Byzantine Fault Tolerance
PERSPECTIVES ON THE CAP THEOREM
COMS 161 Introduction to Computing
IS 651: Distributed Systems
IS 651: Distributed Systems Blockchain
Architectures of distributed systems Fundamental Models
From Viewstamped Replication to BFT
Prophecy: Using History for High-Throughput Fault Tolerance
HW5 What’s a quorum? How can we use the concept of quorum?
IS 651: Distributed Systems Fault Tolerance
Swagatika (Jazz) Sarangi
Replication and Availability in Distributed Systems
IS 651: Distributed Systems Final Exam
General recommendations
Office: ENGR 530 Phone: Emai:
Architectures of distributed systems
EEC 688/788 Secure and Dependable Computing
Blockchains and Smart Contracts for the Internet of Things
THE ROLE OF THE LIBRARY MEDIA SPECIALIST
Byzantine Fault-Tolerance
Architectures of distributed systems Fundamental Models
Cryptography Lecture 24.
Blockchain Technology: A New Approach to Provenance
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
Sisi Duan Assistant Professor Information Systems
What is A blockchain? B. RAMAMURTHY ©2019, ALL RIGHTS RESERVED
Blockchains Lecture 2.
Blockchains Lecture 6.
Announcement Sign up google sheet for in class lectures
Sisi Duan Assistant Professor Information Systems
IS 651: Distributed Systems HW3
Presentation transcript:

Blockchains Lecture 1

Welcome! Blockchain is an amazing and emerging topic Why learning blockchains? Useful; widely used already Interesting theory Fun to learn

Do not be nervous! This is a Research course Not a regular learning-based class Teach you how to do research Easier and less abstract than the crypto class

You Can Choose Your Topic (With my guidance) Matching your interests! The topic needs to be “interesting” though Your colleagues and I will help

Who I Am?  Assistant professor in CSEE Do research in the intersection of applied cryptography, security, and distributed systems

Some Blockchains My Team and I Built Permissioned blockchains (designed/implemented) ByzID (SRDS 2014, Best Paper Candidate) BChain (OPODIS 2014, used in Hyperledger Iroha, featured in Hyperledger whitepaper) hBFT (IEEE TDSC 2015, hybrid BFT) CBFT (SRDS 2016, BFT with confidentiality) CP-BFT (DSN 2017, BFT with causal order) BEAT (CCS 2018, asynchronous BFT made practical; state of the art asychronous BFT; featured in Morning paper) Chios (Maryland Innovation Initiative Award on Blockchains, NSF PFI-RP award; multiple partnerships) Permissionless blockchains (crypto schemes used in many systems)

BChain One of 5 mature projects within Hyperledger Known as Iroha [Duan, Meling, Sean, and Zhang, OPODIS 2014] One of 5 mature projects within Hyperledger Known as Iroha

BEAT: Asynchronous Blockchain Made Practical Blockchain, ideally Working for asynchronous environments 5 fully fledged instances fitting for different needs 40,000 lines of python codes Tested in 92 Amazon EC2 servers evenly distributed among 5 continents Featured in the morning paper [Duan, Reiter, and Zhang, CCS 2018]

What About You Guys I really want to know you well! We do research.

Maybe some questions? Name, what year at UMBC, your favorite TV episodes/sports What are your (research) interests? (Or: What jobs you want to do?) What do you know about blockchains?

Necessary administrative stuff Course webpage Google Haibin Zhang + UMBC https://www.csee.umbc.edu/~hbzhang/classes/491-691-1/index.html

Half Grader Divyesh Chitroda d151@umbc.edu

Some Useful Books Cachin et al. book (modern systems and distributed systems): http://www.springer.com/us/book/9783642152597 (UMBC students have free access to this book.) Katz Lindell book (modern cryptography): http://www.cs.umd.edu/~jkatz/imc.html

Teamwork! Form a team of size 2. 1 is discouraged; but you can ask my special permission 3? you can ask my special permission; the project should be proportionally better After forming a team, let’s meet regularly in class and after class.

Grading Participation: 10%. Paper reviews and other small tasks: 20%. Mid-term presentation: 10%. Final presentation 10%: Time to show your achievements! Not the project due day. Project (code, evaluation): 50%. The project will be evaluated in novelty and complexity.

Beyond Grading It is good to know blockchains (good and bad) Train you to do research, an ability you do not easily obtain elsewhere Have some hands-on experience on blockchains Add blockchain projects experience to your resume Let’s try to write an academic paper together

What I Expect from You This course is research focused; be scientific, but open your mind Spend equal time just as your other courses Plan ahead; start your project early Treat me as your thesis advisor if you want; discuss with me on research in class and after class We need to keep the projects going Glad to try and compare different approaches

Guest Lectures We may have some guest lectures (1-3) if we can find the right ones.

Questions? Please ask questions throughout!

OK, A Brief Introduction on Blockchains Should be easily accessible Not at all like what you read from the Internet!

Client-Server Architecture One server is a single point of failure or compromise Request Response Client Server

Blockchains (State Machine Replication) Blockchains tolerate Byzantine (arbitrary) failures Integrity/safety: the code to be executed correctly Availability/liveness: the service is always available (Typically, not confidentiality) Replicas Client

Blockchain Consensus (What is it? Why hard?) Correct servers maintain the same consistent state, even 1) under highly concurrent client requests 2) when a fraction of servers are compromised 3) under network asynchrony

Roughly, Consensus: All About Achieving “Total Order” [Lamport, ACM TOPLAS 1984] Blockchains (modeled as state machine replication) $100 $100 $100

The “Total Order” Requirement Client 1: “Deposit $100” $100 $200 Client 1: “Deposit $100” $100 $200 $100

The “Total Order” Requirement Client 1: “Deposit $100” Chase: “Charge 10%” $100 $200 $180 Client 1: “Deposit $100” Chase: “Charge 10%” $100 $200 $180 $100

The “Total Order” Requirement Client 1: “Deposit $100” Chase: “Charge 10%” $100 $200 $180 Client 1: “Deposit $100” Chase: “Charge 10%” $100 $200 $180 $100

The “Total Order” Requirement Chase: “Charge 10%” Client 1: “Deposit $100” $100 $90 $190 Chase: “Charge 10%” Client 1: “Deposit $100” $100 $90 $190 $100

The “Total Order” Requirement Chase: “Charge 10%” Client 1: “Deposit $100” $100 $90 $190 Client 1: “Deposit $100” Chase: “Charge 10%” $100 $200 $180 $100

Characterizing Blockchains Permissionless: explicitly/implicitly rely on cryptocurrency Permissioned: traditional Byzantine fault-tolerant distributed system (consortium blockchains, private blockchains) Membership Consensus Approach Examples Permissionless Dynamic PoX (Proof of “X”) Bitcoin, Ethereum Permissioned Fixed; know IDs of each other BFT (Byzantine fault tolerance) Fabric, Iroha, Chios, BEAT

Characterizing Blockchains Permissionless: explicitly/implicitly rely on cryptocurrency Permissioned: traditional Byzantine fault-tolerant distributed system (consortium blockchains, private blockchains) Hybrid: use BFT to improve permissionless blockchains Membership Consensus Approach Examples Permissionless Dynamic PoX (Proof of “X”) + Some mechanism Bitcoin, Ethereum Permissioned Fixed; know IDs of each other BFT (Byzantine fault tolerance) Fabric, Iroha, Chios, BEAT Hybrid (permissonless) Sybil resistant PoX+ BFT Elastico, OmniLedger, Ethereum Casper