Lecture 11: Altcoins
Three ways to improve Bitcoin
- Code update – This can update or change the P2P network
- Soft fork – To introduce a stricter verification for example P2SH
- Hard fork – transaction improvements and consensus change
Altcoin = Any cryptocurrency except Bitcoin
Launching an altcoin
- Sales pitch – new features
- Value/exchange rate
- Code
- Miners – the value of the currency will bring them or go for merge mining (explained below)
- Genesis block – For bootstrapping the right blockchain, it can be rooted in Bitcoin as well
Examples,
- Mazacoin – For sovereign tribes in the US
- Auroracoin – For Iceland. Only 30K out of 300K claimed it. Price immediately tanked.
How to do the initial allocation?
- Just start mining – Bitcoin approach.
- Pre-mine – allocated to the founders or “pre-mine with delay” to allocate after a certain time has passed
- Auction
- Hard fork Bitcoin – everyone who owns Bitcoin gets a proportion of the new currency
- One-way peg – Proof-by-burn of Bitcoin. The person burns Bitcoin by sending it to H(pk) = “Altcoin Id|Ka”. XCP (Counterparty) did this. One gets the coins by publishing the proof of burn onto a new chain. This sets up the ceil for the exchange rate as well as ceil for the new coin’s price.
- Two-way peg – side chains.
This requires a soft fork of BTC.
Mining
Mining new coin is risky since there is no mining power backing the new coin, coiledcoin was killed by 51% attack. Alternatively, launch using a new Proof-of-work.
Another alternative is merge mining – BTC miner can mine altcoins for free. Miners including the hash of the altcoin block in the coinbase of the BTC block. Altcoin becomes a little less efficient since one has to check both the validity of the altcoin and that the bitcoin block contains the hash of the altcoin block – the bitcoin block does not even have to be valid. That’s why it is possible to merge mine altcoin block faster than bitcoin as well.
Overlay currency
Use Bitcoin blockchain as a ledger. For example, Mastercoin and Counterparty. The only problem is that one cannot prevent double-spending of an altcoin like that, so, one has to parse the full chain of Bitcoin to verify to ensure that the altcoin is not being double-spent => no light nodes are possible.
Application-specific Cryptocurrencies (Namecoin)
Namecoin’s goal was decentralized name-value mapping. Added three op-codes, NAME_NEW to add a new hash(name). NAME_FIRST_UPDATE to add (name, value) pair, and NAME_UPDATE to update the value for an existing name. Name claims expire after one year (unless updated). Hash was done to avoid front-running attack but a randomized commitment would have been better to avoid brute-forcing. This didn’t work that well in practice since all the good names were taken by squatters.