Alternative Consensus

Size: px
Start display at page:

Download "Alternative Consensus"

Transcription

1 1 Alternative Consensus DEEP DIVE Alexandra Tran, Dev Ojha, Jeremiah Andrews, Steven Elleman, Ashvin Nihalani

2 2 TODAY S AGENDA GETTING STARTED 1 INTRO TO CONSENSUS AND BFT 2 NAKAMOTO CONSENSUS 3 BFT ALGORITHMS 4 TENDERMINT 5 CASPER 6 FEDERATED CONSENSUS

3 3 1 Introduction

4 4 What is a distributed system? Centralized system: State stored on a single computer Distributed system: State divided over multiple computers Properties of distributed systems: concurrent components message sharing no global clock potential asynchronicity, i.e., message delays and processing delays can be arbitrarily long potential failure of individual components SLIDE CREDIT: ALEXANDRA TRAN

5 5 Distributed Consensus Goal of distributed systems: all components agree on the system s state - they reach a consensus. AUTHOR: ALEXANDRA TRAN

6 6 Correctness of Distributed Systems Leslie Lamport s seemingly simplistic but seminal result in Proving the Correctness of Multiprocess Programs (1977) states that to prove that a program is correct, i.e., achieves its intended goal, one must prove that it has safety and liveness properties. Safety property: guarantee that something will not happen Example: if the program is started with the correct input, then it cannot stop if it does not produce the correct output. Liveness property: guarantee that something must happen Example: a program will terminate if its input is correct Correctness of distributed systems, a.k.a. feasibility of distributed consensus, can thus be described in terms of safety and liveness. Safety in distributed systems: guarantee that different honest components will never decide on different values (agreement) Liveness in distributed systems: guarantee that each honest component will eventually decide on a value (termination) AUTHOR: ALEXANDRA TRAN

7 7 Failure in Distributed Systems Fault tolerance: the ability of a system to operate in the event of failure of one or some of its components Question: can a distributed system retain its ability to reach consensus AND be fault tolerant? Let s first describe potential failures: Network failures vs. node failures One type of network failure is a network partition - loss of connectivity. AUTHOR: ALEXANDRA TRAN

8 Network Partition Partition: at least 2 components of system continue to run, buth can t communicate. Slide by Chris Colohan

9 9 CAP Theorem Consistency: guarantee that reading from different nodes will return the same value. (agreement) Availability: guarantee that reading from any node will return some value. (termination) Partition Tolerance: guarantee that the system will still operate in the face of a network partition, across which some messages between nodes cannot be delivered (fault tolerance) Introduced by Eric Brewer in 2000, the CAP Theorem states that an asynchronous distributed system can at most provide two of the three guarantees at once AUTHOR: ALEXANDRA TRAN

10 10 CAP Theorem Given a partitioned network, the shared state diverges and there will be a tradeoff between consistency and availability. Network partition X AUTHOR: ALEXANDRA TRAN A B C D Y

11 11 CAP Theorem Given a partitioned network, the shared state diverges and there will be a tradeoff between consistency and availability. Network partition X AUTHOR: ALEXANDRA TRAN A B C D?

12 12 Failure in Distributed Systems There also exist individual node failures. One type of node failure are fail-stop nodes. crash, power outage, hardware failure, out of memory AUTHOR: ALEXANDRA TRAN

13 13 FLP Impossibility Impossibility of Distributed Consensus with One Faulty Process by Fischer, Lynch, and Paterson (1985): Both termination and agreement cannot be satisfied immediately in an asynchronous distributed system, if it is to be resilient to at least one fail-stop node. See paper for proof. fault tolerance liveness AUTHOR: ALEXANDRA TRAN safety

14 14 Failure in Distributed Systems Another important type of node failure is a Byzantine failure: a Byzantine node can send conflicting information to different parts of the system, e.g.: Bit flip in memory or on disk corrupts data Older version of code on one node sends (now) invalid messages Node starts running malicious version of software SLIDE CREDIT: CHRIS COLOHAN AND ALEXANDRA TRAN

15 15 Byzantine Fault Tolerance Byzantine fault tolerance is a characteristic of distributed systems that can reach consensus in the face of Byzantine faults A class of failures illustrated by The Byzantine Generals Problem (1982 Lamport, Shostak, and Pease): Multiple divisions of the Byzantine army surround an enemy city; must decide upon common plan: attack or retreat Generals of each division can only communicate individually via messenger There may be traitorous generals who send different votes to different generals What degree of Byzantine failure can be tolerated? n := number of generals. Trivial if n = 1 or n = 2 AUTHOR: ALEXANDRA TRAN

16 16 Byzantine Fault Tolerance n = 3 with 1 traitor: Both scenarios look the same to Lieutenant 1. You cannot tell which general is traitorous and thus, which command to follow. AUTHOR: ALEXANDRA TRAN

17 17 Byzantine Fault Tolerance Theorem: No solution with fewer than 3m + 1 generals can cope with m traitors - i.e., consensus is impossible to achieve if ⅓ or more of the generals are traitors Proof: Assume that a solution exists for >=⅓ traitorous generals use that solution to solve the case of 1 traitor among 3 generals contradiction the assumption is false AUTHOR: ALEXANDRA TRAN

18 18 Impossibility overview Fault Tolerance Safety Tradeoff Assumes asynchronicity? each node will return the same value 2 of 3 yes FLP Impossibility tolerates >= 1 fail-stop node each non-faulty each non-faulty node will return a node will return value the same value 2 of 3 yes Byzantine Generals Problem each non-faulty each non-faulty node will return a node will return value the same value >= ⅔ non-faulty nodes for liveness and safety no CAP Theorem Liveness tolerates network each node will partitions return a value tolerates Byzantine faulty nodes AUTHOR: ALEXANDRA TRAN

19 19 2 Nakamoto Consensus

20 20 Nakamoto Consensus: Proof of Work finding a block : the first announced valid block containing a solution to the mining puzzle, which is linked to a previous chain. Longest chain considered correct. Simultaneously found solutions and malicious mining lead to forks network partitions. The result is different parts of the network containing different values. Thus, favors liveness (availability) over safety (consistency) AUTHOR: ALEXANDRA TRAN

21 Nakamoto Consensus: Naive Proof of Stake finding a block : per chain, the consensus algorithm pseudo-randomly selects a stakeholder in proportion to its stake and assigns it the right to create a single block pointing to the chain. Longest chain considered correct. Again, deviant actors will lead to forks that result in inconsistent network components Thus, favors liveness (availability) over safety (consistency) AUTHOR: ALEXANDRA TRAN 21

22 22 NOTHING AT STAKE PROBLEM AUTHOR: SUNNY AGGARWAL

23 23 NOTHING AT STAKE PROBLEM 0.7h Let h be total hash power mining. Hash power must be split among forks. 0.3h AUTHOR: SUNNY AGGARWAL

24 24 NOTHING AT STAKE PROBLEM 0.7h 0.3h AUTHOR: SUNNY AGGARWAL h

25 25 NOTHING AT STAKE PROBLEM s1 s1 AUTHOR: SUNNY AGGARWAL

26 26 NOTHING AT STAKE PROBLEM s1 s1 AUTHOR: SUNNY AGGARWAL s1 s1 s2 s2 s2 s2

27 27 NOTHING AT STAKE PROBLEM Naive Proof of Stake Proof of Work AUTHOR: SUNNY AGGARWAL

28 28 Introducing Slashing Early PoS chains resorted to hybrid PoW/PoS or developer checkpoints So far, we ve only considered using rewards. What if we introduce penalties? Make a rule that you are only allowed to vote on one fork If you are caught voting on another fork, you get punished on this fork You end up getting punished on both forks AUTHOR: SUNNY AGGARWAL A B A B

29 29 Introducing Slashing AUTHOR: SUNNY AGGARWAL

30 30 Security Deposits Might take some time for proof of malicious double signing to be detected. In that time, the double signer might have moved his money to a different account. No money left in that account to slash. Can t slash the account that the money was sent to Might be some innocent person s account Introducing security deposits Coins used for staking must be locked up in a security deposit (bonding) Can t unbond immediately, funds need to be in holding period Has effect where only excess capital can be used for staking, not all coins Security deposits cannot be forever. People want their money back at some point. AUTHOR: SUNNY AGGARWAL

31 31 Long Range Attacks Let s imagine the unbonding period is three blocks AUTHOR: SUNNY AGGARWAL

32 32 Long Range Attacks Begin unbonding AUTHOR: SUNNY AGGARWAL

33 33 Long Range Attacks Begin unbonding AUTHOR: SUNNY AGGARWAL

34 34 Long Range Attacks Finish unbonding AUTHOR: SUNNY AGGARWAL

35 35 Long Range Attacks Move money AUTHOR: SUNNY AGGARWAL

36 36 Long Range Attacks AUTHOR: SUNNY AGGARWAL

37 37 Long Range Attacks How did you get enough stake here to do this? AUTHOR: SUNNY AGGARWAL #JustBribeEm

38 38 WEAK SUBJECTIVITY Solution: make unbonding period long + weak subjectivity. See How I Loved to Learn Weak Subjectivity. AUTHOR: ALEXANDRA TRAN

39 39 Nakamoto-Based Proof of Stake Peercoin (2012): First known implementation of hybrid proof of stake/proof of work currency. Uses coin age consumed by a transaction as proof of stake as well as centrally broadcasted checkpoints NXT (2014): Uses an account s effective balance, not coin age, as part of its block creation algorithm Slasher (2014): Vitalik s punitive PoS algorithm using security deposits and weak subjectivity to combat nothing at stake and long range attacks Bitshares (circa 2015): Delegated proof of stake Tezos (2014): Mix of Slasher, chain-of-activity, and proof-of-burn Ouroboros (2017): a provably secure proof-of-stake blockchain protocol ; chain-based and synchronous settings AUTHOR: ALEXANDRA TRAN

40 NAKAMOTO PoS CONSENSUS Environmentally Harmful Expensive Slow and Synchronous Relatively Centralized? No Finality AUTHOR: SUNNY AGGARWAL 4 0

41 41 BFT Consensus Algorithms Lot of work done in distributed consensus algorithms in 80s and 90s Paxos, PBFT, etc Maintained safety in asynchronous network, and liveness in partial synchrony Require 2/3 of voting power to agree on a block and then the block is finalized Were based on permissioned system and needed fixed validator set. Couldn t do in open setting. Until Tendermint came along PoS allows for dynamic validator sets that change with changes in stake AUTHOR: SUNNY AGGARWAL

42 42 BFT-Based Proof of Stake Tendermint: mostly asynchronous, BFT consensus protocol with voting power denominated in validator stake; two-stage voting process; favors safety (consistency). Used in heterogeneous blockchain network Cosmos. Casper: Ethereum s to-be-released Nakamoto/BFT hybrid proof of stake algorithm; favors liveness (availability); the friendly GHOST. AUTHOR: ALEXANDRA TRAN

43 43 3 BFT Algorithms

44 Practical Byzantine Fault Tolerance Quick Overview One third of the nodes can have byzantine faults Computationally efficient. Provides Liveness, and Safety given that less than one third of the nodes are faulty. This requires synchronicity. AUTHOR: Dev Ojha 44

45 Understanding the algorithm Design Elements AUTHOR: Dev Ojha 45

46 Understanding the algorithm Design Elements AUTHOR: Dev Ojha 46

47 Practical Byzantine Fault Tolerance A first look We know at the end that each node must communicate with the client. A first idea at modeling a PBFT system could reasonably be: Client talks to Primary node Primary node talks to every replica Every node computes the validity independently Every node communicates with the client 47

48 48 Practical Byzantine Fault Tolerance Issues with previous outline The primary node can t be trusted to communicate with every other node in the network If malicious it could try to exclude certain nodes from ever getting their state updated, to try to cause network disruption. (It only must communicate to 2f nodes) Outline: 1. Client talks to Primary node 2. Primary node talks to every replica 3. Every node computes the validity independently 4. Every node communicates the result to the client

49 49 Practical Byzantine Fault Tolerance Issues with outline The issue here is concurrency. All requests must be processed in the correct order across all replicas. Outline: 1. Client talks to Primary node 2. Primary node communicates with every other node 3. Every node alerts every other node. (Nodes also check that messages are all the same) 4. Every node computes the validity independently 5. Every node communicates the result to the client

50 50 Practical Byzantine Fault Tolerance Issues with outline The byzantine generals problem isn t solved for the ordering of requests. Different start indexes can be given from the primary node to the different nodes, or the nodes can tell each other different things. Outline: 1. Client talks to Primary node 2. Primary node communicates with every other node, with a provided order 3. Every node alerts every other node. Also provides the order they were given to be used for this request. 4. Every node computes the validity independently, once the node reaches the majority request index. 5. Every node communicates the result to the client

51 51 Practical Byzantine Fault Tolerance Solution 1. (Request) Client talks to Primary node 2. (Pre-Prepare) Primary node communicates with every other node, with a provided order. 3. (Prepare) Every node alerts every other node with the info they were given. This includes providing the order they were given to be used for this request. 4. (Commit) Once a node has gotten 2f prepares matching their own provided order, they alert every other node to their planned action and sequence number. 5. (Reply) Once a node has gotten 2f commits matching their own provided order, they process the request and respond to the client.

52 52 Practical Byzantine Fault Tolerance Solution

53 53 Paxos Key Points There are many different variants Does not provide Byzantine Fault Tolerance (Except Byzantine Paxos) Ensures Safety Ensures Liveness If f faults need to be handled, 2f + 1 nodes are required.

54 54 QUESTIONS?

55 55 4 Tendermin t

56 56 Tendermint BFT consensus mechanism, for arbitrary state machine replication

57 57 Tendermint BFT consensus mechanism, for arbitrary state machine replication Liveness without partition

58 58 Tendermint BFT consensus mechanism, for arbitrary state machine replication Liveness without partition Safety without ⅓ byzantine

59 59 Tendermint BFT consensus mechanism, for arbitrary state machine replication Liveness without partition Safety without ⅓ byzantine Consistent / Safe in the event of partition

60 60 Tendermint BFT consensus mechanism, for arbitrary state machine replication Liveness without partition Safety without ⅓ byzantine Consistent / Safe in the event of partition 1000s of TX/Second throughput

61 61 Tendermint BFT consensus mechanism, for arbitrary state machine replication Liveness without partition Safety without ⅓ byzantine Consistent / Safe in the event of partition 1000s of TX/Second throughput 1-2 second latency, with finality

62 62 In the event of a partition (or just high latency) Do we wait for the network to reconnect? Or do we keep going, and fix inconsistencies later? source

63 63 Bitcoin chooses Availability

64 64 Bitcoin chooses Availability Network partitions create temporary forks, some transactions will be invalidated

65 65 Bitcoin chooses Availability Network partitions create temporary forks, some transactions will be invalidated Latency creates divergences too orphan blocks

66 66 Bitcoin chooses Availability Network partitions create temporary forks, some transactions will be invalidated Latency creates divergences too orphan blocks Faster block times would make this problem much worse Larger blocks could too

67 67 Bitcoin chooses Availability Network partitions create temporary forks, some transactions will be invalidated Latency creates divergences too orphan blocks Faster block times would make this problem much worse Larger blocks could too By choosing consistency, tendermint can have very fast block times

68 68 source: tendermint documentation

69 69 source: cosmos whitepaper

70 70 Issues Nothing at stake

71 71 Issues Nothing at stake Solved by slashing validators who double sign

72 72 Issues Nothing at stake Solved by slashing validators who double sign Weak subjectivity / long range attack

73 73 Issues Nothing at stake Solved by slashing validators who double sign Weak subjectivity / long range attack Month long bonding period

74 74 Issues Nothing at stake Solved by slashing validators who double sign Weak subjectivity / long range attack Month long bonding period Limited decentralization (100 validators)

75 75 Issues Nothing at stake Solved by slashing validators who double sign Weak subjectivity / long range attack Month long bonding period Limited decentralization (100 validators) Expected to grow over time 13% per year in Cosmos

76 76 Issues Nothing at stake Solved by slashing validators who double sign Weak subjectivity / long range attack Month long bonding period Limited decentralization (100 validators) Expected to grow over time 13% per year in Cosmos Better than 10 mining pools source: blockchain.info

77 77 QUESTIONS?

78 78 Cosmos Network of Tendermint based blockchains

79 79 Cosmos Network of Tendermint based blockchains Interoperable with existing blockchains

80 80 Cosmos Network of Tendermint based blockchains Interoperable with existing blockchains Decentralized exchange

81 81 Cosmos Network of Tendermint based blockchains Interoperable with existing blockchains Decentralized exchange Sharding via zones sidechains which can have same or different validator sets

82 82

83 83 Ethermint Ethereum Virtual Machine

84 84 Ethermint Ethereum Virtual Machine With Tendermint consensus layer

85 85 Ethermint Ethereum Virtual Machine With Tendermint consensus layer Full support for ethereum smart contracts

86 86 Ethermint Ethereum Virtual Machine With Tendermint consensus layer Full support for ethereum smart contracts Launching with Hard Spoon of ethereum

87 87 QUESTIONS?

88 88 5 Casper

89 89 Motivation for Casper

90 90 Motivation for Casper

91 91 Motivation for Casper

92 92 Maintaining the Defender s Advantage

93 93 Maintaining the Defender s Advantage

94 94 Maintaining the Defender s Advantage

95 95 Maintaining the Defender s Advantage

96 96 One Sentence Philosophy

97 97 One Sentence Philosophy

98 98 QUESTIONS?

99 99 Casper as Three Algorithms

100 100 Casper as Three Algorithms

101 101 Casper as Three Algorithms

102 102 Casper as Three Algorithms

103 103 Casper as Three Algorithms

104 104 Casper as Three Algorithms

105 105 Proof of Stake Algorithm

106 106 Proof of Stake Algorithm

107 107 Proof of Stake Algorithm

108 108 Proof of Stake Algorithm

109 109 Proof of Stake Algorithm

110 110 Proof of Stake Algorithm

111 111 Economic Finality Algorithm

112 112 Economic Finality Algorithm

113 113 Economic Finality Algorithm

114 114 Economic Finality Algorithm

115 115 Light Client Algorithm

116 116 Light Client Algorithm

117 117 Light Client Algorithm

118 118 Light Client Algorithm

119 119 QUESTIONS?

120 120 Proof of Stake Process - Consensus by Bet

121 121 Proof of Stake Process - Consensus by Bet

122 122 Proof of Stake Process - Consensus by Bet

123 123 Proof of Stake Process - Consensus by Bet

124 124 Proof of Stake Process - Consensus by Bet

125 125 Proof of Stake Process - Consensus by Bet

126 126 Proof of Stake Process - Consensus by Bet

127 127 Proof of Stake Process - Consensus by Bet

128 128 QUESTIONS?

129 129 Dunkle Mechanism

130 130 Dunkle Mechanism

131 131 Dunkle Mechanism

132 132 Fork Choice as Value-at-Loss

133 133 Fork Choice as Value-at-Loss

134 134 Fork Choice as Value-at-Loss

135 135 Fork Choice as Value-at-Loss

136 136 QUESTIONS?

137 137 Slashing Conditions

138 138 Slashing Conditions

139 139 Slashing Conditions

140 140 Slashing Conditions

141 141 Accountable Safety and Plausible Liveness ⅓

142 142 Accountable Safety and Plausible Liveness ⅓

143 143 Accountable Safety and Plausible Liveness ⅓

144 144 Accountable Safety and Plausible Liveness ⅓

145 145 Example: Accountable Safety, No Plausible Liveness ⅔

146 146 Example: Accountable Safety, No Plausible Liveness ⅔

147 147 Example: Accountable Safety, No Plausible Liveness ⅔

148 148 Example: Accountable Safety, No Plausible Liveness ⅔ ⅔ ⅓ ⅓

149 149 Example: Accountable Safety, No Plausible Liveness ⅔

150 150 Example: Accountable Safety, No Plausible Liveness ⅔

151 151 Example: Accountable Safety, No Plausible Liveness ⅔ ⅙

152 152 Example 2: Plausible Liveness, No Accountable Safety ⅔

153 153 Example 2: Plausible Liveness, No Accountable Safety ⅔

154 154 Example 2: Plausible Liveness, No Accountable Safety ⅔

155 155 Example 2: Plausible Liveness, No Accountable Safety ⅔

156 156 Example 2: Plausible Liveness, No Accountable Safety ⅔

157 157 QUESTIONS?

158 158 Weak Subjectivity

159 159 Weak Subjectivity

160 160 Weak Subjectivity

161 161 Weak Subjectivity

162 162 Weak Subjectivity

163 163 Weak Subjectivity

164 164 Weak Subjectivity

165 165 Weak Subjectivity

166 166 QUESTIONS?

167 167 PoS Attacks

168 168 PoS Attacks

169 169 PoS Attacks ⅓

170 170 PoS Attacks ⅓

171 171 PoS Attacks ⅓

172 172 QUESTIONS?

173 173 Casper Wrap Up

174 174 Casper Wrap Up

175 175 Casper Wrap Up

176 176 Casper Wrap Up

177 177 Casper Wrap Up

178 178 QUESTIONS?

179 179 6 Federated Consensu s

180 180 COMPARISON OF CONSENSUS FEDERATED CONSENSUS SOURCE: STELLAR WHITEPAPER

181 181 BASIC FBA FEDERATED CONSENSUS The key difference between a Byzantine agreement system and a federated Byzantine agreement system (FBAS) is that in FBA each node chooses its own quorum slices. SOURCE: eb3e949

182 182 QUORUM SLICES FEDERATED CONSENSUS SOURCE: eb3e949

183 183 EXAMPLES FEDERATED CONSENSUS SOURCE: STELLAR WHITEPAPER

184 184 DEFINITIONS FEDERATED CONSENSUS Definition (safety): A set of nodes in an FBAS enjoy safety if no two of them ever externalize different values for the same slot. Definition (liveness): A node in an FBAS enjoys liveness if it can externalize new values without the participation of any failed (including ill-behaved) nodes SOURCE: STELLAR WHITEPAPER

185 185 SAFETY FEDERATED CONSENSUS SOURCE: STELLAR WHITEPAPER

186 186 SAFETY FEDERATED CONSENSUS SOURCE: STELLAR WHITEPAPER

187 187 LIVENESS FEDERATED CONSENSUS Liveness is only guaranteed for a node v if it has a quorum slice that is composed of all good nodes

188 188 LIVENESS FEDERATED CONSENSUS Liveness is not a binary option for the network. A quorum slice can have failed without the entire network failing

189 189 VOTING FEDERATED CONSENSUS SOURCE: on-worldwide-consensus-359e9eb3e

190 190 PROBLEMS FEDERATED CONSENSUS No longer One CPU = One Vote

191 191 PROBLEMS FEDERATED CONSENSUS SOURCE: STELLAR WHITEPAPER

192 192 PROBLEMS FEDERATED CONSENSUS Security is pushed to the user s end

193 193 CURRENT IMPLEMENTATION FEDERATED CONSENSUS

194 194 DIFFERENCES FEDERATED CONSENSUS Provides a validator set for you. Requires 100 SOURCE: STELLAR WHITEPAPER No validator set provided No minimum requirement

195 195 QUESTIONS?

196 196 Thank you! Today s reading document can be found here: tinyurl.com/alternativeconsensus Attendance form for Fundamentals DeCal students: tinyurl.com/alt-consensus Leave Feedback for the Lecture (Required for DeCal): tinyurl.com/altcon-feedback Want to discuss other opportunities Talk to Alex or Ashvin innovation@blockchain.berkeley.edu

CONSENSUS PROTOCOLS & BLOCKCHAINS. Techruption Lecture March 16 th, 2017 Maarten Everts (TNO & University of Twente)

CONSENSUS PROTOCOLS & BLOCKCHAINS. Techruption Lecture March 16 th, 2017 Maarten Everts (TNO & University of Twente) CONSENSUS PROTOCOLS & BLOCKCHAINS Techruption Lecture March 16 th, 2017 Maarten Everts (TNO & University of Twente) 2 Consensus protocols & blockchain 3 Consensus protocols & blockchain 4 Consensus protocols

More information

hard to perform, easy to verify

hard to perform, easy to verify Proof of Stake The Role of PoW Bitcoin, Ethereum and similar systems are open, permissionless networks Anyone can participate The system must agree on some canonical order of transactions Think of this

More information

Data Consistency and Blockchain. Bei Chun Zhou (BlockChainZ)

Data Consistency and Blockchain. Bei Chun Zhou (BlockChainZ) Data Consistency and Blockchain Bei Chun Zhou (BlockChainZ) beichunz@cn.ibm.com 1 Data Consistency Point-in-time consistency Transaction consistency Application consistency 2 Strong Consistency ACID Atomicity.

More information

Practical Byzantine Fault Tolerance. Miguel Castro and Barbara Liskov

Practical Byzantine Fault Tolerance. Miguel Castro and Barbara Liskov Practical Byzantine Fault Tolerance Miguel Castro and Barbara Liskov Outline 1. Introduction to Byzantine Fault Tolerance Problem 2. PBFT Algorithm a. Models and overview b. Three-phase protocol c. View-change

More information

Security (and finale) Dan Ports, CSEP 552

Security (and finale) Dan Ports, CSEP 552 Security (and finale) Dan Ports, CSEP 552 Today Security: what if parts of your distributed system are malicious? BFT: state machine replication Bitcoin: peer-to-peer currency Course wrap-up Security Too

More information

A definition. Byzantine Generals Problem. Synchronous, Byzantine world

A definition. Byzantine Generals Problem. Synchronous, Byzantine world The Byzantine Generals Problem Leslie Lamport, Robert Shostak, and Marshall Pease ACM TOPLAS 1982 Practical Byzantine Fault Tolerance Miguel Castro and Barbara Liskov OSDI 1999 A definition Byzantine (www.m-w.com):

More information

Introduction to Cryptoeconomics

Introduction to Cryptoeconomics Introduction to Cryptoeconomics What is cryptoeconomics? Cryptoeconomics is about... Building systems that have certain desired properties Use cryptography to prove properties about messages that happened

More information

Proof of Stake Made Simple with Casper

Proof of Stake Made Simple with Casper Proof of Stake Made Simple with Casper Olivier Moindrot ICME, Stanford University olivierm@stanford.edu Charles Bournhonesque ICME, Stanford University cbournho@stanford.edu Abstract We study the recent

More information

Failure models. Byzantine Fault Tolerance. What can go wrong? Paxos is fail-stop tolerant. BFT model. BFT replication 5/25/18

Failure models. Byzantine Fault Tolerance. What can go wrong? Paxos is fail-stop tolerant. BFT model. BFT replication 5/25/18 Failure models Byzantine Fault Tolerance Fail-stop: nodes either execute the protocol correctly or just stop Byzantine failures: nodes can behave in any arbitrary way Send illegal messages, try to trick

More information

Consensus Problem. Pradipta De

Consensus Problem. Pradipta De Consensus Problem Slides are based on the book chapter from Distributed Computing: Principles, Paradigms and Algorithms (Chapter 14) by Kshemkalyani and Singhal Pradipta De pradipta.de@sunykorea.ac.kr

More information

Global atomicity. Such distributed atomicity is called global atomicity A protocol designed to enforce global atomicity is called commit protocol

Global atomicity. Such distributed atomicity is called global atomicity A protocol designed to enforce global atomicity is called commit protocol Global atomicity In distributed systems a set of processes may be taking part in executing a task Their actions may have to be atomic with respect to processes outside of the set example: in a distributed

More information

Distributed Consensus Protocols and Algorithms

Distributed Consensus Protocols and Algorithms Chapter 1 Distributed Consensus Protocols and Algorithms Yang Xiao, Ning Zhang, Jin Li, Wenjing Lou, Y. Thomas Hou Edit: This manuscript was built with L A TEX documentclass[11pt]{book}. The titles marked

More information

ENEE 457: E-Cash and Bitcoin

ENEE 457: E-Cash and Bitcoin ENEE 457: E-Cash and Bitcoin Charalampos (Babis) Papamanthou cpap@umd.edu Money today Any problems? Cash is cumbersome and can be forged Credit card transactions require centralized online bank are not

More information

Cryptocurrency and Blockchain Research

Cryptocurrency and Blockchain Research Cryptocurrency and Blockchain Research CHANATHIP NAMPREMPRE, PH.D. 1 Agenda Recall bitcoin consensus protocol Components of bitcoin consensus protocol Variations on the same theme Beware of snake oil Solution:

More information

BYZANTINE CONSENSUS THROUGH BITCOIN S PROOF- OF-WORK

BYZANTINE CONSENSUS THROUGH BITCOIN S PROOF- OF-WORK Informatiemanagement: BYZANTINE CONSENSUS THROUGH BITCOIN S PROOF- OF-WORK The aim of this paper is to elucidate how Byzantine consensus is achieved through Bitcoin s novel proof-of-work system without

More information

Transactions Between Distributed Ledgers

Transactions Between Distributed Ledgers Transactions Between Distributed Ledgers Ivan Klianev Transactum Pty Ltd High Performance Transaction Systems Asilomar, California, 8-11 October 2017 The Time for Distributed Transactions Has Come Thanks

More information

Today: Fault Tolerance

Today: Fault Tolerance Today: Fault Tolerance Agreement in presence of faults Two army problem Byzantine generals problem Reliable communication Distributed commit Two phase commit Three phase commit Paxos Failure recovery Checkpointing

More information

Practical Byzantine Fault

Practical Byzantine Fault Practical Byzantine Fault Tolerance Practical Byzantine Fault Tolerance Castro and Liskov, OSDI 1999 Nathan Baker, presenting on 23 September 2005 What is a Byzantine fault? Rationale for Byzantine Fault

More information

CSE 5306 Distributed Systems. Fault Tolerance

CSE 5306 Distributed Systems. Fault Tolerance CSE 5306 Distributed Systems Fault Tolerance 1 Failure in Distributed Systems Partial failure happens when one component of a distributed system fails often leaves other components unaffected A failure

More information

Failures, Elections, and Raft

Failures, Elections, and Raft Failures, Elections, and Raft CS 8 XI Copyright 06 Thomas W. Doeppner, Rodrigo Fonseca. All rights reserved. Distributed Banking SFO add interest based on current balance PVD deposit $000 CS 8 XI Copyright

More information

CSE 5306 Distributed Systems

CSE 5306 Distributed Systems CSE 5306 Distributed Systems Fault Tolerance Jia Rao http://ranger.uta.edu/~jrao/ 1 Failure in Distributed Systems Partial failure Happens when one component of a distributed system fails Often leaves

More information

ABOUT SOME OF THE BLOCKCHAIN PROBLEMS

ABOUT SOME OF THE BLOCKCHAIN PROBLEMS ABOUT SOME OF THE BLOCKCHAIN PROBLEMS A.V. Bogdanov 1, A.B. Degtyarev 1, V.V. Korkhov 1, M. Kamande 1, O.O. Iakushkin 1, V. Khvatov 2 1 Saint Petersburg State University, 7/9 Universitetskaya nab., St.

More information

Consensus and related problems

Consensus and related problems Consensus and related problems Today l Consensus l Google s Chubby l Paxos for Chubby Consensus and failures How to make process agree on a value after one or more have proposed what the value should be?

More information

Blockchains & Cryptocurrencies

Blockchains & Cryptocurrencies 1 Blockchains & Cryptocurrencies A Technical Introduction Lorenz Breidenbach ETH Zürich Cornell Tech The Initiative for CryptoCurrencies & Contracts (IC3) 2 Cryptocurrency Mania Market cap as of yesterday:

More information

Today: Fault Tolerance. Fault Tolerance

Today: Fault Tolerance. Fault Tolerance Today: Fault Tolerance Agreement in presence of faults Two army problem Byzantine generals problem Reliable communication Distributed commit Two phase commit Three phase commit Paxos Failure recovery Checkpointing

More information

CMU SCS CMU SCS Who: What: When: Where: Why: CMU SCS

CMU SCS CMU SCS Who: What: When: Where: Why: CMU SCS Carnegie Mellon Univ. Dept. of Computer Science 15-415/615 - DB s C. Faloutsos A. Pavlo Lecture#23: Distributed Database Systems (R&G ch. 22) Administrivia Final Exam Who: You What: R&G Chapters 15-22

More information

Blockchain (de)constructed

Blockchain (de)constructed Blockchain (de)constructed Fritz Henglein Department of Computer Science, University of Copenhagen (DIKU) DIKU Business Club meeting on blockchain January 11th, 2016 Fritz Henglein Professor of programming

More information

Byzantine Fault Tolerance

Byzantine Fault Tolerance Byzantine Fault Tolerance CS 240: Computing Systems and Concurrency Lecture 11 Marco Canini Credits: Michael Freedman and Kyle Jamieson developed much of the original material. So far: Fail-stop failures

More information

Practical Byzantine Fault Tolerance Consensus and A Simple Distributed Ledger Application Hao Xu Muyun Chen Xin Li

Practical Byzantine Fault Tolerance Consensus and A Simple Distributed Ledger Application Hao Xu Muyun Chen Xin Li Practical Byzantine Fault Tolerance Consensus and A Simple Distributed Ledger Application Hao Xu Muyun Chen Xin Li Abstract Along with cryptocurrencies become a great success known to the world, how to

More information

Problem: Equivocation!

Problem: Equivocation! Bitcoin: 10,000 foot view Bitcoin and the Blockchain New bitcoins are created every ~10 min, owned by miner (more on this later) Thereafter, just keep record of transfers e.g., Alice pays Bob 1 BTC COS

More information

Byzantine Techniques

Byzantine Techniques November 29, 2005 Reliability and Failure There can be no unity without agreement, and there can be no agreement without conciliation René Maowad Reliability and Failure There can be no unity without agreement,

More information

BlockFin A Fork-Tolerant, Leaderless Consensus Protocol April

BlockFin A Fork-Tolerant, Leaderless Consensus Protocol April BlockFin A Fork-Tolerant, Leaderless Consensus Protocol April 2018 @storecoin What are the most desirable features in a blockchain? Scalability (throughput) and decentralization (censorship resistance),

More information

I. Introduction. II. Security, Coinage and Attacks

I. Introduction. II. Security, Coinage and Attacks Abstract Proof of Stake's security has proven itself over years of testing. Advances in this technology in Blackcoin's Proof-of-Stake 3.0 have solved the issues faced with Coin-Age, Block Reward and Blockchain

More information

EECS 498 Introduction to Distributed Systems

EECS 498 Introduction to Distributed Systems EECS 498 Introduction to Distributed Systems Fall 2017 Harsha V. Madhyastha Replicated State Machines Logical clocks Primary/ Backup Paxos? 0 1 (N-1)/2 No. of tolerable failures October 11, 2017 EECS 498

More information

Hyperledger fabric: towards scalable blockchain for business

Hyperledger fabric: towards scalable blockchain for business Marko Vukolić, IBM Research - Zurich Hyperledger fabric: towards scalable blockchain for business Trust in Digital Life The Hague, Netherlands, June 17 2016 Blockchain shared, replicated, ledger Consensus

More information

Transactions. CS 475, Spring 2018 Concurrent & Distributed Systems

Transactions. CS 475, Spring 2018 Concurrent & Distributed Systems Transactions CS 475, Spring 2018 Concurrent & Distributed Systems Review: Transactions boolean transfermoney(person from, Person to, float amount){ if(from.balance >= amount) { from.balance = from.balance

More information

To do. Consensus and related problems. q Failure. q Raft

To do. Consensus and related problems. q Failure. q Raft Consensus and related problems To do q Failure q Consensus and related problems q Raft Consensus We have seen protocols tailored for individual types of consensus/agreements Which process can enter the

More information

Distributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi

Distributed Systems. Characteristics of Distributed Systems. Lecture Notes 1 Basic Concepts. Operating Systems. Anand Tripathi 1 Lecture Notes 1 Basic Concepts Anand Tripathi CSci 8980 Operating Systems Anand Tripathi CSci 8980 1 Distributed Systems A set of computers (hosts or nodes) connected through a communication network.

More information

Distributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs

Distributed Systems. Characteristics of Distributed Systems. Characteristics of Distributed Systems. Goals in Distributed System Designs 1 Anand Tripathi CSci 8980 Operating Systems Lecture Notes 1 Basic Concepts Distributed Systems A set of computers (hosts or nodes) connected through a communication network. Nodes may have different speeds

More information

Byzantine fault tolerance. Jinyang Li With PBFT slides from Liskov

Byzantine fault tolerance. Jinyang Li With PBFT slides from Liskov Byzantine fault tolerance Jinyang Li With PBFT slides from Liskov What we ve learnt so far: tolerate fail-stop failures Traditional RSM tolerates benign failures Node crashes Network partitions A RSM w/

More information

Distributed Consensus: Making Impossible Possible

Distributed Consensus: Making Impossible Possible Distributed Consensus: Making Impossible Possible Heidi Howard PhD Student @ University of Cambridge heidi.howard@cl.cam.ac.uk @heidiann360 hh360.user.srcf.net Sometimes inconsistency is not an option

More information

Algorand: Scaling Byzantine Agreements for Cryptocurrencies

Algorand: Scaling Byzantine Agreements for Cryptocurrencies Algorand: Scaling Byzantine Agreements for Cryptocurrencies Yossi Gilad, Rotem Hemo, Silvio Micali, Georgios Vlachos, Nickolai Zeldovich Presented by: Preet Patel and Umang Lathia Outline Overview of Distributed

More information

Distributed Consensus Protocols

Distributed Consensus Protocols Distributed Consensus Protocols ABSTRACT In this paper, I compare Paxos, the most popular and influential of distributed consensus protocols, and Raft, a fairly new protocol that is considered to be a

More information

Recovering from a Crash. Three-Phase Commit

Recovering from a Crash. Three-Phase Commit Recovering from a Crash If INIT : abort locally and inform coordinator If Ready, contact another process Q and examine Q s state Lecture 18, page 23 Three-Phase Commit Two phase commit: problem if coordinator

More information

Distributed Systems 11. Consensus. Paul Krzyzanowski

Distributed Systems 11. Consensus. Paul Krzyzanowski Distributed Systems 11. Consensus Paul Krzyzanowski pxk@cs.rutgers.edu 1 Consensus Goal Allow a group of processes to agree on a result All processes must agree on the same value The value must be one

More information

Practical Byzantine Fault Tolerance (The Byzantine Generals Problem)

Practical Byzantine Fault Tolerance (The Byzantine Generals Problem) Practical Byzantine Fault Tolerance (The Byzantine Generals Problem) Introduction Malicious attacks and software errors that can cause arbitrary behaviors of faulty nodes are increasingly common Previous

More information

Blockchain. CS 240: Computing Systems and Concurrency Lecture 20. Marco Canini

Blockchain. CS 240: Computing Systems and Concurrency Lecture 20. Marco Canini Blockchain CS 240: Computing Systems and Concurrency Lecture 20 Marco Canini Credits: Michael Freedman and Kyle Jamieson developed much of the original material. Bitcoin: 10,000 foot view New bitcoins

More information

Lecture 3. Introduction to Cryptocurrencies

Lecture 3. Introduction to Cryptocurrencies Lecture 3 Introduction to Cryptocurrencies Public Keys as Identities public key := an identity if you see sig such that verify(pk, msg, sig)=true, think of it as: pk says, [msg] to speak for pk, you must

More information

Consensus a classic problem. Consensus, impossibility results and Paxos. Distributed Consensus. Asynchronous networks.

Consensus a classic problem. Consensus, impossibility results and Paxos. Distributed Consensus. Asynchronous networks. Consensus, impossibility results and Paxos Ken Birman Consensus a classic problem Consensus abstraction underlies many distributed systems and protocols N processes They start execution with inputs {0,1}

More information

Bitcoin and Blockchain

Bitcoin and Blockchain Bitcoin and Blockchain COS 418: Distributed Systems Lecture 18 Zhenyu Song [Credit: Selected content adapted from Michael Freedman. Slides refined by Chris Hodsdon and Theano Stavrinos] Why Bitcoin? All

More information

Hyperledger Fabric v1:

Hyperledger Fabric v1: Marko Vukolić, IBM Research - Zurich May 4, 2017 Hyperledger Fabric v1: Rethinking Permissioned Blockchains Blockchain: du Bitcoin au Smart Contract 4 Mai 2017 2017 IBM Corporation What is a Blockchain?

More information

BYZANTINE AGREEMENT CH / $ IEEE. by H. R. Strong and D. Dolev. IBM Research Laboratory, K55/281 San Jose, CA 95193

BYZANTINE AGREEMENT CH / $ IEEE. by H. R. Strong and D. Dolev. IBM Research Laboratory, K55/281 San Jose, CA 95193 BYZANTINE AGREEMENT by H. R. Strong and D. Dolev IBM Research Laboratory, K55/281 San Jose, CA 95193 ABSTRACT Byzantine Agreement is a paradigm for problems of reliable consistency and synchronization

More information

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf

Distributed systems. Lecture 6: distributed transactions, elections, consensus and replication. Malte Schwarzkopf Distributed systems Lecture 6: distributed transactions, elections, consensus and replication Malte Schwarzkopf Last time Saw how we can build ordered multicast Messages between processes in a group Need

More information

Consensus, impossibility results and Paxos. Ken Birman

Consensus, impossibility results and Paxos. Ken Birman Consensus, impossibility results and Paxos Ken Birman Consensus a classic problem Consensus abstraction underlies many distributed systems and protocols N processes They start execution with inputs {0,1}

More information

Technical White Paper of. MOAC Mother of All Chains. June 8 th, 2017

Technical White Paper of. MOAC Mother of All Chains. June 8 th, 2017 Technical White Paper of MOAC Mother of All Chains June 8 th, 2017 [Abstract] MOAC is to design a scalable and resilient Blockchain that supports transactions, data access, control flow in a layered structure.

More information

Parallel Data Types of Parallelism Replication (Multiple copies of the same data) Better throughput for read-only computations Data safety Partitionin

Parallel Data Types of Parallelism Replication (Multiple copies of the same data) Better throughput for read-only computations Data safety Partitionin Parallel Data Types of Parallelism Replication (Multiple copies of the same data) Better throughput for read-only computations Data safety Partitioning (Different data at different sites More space Better

More information

SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains

SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains SCP: A Computationally Scalable Byzantine Consensus Protocol for Blockchains Loi Luu, Viswesh Narayanan, Kunal Baweja, Chaodong Zheng, Seth Gilbert, Prateek Saxena National University of Singapore Bitcoin

More information

Introduction to Distributed Systems Seif Haridi

Introduction to Distributed Systems Seif Haridi Introduction to Distributed Systems Seif Haridi haridi@kth.se What is a distributed system? A set of nodes, connected by a network, which appear to its users as a single coherent system p1 p2. pn send

More information

Distributed Consensus: Making Impossible Possible

Distributed Consensus: Making Impossible Possible Distributed Consensus: Making Impossible Possible QCon London Tuesday 29/3/2016 Heidi Howard PhD Student @ University of Cambridge heidi.howard@cl.cam.ac.uk @heidiann360 What is Consensus? The process

More information

A Lightweight Blockchain Consensus Protocol

A Lightweight Blockchain Consensus Protocol A Lightweight Blockchain Consensus Protocol Keir Finlow-Bates keir@chainfrog.com Abstract A lightweight yet deterministic and objective consensus protocol would allow blockchain systems to be maintained

More information

Computer Security. 14. Blockchain & Bitcoin. Paul Krzyzanowski. Rutgers University. Spring 2019

Computer Security. 14. Blockchain & Bitcoin. Paul Krzyzanowski. Rutgers University. Spring 2019 Computer Security 14. Blockchain & Bitcoin Paul Krzyzanowski Rutgers University Spring 2019 April 15, 2019 CS 419 2019 Paul Krzyzanowski 1 Bitcoin & Blockchain Bitcoin cryptocurrency system Introduced

More information

Distributed Commit in Asynchronous Systems

Distributed Commit in Asynchronous Systems Distributed Commit in Asynchronous Systems Minsoo Ryu Department of Computer Science and Engineering 2 Distributed Commit Problem - Either everybody commits a transaction, or nobody - This means consensus!

More information

CS5412: CONSENSUS AND THE FLP IMPOSSIBILITY RESULT

CS5412: CONSENSUS AND THE FLP IMPOSSIBILITY RESULT 1 CS5412: CONSENSUS AND THE FLP IMPOSSIBILITY RESULT Lecture XII Ken Birman Generalizing Ron and Hermione s challenge 2 Recall from last time: Ron and Hermione had difficulty agreeing where to meet for

More information

Consistency. CS 475, Spring 2018 Concurrent & Distributed Systems

Consistency. CS 475, Spring 2018 Concurrent & Distributed Systems Consistency CS 475, Spring 2018 Concurrent & Distributed Systems Review: 2PC, Timeouts when Coordinator crashes What if the bank doesn t hear back from coordinator? If bank voted no, it s OK to abort If

More information

Today: Fault Tolerance. Replica Management

Today: Fault Tolerance. Replica Management Today: Fault Tolerance Failure models Agreement in presence of faults Two army problem Byzantine generals problem Reliable communication Distributed commit Two phase commit Three phase commit Failure recovery

More information

Assignment 12: Commit Protocols and Replication Solution

Assignment 12: Commit Protocols and Replication Solution Data Modelling and Databases Exercise dates: May 24 / May 25, 2018 Ce Zhang, Gustavo Alonso Last update: June 04, 2018 Spring Semester 2018 Head TA: Ingo Müller Assignment 12: Commit Protocols and Replication

More information

Distributed Systems Consensus

Distributed Systems Consensus Distributed Systems Consensus Amir H. Payberah amir@sics.se Amirkabir University of Technology (Tehran Polytechnic) Amir H. Payberah (Tehran Polytechnic) Consensus 1393/6/31 1 / 56 What is the Problem?

More information

arxiv: v2 [cs.dc] 12 Sep 2017

arxiv: v2 [cs.dc] 12 Sep 2017 Efficient Synchronous Byzantine Consensus Ittai Abraham 1, Srinivas Devadas 2, Danny Dolev 3, Kartik Nayak 4, and Ling Ren 2 arxiv:1704.02397v2 [cs.dc] 12 Sep 2017 1 VMware Research iabraham@vmware.com

More information

arxiv:submit/ [cs.cr] 18 Oct 2017

arxiv:submit/ [cs.cr] 18 Oct 2017 Casper the Friendly Finality Gadget Vitalik Buterin and Virgil Griffith Ethereum Foundation arxiv:submit/2040540 [cs.cr] 18 Oct 2017 Abstract We introduce Casper, a proof of stake-based finality system

More information

Key-value store with eventual consistency without trusting individual nodes

Key-value store with eventual consistency without trusting individual nodes basementdb Key-value store with eventual consistency without trusting individual nodes https://github.com/spferical/basementdb 1. Abstract basementdb is an eventually-consistent key-value store, composed

More information

How Bitcoin achieves Decentralization. How Bitcoin achieves Decentralization

How Bitcoin achieves Decentralization. How Bitcoin achieves Decentralization Centralization vs. Decentralization Distributed Consensus Consensus without Identity, using a Block Chain Incentives and Proof of Work Putting it all together Centralization vs. Decentralization Distributed

More information

Distributed Algorithms Introduction

Distributed Algorithms Introduction Distributed Algorithms Introduction Alberto Montresor University of Trento, Italy 2016/04/26 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Contents 1

More information

Today: Fault Tolerance. Failure Masking by Redundancy

Today: Fault Tolerance. Failure Masking by Redundancy Today: Fault Tolerance Agreement in presence of faults Two army problem Byzantine generals problem Reliable communication Distributed commit Two phase commit Three phase commit Failure recovery Checkpointing

More information

Robust BFT Protocols

Robust BFT Protocols Robust BFT Protocols Sonia Ben Mokhtar, LIRIS, CNRS, Lyon Joint work with Pierre Louis Aublin, Grenoble university Vivien Quéma, Grenoble INP 18/10/2013 Who am I? CNRS reseacher, LIRIS lab, DRIM research

More information

BYZANTINE GENERALS BYZANTINE GENERALS (1) A fable: Michał Szychowiak, 2002 Dependability of Distributed Systems (Byzantine agreement)

BYZANTINE GENERALS BYZANTINE GENERALS (1) A fable: Michał Szychowiak, 2002 Dependability of Distributed Systems (Byzantine agreement) BYZANTINE GENERALS (1) BYZANTINE GENERALS A fable: BYZANTINE GENERALS (2) Byzantine Generals Problem: Condition 1: All loyal generals decide upon the same plan of action. Condition 2: A small number of

More information

CprE Fault Tolerance. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University

CprE Fault Tolerance. Dr. Yong Guan. Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University Fault Tolerance Dr. Yong Guan Department of Electrical and Computer Engineering & Information Assurance Center Iowa State University Outline for Today s Talk Basic Concepts Process Resilience Reliable

More information

CS 138: Practical Byzantine Consensus. CS 138 XX 1 Copyright 2017 Thomas W. Doeppner. All rights reserved.

CS 138: Practical Byzantine Consensus. CS 138 XX 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. CS 138: Practical Byzantine Consensus CS 138 XX 1 Copyright 2017 Thomas W. Doeppner. All rights reserved. Scenario Asynchronous system Signed messages s are state machines It has to be practical CS 138

More information

Practical Byzantine Fault Tolerance

Practical Byzantine Fault Tolerance Practical Byzantine Fault Tolerance Robert Grimm New York University (Partially based on notes by Eric Brewer and David Mazières) The Three Questions What is the problem? What is new or different? What

More information

Proof-of-Stake Protocol v3.0

Proof-of-Stake Protocol v3.0 Proof-of-Stake Protocol v3.0 Abstract Proof of Stake's security has proven itself reliable & effective over years of testing while at the same time solving Bitcoin s issues caused by the Proof of Work

More information

Byzantine Fault Tolerance

Byzantine Fault Tolerance Byzantine Fault Tolerance CS6450: Distributed Systems Lecture 10 Ryan Stutsman Material taken/derived from Princeton COS-418 materials created by Michael Freedman and Kyle Jamieson at Princeton University.

More information

Distributed Systems 2 Introduction

Distributed Systems 2 Introduction Distributed Systems 2 Introduction Alberto Montresor University of Trento, Italy 2018/09/13 This work is licensed under a Creative Commons Attribution-ShareAlike 4.0 International License. Contents 1 Getting

More information

Sharding. Making blockchains scalable, decentralized and secure.

Sharding. Making blockchains scalable, decentralized and secure. Sharding Making blockchains scalable, decentralized and secure. The Scalability Triangle Scalability Decentralization Semi-formally defining these properties Assume the total computational/bandwidth capacity

More information

Byzantine Failures. Nikola Knezevic. knl

Byzantine Failures. Nikola Knezevic. knl Byzantine Failures Nikola Knezevic knl Different Types of Failures Crash / Fail-stop Send Omissions Receive Omissions General Omission Arbitrary failures, authenticated messages Arbitrary failures Arbitrary

More information

Intuitive distributed algorithms. with F#

Intuitive distributed algorithms. with F# Intuitive distributed algorithms with F# Natallia Dzenisenka Alena Hall @nata_dzen @lenadroid A tour of a variety of intuitivedistributed algorithms used in practical distributed systems. and how to prototype

More information

OUROBOROS PRAOS: AN ADAPTIVELY-SECURE, SEMI-SYNCHRONOUS

OUROBOROS PRAOS: AN ADAPTIVELY-SECURE, SEMI-SYNCHRONOUS OUROBOROS PRAOS: AN ADAPTIVELY-SECURE, SEMI-SYNCHRONOUS PROOF-OF-STAKE BLOCKCHAIN Bernardo David Tokyo Tech & IOHK Peter Gaži IOHK Aggelos Kiayias U. Edinburgh & IOHK Eurocrypt 2018 Alexander Russell U.

More information

CS 261 Notes: Algorand

CS 261 Notes: Algorand CS 261 Notes: Algorand Scribe: Rachel Lawrence September 17, 2018 1 Introduction: Why Algorand? Algorand [6] is a cryptocurrency that works to reach consensus on transactions with a system based on Proof

More information

Lecture 12. Algorand

Lecture 12. Algorand Lecture 12 Algorand Proof-of-Stake Virtual Mining Proof of Stake Bitcoin uses proof of work to address sybil attacks and implement consensus Philosophy: Chance of winning in a block mining round proportional

More information

Fault-Tolerant Distributed Consensus

Fault-Tolerant Distributed Consensus Fault-Tolerant Distributed Consensus Lawrence Kesteloot January 20, 1995 1 Introduction A fault-tolerant system is one that can sustain a reasonable number of process or communication failures, both intermittent

More information

The Ripple Protocol Consensus Algorithm

The Ripple Protocol Consensus Algorithm Ripple Labs Inc, 2014 The Ripple Protocol Consensus Algorithm David Schwartz david@ripple.com Noah Youngs nyoungs@nyu.edu Arthur Britto arthur@ripple.com Abstract While several consensus algorithms exist

More information

Consensus & Blockchain

Consensus & Blockchain Consensus & Blockchain S P Suresh Chennai Mathematical Institute Formal Methods Update Meeting IIT Mandi July 17, 2017 The Bitcoin revolution is upon us What is Bitcoin? Bitcoin: an exciting new currency

More information

Recap. CSE 486/586 Distributed Systems Paxos. Paxos. Brief History. Brief History. Brief History C 1

Recap. CSE 486/586 Distributed Systems Paxos. Paxos. Brief History. Brief History. Brief History C 1 Recap Distributed Systems Steve Ko Computer Sciences and Engineering University at Buffalo Facebook photo storage CDN (hot), Haystack (warm), & f4 (very warm) Haystack RAID-6, per stripe: 10 data disks,

More information

ROUND COMPLEXITY LOWER BOUND OF ISC PROTOCOL IN THE PARALLELIZABLE MODEL. Huijing Gong CMSC 858F

ROUND COMPLEXITY LOWER BOUND OF ISC PROTOCOL IN THE PARALLELIZABLE MODEL. Huijing Gong CMSC 858F ROUND COMPLEXITY LOWER BOUND OF ISC PROTOCOL IN THE PARALLELIZABLE MODEL Huijing Gong CMSC 858F Overview Background Byzantine Generals Problem Network Model w/o Pre-existing Setup ISC Protocol in Parallelizable

More information

Distributed Ledger Technology & Fintech Applications. Hart Montgomery, NFIC 2017

Distributed Ledger Technology & Fintech Applications. Hart Montgomery, NFIC 2017 Distributed Ledger Technology & Fintech Applications Hart Montgomery, NFIC 2017 Let s consider a common scenario: Banks want to trade some asset class Participants in the market want to be able to efficiently

More information

Replication in Distributed Systems

Replication in Distributed Systems Replication in Distributed Systems Replication Basics Multiple copies of data kept in different nodes A set of replicas holding copies of a data Nodes can be physically very close or distributed all over

More information

A Scalable Smart Contracts Platform

A Scalable Smart Contracts Platform A Scalable Smart Contracts Platform! Shehar Bano! Postdoc, InfoSec group! University College London!! s.bano@ucl.ac.uk! @thatbano https://github.com/chainspace The Team Mustafa Al-Bassam! (UCL) Alberto

More information

Hybrid Consensus. Tai-Ning Liao, Xian-Ming Pan, Zhao-Heng Chiu, Imu Lin 1/65

Hybrid Consensus. Tai-Ning Liao, Xian-Ming Pan, Zhao-Heng Chiu, Imu Lin 1/65 Hybrid Consensus Tai-Ning Liao, Xian-Ming Pan, Zhao-Heng Chiu, Imu Lin Hybrid Consensus: Efficient Consensus in the Permissionless Model, 2017, Rafael Pass and Elaine Shi CornellTech, Cornell, Initiative

More information

Candidates Day Modeling the Energy Consumption of. Ryan Cole Liang Cheng. CSE Department Lehigh University

Candidates Day Modeling the Energy Consumption of. Ryan Cole Liang Cheng. CSE Department Lehigh University Candidates Day 2016 Modeling the Energy Consumption of Blockchain Consensus Algorithms Daniel Lopresti, Interim Dean P.C. Rossin College of Engineering and Applied Science July 30, April 15,2018 2016 Ryan

More information

Report to Brewer s original presentation of his CAP Theorem at the Symposium on Principles of Distributed Computing (PODC) 2000

Report to Brewer s original presentation of his CAP Theorem at the Symposium on Principles of Distributed Computing (PODC) 2000 Brewer s CAP Theorem Report to Brewer s original presentation of his CAP Theorem at the Symposium on Principles of Distributed Computing (PODC) 2000 Written by Table of Contents Introduction... 2 The CAP-Theorem...

More information

CS 4770: Cryptography. CS 6750: Cryptography and Communication Security. Alina Oprea Associate Professor, CCIS Northeastern University

CS 4770: Cryptography. CS 6750: Cryptography and Communication Security. Alina Oprea Associate Professor, CCIS Northeastern University CS 4770: Cryptography CS 6750: Cryptography and Communication Security Alina Oprea Associate Professor, CCIS Northeastern University March 30 2017 Outline Digital currencies Advantages over paper cash

More information

Dfinity Consensus, Explored

Dfinity Consensus, Explored Dfinity Consensus, Explored Ittai Abraham, Dahlia Malkhi, Kartik Nayak, and Ling Ren VMware Research {iabraham,dmalkhi,nkartik,lingren}@vmware.com Abstract. We explore a Byzantine Consensus protocol called

More information