CPS 512/590 final exam, 12/8/2015 /60 Your name please: /50 /50 /60

Slides:



Advertisements
Similar presentations
Failure Detection The ping-ack failure detector in a synchronous system satisfies – A: completeness – B: accuracy – C: neither – D: both.
Advertisements

CSE 486/586, Spring 2013 CSE 486/586 Distributed Systems Byzantine Fault Tolerance Steve Ko Computer Sciences and Engineering University at Buffalo.
Database Replication techniques: a Three Parameter Classification Authors : Database Replication techniques: a Three Parameter Classification Authors :
CS 582 / CMPE 481 Distributed Systems
Ordering of events in Distributed Systems & Eventual Consistency Jinyang Li.
What is the output generated by this program? Please assume that each executed print statement completes, e.g., assume that each print is followed by an.
(a) Alice and Bob are back together. Today Alice wants to send Bob a message that is secret and also authenticated, so that Bob "knows" the message came.
Security protocols  Authentication protocols (this lecture)  Electronic voting protocols  Fair exchange protocols  Digital cash protocols.
Practical Byzantine Fault Tolerance
Byzantine fault-tolerance COMP 413 Fall Overview Models –Synchronous vs. asynchronous systems –Byzantine failure model Secure storage with self-certifying.
1 ZYZZYVA: SPECULATIVE BYZANTINE FAULT TOLERANCE R.Kotla, L. Alvisi, M. Dahlin, A. Clement and E. Wong U. T. Austin Best Paper Award at SOSP 2007.
Replication (1). Topics r Why Replication? r System Model r Consistency Models – How do we reason about the consistency of the “global state”? m Data-centric.
Consider the program fragment below left. Assume that the program containing this fragment executes t1() and t2() on separate threads running on separate.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
Introduction to Distributed Databases Yiwei Wu. Introduction A distributed database is a database in which portions of the database are stored on multiple.
Part 1. Managing replicated server groups These questions pertain to managing server groups with replication, as in e.g., Chubby, Dynamo, and the classical.
CSE 486/586 CSE 486/586 Distributed Systems Global States Steve Ko Computer Sciences and Engineering University at Buffalo.
Fall 2006CS 395: Computer Security1 Key Management.
EEC 688/788 Secure and Dependable Computing Lecture 10 Wenbing Zhao Department of Electrical and Computer Engineering Cleveland State University
 Introduction  History  What is Digital Signature  Why Digital Signature  Basic Requirements  How the Technology Works  Approaches.
Distributed Databases – Advanced Concepts Chapter 25 in Textbook.
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
Exercises for Chapter 14: Replication
Nomadic File Systems Uri Moszkowicz 05/02/02.
/50 /60 /40 /30 A Tale of Two Clients
Distributed Financial Technology in Payments
Grid Security.
CPS 512 midterm exam #2, 11/18/16 Your name please: ___________________ NetID:___________ /50 /75 /45.
Distributed Systems – Paxos
CPS 512 midterm exam #1, 10/7/2016 Your name please: ___________________ NetID:___________ /60 /40 /10.
CPS 512 midterm exam #1, 10/5/17 Your name please: NetID:_______ Sign for your honor:____________________________.
CPS 512/590 second midterm exam, 11/3/2015
CPS 512 midterm exam #1, 10/5/17 Your name please: NetID:_______ Sign for your honor:____________________________.
The TESLA Broadcast Authentication Protocol CS 218 Fall 2017
Deanonymization of Clients in Bitcoin P2P Network
Outline Distributed Mutual Exclusion Distributed Deadlock Detection
CSE 486/586 Distributed Systems Byzantine Fault Tolerance
Implementing Consistency -- Paxos
Alternating Bit Protocol
Distributed Consensus
EECS 498 Introduction to Distributed Systems Fall 2017
Outline Announcements Fault Tolerance.
Distributed Systems, Consensus and Replicated State Machines
Jacob Gardner & Chuan Guo
EEC 688/788 Secure and Dependable Computing
Fault-tolerance techniques RSM, Paxos
Assignment 8 - Solution Problem 1 - We replicate database DB1.
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Assignment 5 - Solution Problem 1
EEC 688/788 Secure and Dependable Computing
Distributed Transactions
EEC 688/788 Secure and Dependable Computing
IS 651: Distributed Systems Final Exam
Distributed Systems CS
Chapter -7 CRYPTOGRAPHIC HASH FUNCTIONS
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
EEC 688/788 Secure and Dependable Computing
Paxos Made Simple.
Implementing Consistency -- Paxos
Presentation transcript:

CPS 512/590 final exam, 12/8/2015 /60 Your name please: /50 /50 /60 Part 1. 2P* These questions pertain to transactions with two-phase locking (2PL) and two-phase commit (2PC). [60 points] Suppose that transaction T is to execute the following sequence of operations: [R(x), W(y), W(z)], where x, y, and z are data items, and each item is protected by a separate lock. Show a sequence of acquire/release actions and read/write operations that is well-formed for T under two-phase locking (2PL). In Lab #3 (transactions with 2PL), was deadlock a problem for your solution? Briefly describe how your solution deals with deadlock. (Please try to keep it to one or two sentences.) Spanner does not use locking for transactions that are declared readonly. Why? What benefits result from this choice? (Note: I am not asking you to explain how Spanner ensures serializable transactions without these locks.) Spanner uses two-phase commit (2PC) to commit transactions (in most cases). How does Spanner avoid the blocking conditions that could result from coordinator failure in 2PC? Can a commit in Spanner ever be forced to block as a result of a failure? (If so, please describe under what conditions this can occur.) /60 /300

CPS 512/590 final exam, 12/8/2015, page 2 of 6 Part 2. Bayou, vector clocks, and causality These questions pertain to write propagation with anti-entropy exchanges in Bayou. Consider the following timeline example for three Bayou nodes/replicas (A, B, C), showing numbered updates/writes originating at each replica. The two curved lines illustrate the set of updates known to A and the set of updates known to C at a given point in time: each of these sets is a consistent cut. Answer the questions below. [50 points] A 2 1 3 4 5 6 7 A’s cut 1 2 3 4 5 B 1 2 3 ? C C’s cut What is a consistent cut? Write down a quick definition. Extra credit: state the consistency property as a logic rule. Write down the vector clocks corresponding to A’s cut and C’s cut in this example. Now suppose node A performs a Bayou anti-entropy transfer to node C. List the accept stamps of the updates that are transmitted from A to C during this anti-entropy exchange. Modify the picture to show any new causal (happened-before) relationships resulting from the transfer in (c). What is impact of the transfer in (c) on node C’s logical clock? Modify the picture to number the next update to be generated at C after the transfer.

CPS 512/590 final exam, 12/8/2015, page 3 of 6 Part 3. Digital signatures and certificates These questions pertain to signed certificates in various protocols we have studied. [50 points] What is a digital signature? Draw a small picture showing what cryptographic operations produce a digital signature, and indicate the sizes of the inputs and outputs. In what sense do digital signatures offer stronger safety properties than “real world” signatures made with pen and ink? [Presuming that the signatures in question are always authentic and unforged.] What is in an SSL certificate (also called an X.509 identity certificate)? List some important items/elements/parts. How is a SAFE certificate different from an SSL certificate with respect to this list of parts? What is in a DNSSEC name lookup response? List some important items/elements/parts. Liskov’s practical Byzantine consensus protocol (PBFT) uses digital signatures in a key step: PREPARE messages are signed by their senders, and nodes pass recently received PREPARE messages to the new primary on a view change. Why (under what conditions) is it important that these PREPARE messages are signed?

CPS 512/590 final exam, 12/8/2015, page 4 of 6 Part 4. Authentication and secure naming These questions pertain to authentication protocols and the BAN “Logic of Authentication”. [60 points] The Kerberos protocol (like the Needham-Schroeder protocol on which it is based) avoids the use of digital signatures. What alternative does Kerberos use to protect the integrity of messages sent in the protocol? What are the pros and cons of this choice? Kerberos requires synchronized clocks because timestamp values occur in multiple places in the protocol. Briefly summarize how and why timestamp values are used in Kerberos: specifically, what purpose(s) do they serve? Kerberos, TLS/SSL (e.g., HTTPS), and single-sign on (SSO) protocols like Shibboleth are all designed to “convince their participants of the truth of some formula X” (where X is a logical statement, as stated in the BAN paper). Summarize the statement or property X believed by the participants at the conclusion of these protocols, i.e., what is the outcome of these protocols? Is DNSSEC redundant with the PKI/SSL certificates issued by Certifying Authorities? If we have one of them, does the other provide additional protection? Discuss. Be sure to note what each provides.

CPS 512/590 final exam, 12/8/2015, page 5 of 6 Part 5. Bitcoin These questions pertain to the Bitcoin crypto-currency and the cryptographic techniques it uses. Please keep it short. [20 points] How does a user get an account in Bitcoin? A Bitcoin user spends money from an account by issuing a transaction record and broadcasting it on the Bitcoin network. How do the validators who receive the transaction record verify that it is issued by the account owner? Extra space for earlier parts, e.g., 4d.

CPS 512/590 final exam, 12/8/2015, page 6 of 6 Part 6. Consensus These questions pertain to consensus algorithms under various models, including classical consensus (VR-Paxos variants or RAFT), Byzantine consensus (BFT), and the “Nakamoto consensus” used in Bitcoin. Please keep your answers tight. [60 points] a) Suppose that during a view change in classical consensus, the new leader/primary P learns that one replica R has voted for a value v for slot s in a previous view, and no other replica reports a previous vote for s. (A slot is also called in op-number or index.) Is it possible that v has committed for s? Is it possible that v has not committed for s? Is it possible that some other value w has committed for s? What should P propose for s in the new view? Suppose now that another replica R2 also reports voting for a value w for s. What should P propose for s in the new view? b) Each of these consensus algorithms (consensus, BFT, Nakamoto) assumes that at most f failures occur, i.e., the number of faulty participants is bounded as a function of the number of participants N. For each of them, summarize what might happen if more than f participants are faulty. Consensus (e.g., VR or Paxos): Byzantine: Nakamoto: c) The safety of BFT is based on fragile assumptions about how Byzantine failures occur, so there is some doubt about what protection it offers in practice, e.g., for a replicated server program. However, the public has bet billions of dollars on the safety of Nakamoto consensus in Bitcoin. Discuss. Do you think these consensus protocols are safe? Why or why not?