Dump from a presentation I gave at the uni.

Bitcoin advantages

  1. No central point of trust
  2. Incentives and economic system
  3. Predictable money supply
  4. Divisibility and fungibility
  5. Versatility, openness, vibrancy
  6. Scripting
  7. Transaction irreversibility
  8. Low fees and friction
  9. Readily available implementations

Threats:

  • compromised private key
  • signature forgeries

Posible solutions:

  • threshold cryptography - split private keys into multiple devices
  • super wallet - threshold cryptography + sub-wallet in a smartphone

Accidental loss of bitcoin

lost private key = zombie coins

Solutions:

  • backup
  • pseudo random keys (keep only a seed)
  • encryption
  • trusted paths (DigiPass)

Deflation

  • Bitcoin’s supply was planned at the very beginning
  • there will never be more than 21M Bitcoins (lost included)
  • growing value of Bitcoin encourages saving
  • saving decreases circulation
  • low circulation discourages block creation
  • low block creation may lead to sudden collapse of value or large-scale fraud

History revision attack

  • if two blocks are published nearly simultaneously, a fork in the chain can occur
  • nodes are programmed to follow the blockchain whose total proof-of-work difficulty is the largest and discard blocks from other forks
  • that makes the “history revision attack” possible

There are some simple guidelines defending against the attack

  • trust your own remembered history
  • don’t trust ancient forks

Scalability problems

  • smooth operation of Bitcoin relies on the timely broadcast of transactions and blocks
  • wallet software fetches the entire Bitcoin blockchain at installation
  • all new transactions and blocks are (supposedly) broadcast to all nodes
  • private key storage is dynamically growing

Solutions

  • verifiers, e.g. nodes that create new blocks, need to receive all transactions
  • clients, e.g. nodes that are not minting new coins, need to receive only transactions payable to their public keys
  • a third-party cloud service provider might filter Bitcoin transactions, and sends only relevant transactions to nodes that have registered for the service

Improving anonymity

  • multiple public keys of the same user can potentially be linked when the user pays change to herself 
  • to address this issue, third-party services called mixers take multiple users’ coins, mix them, and issue back coins in equal denominations
  • a malicious mixer can cheat and not pay the money back
  • a cautious user could send the money to the mixer in small amounts, and only continue sending when the mixer has paid back

Conclusion

  • Bitcoin’s appeal lies in its simplicity, flexibility, and decentralization
  • the core design could support a robust decentralized currency if done right