wow's Studio.

Cryptocurrency by Princeton[2.2]

Word count: 207Reading time: 1 min
2021/03/31 Share

Lecture 2.2: Distributed consensus

Bitcoin’s key challenge

Key technical challenge of decentralized e-cash: distributed consensus


Why consensus protocols?

Traditional motivation: reliability in distributed systems

Distributed key-value system store enables various applications: DNS, public key directory, stock trades…


Defining distributed consensus

two requirements:

  • The protocol terminates and all correct nodes decide on the same value;
  • This value must have been proposed by some correct node;


Bitcoin is a peer-to-peer system

image-20210331231416066


How consensus could work in Bitcoin

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;(consensus has not yet happended)

And then they excute together some consensus protocol:

image-20210331232422783

you can select any of these valid blocks, and add it to the consensus block chain.


Why consensus is hard

This has some similarities to how Bitcoin works, but it’s not exactly Bitcoin works.

There are really hard technical problems.

  • Nodes may crash;
  • Nodes may be malicious;
  • Network is imperfect:
    • Not all pairs of nodes connected;
    • Faults in network;
    • Latency;(which leads to no notion of global time)


Many impossibililty results

  • Byzantine general problems;
  • Fischer-Lynch-Paterson (deterministic nodes): consensus impossible with a single faulty node;
CATALOG
  1. Bitcoin’s key challenge
  2. Why consensus protocols?
  3. Defining distributed consensus
  4. Bitcoin is a peer-to-peer system
  5. How consensus could work in Bitcoin
  6. Why consensus is hard
  7. Many impossibililty results