"Voting Software" xkcd.com/2030/ Cryptocurrencies & - - PowerPoint PPT Presentation

voting software
SMART_READER_LITE
LIVE PREVIEW

"Voting Software" xkcd.com/2030/ Cryptocurrencies & - - PowerPoint PPT Presentation

"Voting Software" xkcd.com/2030/ Cryptocurrencies & Security on the Blockchain The Blockchain Prof. Tom Austin San Jos State University Lab Review Byzantine General's Problem (Lamport et al. 1982) Generals decide


slide-1
SLIDE 1

"Voting Software"

xkcd.com/2030/

slide-2
SLIDE 2

Cryptocurrencies & Security on the Blockchain

  • Prof. Tom Austin

San José State University

The Blockchain

slide-3
SLIDE 3

Lab Review

slide-4
SLIDE 4

Byzantine General's Problem

(Lamport et al. 1982)

  • Generals decide whether to attack a

city.

  • If all (or most) attack, victory is sure.
  • If insufficient forces attack they will

be crushed.

slide-5
SLIDE 5

Complications

  • Some of the generals are traitors.

– Fake messages. – Lie about messages received.

  • Messengers may be killed.
  • Should you confirm messages?
  • Should you confirm the confirmations?
  • Should you confirm the confirmations of the

confirmations?

slide-6
SLIDE 6

Traitorous Lieutenant

(from Lamport et al. 1982)

slide-7
SLIDE 7

Traitorous General

(from Lamport et al. 1982)

slide-8
SLIDE 8

Previous Solutions for Byzantine Fault Tolerance

  • Paxos

– Provides distributed consensus – Formal safety guarantees – Complex

  • Raft

– Simplified version of Paxos – Also makes formal safety guarantees – Still complex

slide-9
SLIDE 9

James Mickens' The Saddest Moment "Whenever I go to a conference and I discover that there will be a presentation about Byzantine fault tolerance, I always feel an immediate, unshakable sense of sadness …"

slide-10
SLIDE 10

Distributed Consensus

  • Anyone could lie

to us.

  • With crypto-

currencies, everyone is motivated to lie.

slide-11
SLIDE 11

So what can we trust?

Greed

slide-12
SLIDE 12

Nakamoto Consensus

  • Probabilistically offers Byzantine fault

tolerance.

  • Solving PoW puzzle determines "leader".

– In other words, who gets to make a block.

  • Incentive structure.

– More profitable to mine than double-spend.

slide-13
SLIDE 13

What is a blockchain

  • Data
  • Cryptographic hash linking

blocks

  • Sybil resistance
slide-14
SLIDE 14

Block Information

  • Version
  • Timestamp
  • Previous block hash
  • Proof-of-work (PoW) target
  • Nonce (the "proof")
  • Merkle root
slide-15
SLIDE 15

Block Information

  • Version
  • Timestamp
  • Previous block hash
  • Proof-of-work (PoW) target
  • Nonce (the "proof")
  • Merkle root

The data

slide-16
SLIDE 16

Block Information

  • Version
  • Timestamp
  • Previous block hash
  • Proof-of-work (PoW) target
  • Nonce (the "proof")
  • Merkle root

The link

slide-17
SLIDE 17

Block Information

  • Version
  • Timestamp
  • Previous block hash
  • Proof-of-work (PoW) target
  • Nonce (the "proof")
  • Merkle root

The Sybil resistance

slide-18
SLIDE 18

What data structure is a blockchain?

  • A tree

–With mostly dead branches

  • Orphan blocks

–The surviving branches have names:

  • Bitcoin Cash, Bitcoin Gold, etc.
  • A chain of "finalized" blocks
  • A tree of remaining possibilities
slide-19
SLIDE 19

Blockchain Properties

  • Distributed
  • Decentralized
  • Immutable history
  • Time-stamping
slide-20
SLIDE 20

Blockchain Limitations

  • Establishes agreed-upon ordering not

necessarily the original ordering.

  • Nasty stuff stored on the blockchain.
  • Assumes actors are

–Rational –Incentivized by profit

slide-21
SLIDE 21

Irrational Actors

slide-22
SLIDE 22

Nation-states

slide-23
SLIDE 23

Lab: Blockchain Logger

Details in Canvas and on course website.