How to make bitcoin a better currency
Dump from a presentation I gave at the uni.
Bitcoin advantages
- No central point of trust
- Incentives and economic system
- Predictable money supply
- Divisibility and fungibility
- Versatility, openness, vibrancy
- Scripting
- Transaction irreversibility
- Low fees and friction
- 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