Lect. 10
Lect. 10
Ravi’s Computer may not be connected to the network at the transaction time
Scaling Dynamics
• At any given time:
– All nodes have a sequence of blocks of
transactions they’ve reached consensus on
– Each node has a set of outstanding transactions
it’s heard about
Hardness of Consensus
• Nodes may crash
• Nodes may be malicious
• Network is imperfect
– Not all pairs of nodes connected
– Faults in network
– Latency
• No notion of global time
Impossibility
• Byzantine generals problem
• Fischer-Lynch-Paterson (deterministic nodes):
consensus impossible even with a single faulty
node
Possible Solutions
• Paxos
• Never produces inconsistent result, but can
(rarely) get stuck
What does Impossibility Imply?
• These results say more about the model than
about the problem
• The models were developed to study systems
like distributed databases
Bitcoin difference from Distributed
Systems
• Introduces incentives
– Possible only because it’s a currency!
• Embraces randomness
– Eventual consistency – no deadline for consensus
– Consensus happens over long time scales — about
1 hour
No identities for Bitcoin Nodes
• Identity is hard in a P2P system — Sybil attack
• anonymity is a goal of Bitcoin – although what
it achieves is pseudo-anonymity
Questions???