The dot com bubble and the bitcoin boom

In the 90s the internet boom happened. It was two things: a revolution in the way we create, organise and share information, and a speculative investment mania dubbed the dot com bubble. One of those things survived and grew, the other popped.

Right now the bitcoin boom is happening. It is two things: a revolution in the way we transfer and store money, and a speculative investment mania yet to be dubbed. Predicting the long term value of a bitcoin is a mug’s game. If/when the bubble pops it won’t be the end though, just like with the dot com bubble.

The more interesting part of bitcoin is the part that will endure no matter what happens to the price. Bitcoin is a decentralised system of transferring money. No central authority is in control, no one can arbitrarily decide that an organisation is illegal and cut off payments. This is both a good and a bad thing depending on the organisation and your personal politics; for example I think that bypassing the financial blockade on wikileaks is great, but that bypassing local gambling regulations and making money off of problem gamblers is bad. Either way it’s certainly interesting, because it’s very hard to stop it. Regulation and illegality could make using bitcoin inconvenient, but it’d probably still be more convenient than using cash for the same purposes. Bitcoins are like cash you can send overseas as quickly and easily as an email.

Bitcoin also cuts out the financial middle-men to a degree. There are no banks, paypal, or visa networks to take their cut. There are some small fees to keep the network going (currently less than 10c per transaction) which get paid to the distributed network of people verifying all these transactions to make sure no one double spends their bitcoin balance. There are payment processors like bitpay which take their cut in return for making it easy for merchants to accept bitcoin, but using them is entirely optional.

In addition to just cheaper transactions, there are some applications where I would find bitcoin more useful than traditional currency/payment processors. Sending money to relatives overseas? Want to buy stuff from overseas to avoid the ridiculous regional pricing, but don’t have a US based credit card? The other day I paid for a couple of coffees at a nearby cafe with bitcoin, and was surprised at how quick and easy it was. Visa paywave still beats it, but it’s comparable to counting coins or pin/sign credit card transactions and given that bitcoin point of sale systems are still in their infancy this will no doubt improve. I’d be sceptical when people say that bitcoin is going take over a good proportion of the payment processing / money sending market, but I think it will at least get a tiny slice of something. Until an even better alternative is invented of course.

Finally the USA style libertarians jumping on the bitcoin bandwagon will tell you that all governments will eventually print so much fiat money that it will be devalued, or just go the way of Cyprus and freeze everyone’s bank accounts. By contrast they say that bitcoin is deflationary (there can only ever be 21 million of them “printed”) and they can’t be seized as long as you keep the password to yourself. Sure bitcoin is deflationary in the sense that supply is limited, but that doesn’t mean the value can never drop; the other side of that equation, demand, is completely untethered. And while no one can seize your bitcoins, the downside of no centrally trusted bank / government is that you might lose your bitcoins to hackers, hard drive failure, forgetfulness, death or the dust bin and you’ll never get them back.

Full disk encryption chaining with dm-crypt, cryptsetup and luks

In a fit of either curiosity or tinfoil induced paranoia, you decide to set up full disk encryption on your machine. But it’s really annoying because you have multiple physical disks, and you can’t be arsed entering passwords for each one separately at boot up. So what do you do? You stick a keyfile on the first encrypted disk, and decrypt the others with that instead of a password. That way they are “chained” together – the password decrypts the first disk, which unlocks the file to decrypt the secondary disks.

Here’s how you do it (works on debian wheezy):

  1. Encrypt all disks normally using luks/cryptsetup/disk utility
  2. Set them all up to be mounted at boot by fiddling with crypttab and fstab (arch wiki should have you covered)
  3. reboot and go through the tedium of entering multiple passwords
  4. generate yourself a new keyfile for the secondary drives: # dd if=/dev/urandom of=mykeyfile bs=512 count=8
  5. stick that keyfile somewhere safe on the primary encrypted disk (with admin read only access)
  6. add the keyfile to a luks keyslot on the secondary drives: # cryptsetup luksAddKey /dev/[volume] /path/to/mykeyfile
  7. fiddle with crypttab to make it use the keyfile on boot: [volume]_crypt UUID=deadbeef-dead-beef-dead-beefdeafbeef /path/to/mykeyfile luks
  8. reboot and test it

Be sure not to store the keyfile somewhere stupid where it will be unencrypted, like in /boot for instance. Bonus points for being patient and using a better source of randomness than /dev/urandom. The usual disclaimers apply, I don’t really know what I’m talking about, so don’t use this method to secure your nuclear launch codes, blame me if someone steals your data, or blame me if you can’t decrypt the drive and lose all your data.