Thursday, March 21, 2013

Using Offline Wallets in Armory Rock-Solid Security for the Masses


Using Offline Wallets in Armory

Rock-Solid Security for the Masses

Armory provide a first-of-its-kind interface for easily managing offline wallets. You can create your wallet on a computer that never touches the internet, yet still manage the wallet from an online computer with minimal risk of an attacker stealing your funds. By keeping all the private-key data on the offline computer, only someone with physical access to the offline computer can steal your Bitcoins.  And even if someone physically stole your offline system, it might take centuries for them to get through the advanced wallet encryption!  There is just no safer way to manage large sums of Bitcoins, and there is no simpler way to achieve this level of security than using Armory!
Armory offline wallets give you the convenience of a normal wallet for receiving Bitcoins and verifying payments, while giving you the ability to spend them in the simplest way possible.  When you want to spend money from an offline wallet, Armory provides an intuitive interface with clear directions.  It does not require synchronizing the blockchain with the offline computer, and does not require any data on the offline computer except for the Armory software and your wallet file.
If you are holding thousands of dollars worth of Bitcoins, it could be worth purchasing a low-end netbook just for this purpose! Something like the Eee PC from Asus costs between $200 and $300, yet can save you thousands of dollars in potential thefts, while also providing yourself with the peace of mind that your Bitcoins are not accessible to attackers.  Craigslist and Ebay are also good options for getting an inexpensive, used laptop.  Anything with 256 MB of RAM will work.
When you create an offline wallet and use a watching-only copy of it on an online computer, here’s what capabilities each one has:

How do offline wallets work?

You generate a wallet on the offline computer the same way that you do on an online computer. You then make a “watching-only” copy of that wallet to be used imported on the online computer.  Using this watching-only wallet, you can generate addresses and monitor payments exactly the same as any other wallet.  In order to send money, you will be doing the following:
  1. Create unsigned transaction (online).
  2. Sign it (offline).
  3. Broadcast it (online).
With a little practice, you will be executing offline transactions completely securely, in less than one minute!  Until then, the interface is loaded with instructions and descriptions of what you are doing, at every step.  You might not even need the following tutorial to help you!

Using an offline wallet in Armory:

NOTE(1):  There is no special version of Armory needed for the offline computer, and it does not need to be the same operating system as the online computer.   As long as you can install Armory and use USB drives, it will work.
NOTE(2):  You must be in “Advanced” or “Expert” usermode to use offline wallets.  “Advanced” is the default mode when you first install Armory, but some users change to “Standard” to simplify the interface.  You can switch modes from the main window menu under “User”.
First and foremost, you will need a computer that you don’t mind keeping disconnected from the internet. Such a computer does not have any particular resource requirements: pretty much any computer that boots into Windows or Linux, can run Armory in offline-mode.
Once you have Armory installed on the offline computer, you create a new wallet.  Don’t forget to print or copy by hand a paper backup!   Then you “create a watching-only wallet” and load it on the online computer (this part only has to be done once) The nature of Armory wallets is that the online computer will always generate the exact same addresses as the offline computer, but the online computer cannot spend any of the funds!
  1. Load Armory on the offline computer
  2. Create a new wallet (with or without encryption)
  3. Important: Make a paper backup!  Connect a printer via USB or copy the paper backup information by hand.   Make one or two copies, and store in a secure place.  This is a permanent backup of every address your wallet will ever create!
  4. Double click on the wallet and click on “Create Watching-Only Copy” on the right menu
  5. Save the file to the USB drive, eject, insert into online computer
  6. Load Armory on online computer, and select “Import Wallet” in the upper-right corner of the main window.  Import the wallet file on the USB drive.
  7. In the wallet-properties dialog, click on “Belongs To“, and click the checkbox that says “This wallet is mine“.  This makes sure that any funds in this wallet are part of your global balance.
Now that the wallets are setup, you can use the watching-only wallet exactly the same way as a regular wallet, except Bitcoins cannot be sent from it.   Use the “Receive Bitcoins” button to generate addresses for receiving payments, and incoming transactions will show up in the ledger with a slightly different color than your other wallets.
To send Bitcoins from your offline wallet, do the following:
  1. On the online computer, click the “Offline Transactions” button on the right, below the logo.  Select “Create New Offline Transaction.”  Alternatively, you can just select “Send Bitcoins” and select the watching-only/offline wallet.
  2. Create the transaction as you normally would but the “Send” button will be grayed out since the watching-only wallet cannot sign transactions..
  3. Click the button “Create Unsigned Transaction” on the left side.
  4. A window will open with the unsigned version of the transaction.  Press the “Save to file…” button to save a *.unsigned.tx to the USB key
  5. Insert USB key in offline computer, and click “Offline Transactions“, then select “Sign or Broadcast Tranasaction.
  6. Load the file from the USB key, then press the “Sign” button.   A confirmation window will appear.
  7. Verify the confirmation details before you sign it!   The benefits of an offline wallet are lost if you don’t make sure the details are correct!
  8. Click “Save to file…”.  It will overwrite the original *.unsigned.tx file with a *.signed.tx file.
  9. Eject the USB key and plug it into the online computer.  If the original window is still open, you can click on “Next Step” to get to the broadcast window.  If you closed Armory since then, you can use the same “Offline Transactions” button on the main window, and select “Sign or Broadcast Transaction“.  Once the file is loaded, some green text should appear telling you that the signature is valid and the “Ready to Broadcast!” button should become available.
  10. Press the button and you’re done!
Guidance is given at each step within the Armory software, so you may be fine without referring back to this page. And once you do this a few times, it will become a breeze!
Note: At no point in this process is any private data exposed through the transaction data.  It is perfectly safe to transfer the signed or unsigned transaction via email.  The biggest threat to an offline wallet is a USB-key virus that executes when plugged in.  However, such viruses would have to be highly targeted, and can be mostly mitigated by disabling USB-auto-run on the offline computer.

I’m Scared!

It’s natural to be uncomfortable using new software to store your precious savings, especially with such advanced features.  But you know that if you could trust it, it’s a feature you would love!   So, how do you calm your nerves about using such advanced features?
Try it out with small amounts of Bitcoins.  Any time you think to yourself, “Do I really trust this program?”  just pull out your USB key and execute a small offline transaction to yourself (or to make a donation to Armory developers!).  Whether it takes you a day or a year, you will eventually come to realize that offline transactions really do work.  Every time!

Step 1:

Make a new wallet as described above, but you must make a backup.  A paper backup is preferred, because you can visually verify that it is intact, and it’s easier to store (but it will require plugging your computer into your printer via USB cable).  A digital backup is fine if you make a couple copies, just in case one becomes corrupted.
Generate some addresses by clicking on “Receive Bitcoins” a few times.  Write down the first few letters of each address generated.

Step 2:

DELETE YOUR WALLET.  Why did we just delete it?  Because you’re about to prove to yourself that your backup works!  If you can restore the backup once, you can always restore the backup at any time in future.  Just don’t lose it!
On the main Armory window, click on “Import Wallet” in the upper-right corner, and select the type of backup you are restoring.  If it’s a paper backup, you’ll have to type it in manually — the time it takes to enter the wallet information is completely worth the peace of mind you get out of it.
Generate some addresses with the new wallet.  Check that they are the same as the addresses you wrote down earlier.

Step 3:

Using the wallet properties menu, click on “Create Watching-Only Copy” and save the file to a USB key.  Import the watching-only wallet on your online computer.  Generate a few addresses and compare to the ones you wrote down earlier.  I bet you are starting to feel better…
Transfer 0.5 BTC to one of these addresses.  Wait for a few confirmations.

Step 4+:

Whenever you are near your computer, you may ask yourself “Am I ready to trust this thing?”  If the answer is “No,” then get out your USB key and execute an offline transaction.  Follow the directions above to create an unsigned transaction for 0.01 BTC to one of your online wallets, transfer it to the offline computer, sign it, then bring it back and broadcast it.  You are now one step closer to realizing, it really does work!
If the answer is “Yes, I do trust the offline wallets,” well then you’re done!  Congratulations on having mastered the most secure Bitcoin wallet functionality in existence!

You’ll not only calm your nerves, but you’ll learn how to use the feature efficiently.  Once you get the hang of moving transactions around via USB drive, you should be able to execute an offline transaction in less than one minute!
If you do get this far, please consider sending a donation to the Armory developers (the donate button works for offline transactions, too!).  This feature was the prime motivation for creating Armory, and took many months of hard work to make it available to you, for free.  There are lots of new, innovative features planned, but it won’t be possible without you!

Armory Available Now! Version 0.87.2-beta !


Get Armory!

Armory Available Now!   Version 0.87.2-beta !

Armory is officially Beta!  All of its advertised features are functional and stable:
  • Multiple wallets
  • Deterministic wallets
  • Watching-only wallets
  • Offline wallets
  • One-time paper backups (digital backups, too!)
  • GPU-resistant wallet encryption
  • Key import and sweep
  • Message signing
NOTE:  Armory is a fairly resource-intensive desktop application (1.0-1.5 GB RAM usage), but a full installation only uses 50MB of disk space.  Armory is intended for Bitcoin power users who frequently benefit from the small disk footprint portability.  There are immediate plans to reduce Armory’s RAM usage, but will result in using a lot more disk space.  Therefore, the RAM reduction will be done after the initial beta release, so that users who prefer the current design can have a stable version of it.  If you have difficulty running Armory because of the RAM requirements — fear not, a new RAM-friendly version is coming soon!
Please download Armory below, then visit the Quick Start Guide for further instructions.


Armory Download Links

Windows Installers:

The above installers will work for both online and offline Windows systems.  Nothing except for the *.msi file is needed to install*.
*Some Windows users have reported that Armory will not run without the MSVC++ 2008 Redistributable package from Microsoft.  If you are experiencing problems loading Armory in Windows after a fresh install, please download and install that package.
If you have GPG installed, see the instructions at the bottom of this page to verify the authenticity of the downloaded packages.  The signed hashes are available at:


Ubuntu/Debian Packages

The above packages should work on most modern versions of Ubuntu and Debian-based distributions.  However, the packages have dependencies that Ubuntu does not have by default, which will be downloaded during installation.  See the next section for installation on an offline Ubuntu system.
Package managers in the latest versions of Ubuntu may complain about “poor package quality.”  Unfortunately, Armory developers are better at developing software than packaging it.  However, there is nothing wrong with the packages, and it is okay to click through the warning with “Install Anyway.”
There are no binaries available for other Linux distributions.  However, the Linux build instructions have proven to be quite easy with just a few commands.    See Building Armory from Source.  It may need some minor adaptation, but most users have reported a smooth build experience.

Linux – Offline Bundle for Ubuntu 10.04-32bit

The link below is for setting up an offline system without ever touching the internet.  The zip-file contains the exact same 32-bit package as above, but also includes all dependencies needed for an Ubuntu 10.04-32bit system to run Armory in offline mode.  It can be unpacked and installed on the first boot of a fresh OS install!
You can use any version of Armory after 0.60 for the offline computer, even if your online computer is running the latest version.  Ubuntu 10.04-32bit (Lucid Lynx) was chosen because it will work on just about any computer built in the last 10 years.  If you are undecided about which distribution to use, this is a good choice.  It can be downloaded from the Ubuntu release page.  Select the first link labeled “PC (Intel x86) Desktop CD.”
To use the offline bundle, install the Ubuntu 10.04-32bit with all the default options on the system.  On the first boot, you can unzip the bundle, double-click on the “Install_Armory_All.sh” file and select “Run in Terminal.”  You will type your password, and then Armory will be installed.  Once installed, it can be accessed via “Applications->Internet->Armory.”   You can click and drag it from the menu to an empty space in the top panel for easier access.

Mac/OSX

There are no official releases of Armory for Mac/OSX, because of the difficulty of packaging applications for it.  If you are not afraid of the command line (terminal), then you can follow the instructions on the Building Armory from Source page.
NOTE: Since version 0.85-beta, printing paper backups has stopped working in OSX.  It is highly recommended that you hand-copy the data on the paper backup, or copy it into a another program that can print it.   Hopefully this issue will be resolved in the near future!
UPDATE:  There is a running bounty for anyone who helps produce a distributable OSX package.   You can donate to the address:  1Armory1HBqc8dNEvHDuT9AYWPWf98aCzJ.  Discussion about this bounty can be found at the Official Armory-for-OSX Bounty thread.


Changelog

Version:  0.87-beta   (13 Jan, 2013)

  • Inflatable QR Codes Everywhere! QR codes added to multiple areas where addresses are displayed,  including the “Create Clickable Link” window which displays the full payment request in the QR code. Double-click on any QR code to inflate it to full screen.
  • Added Paper Backup info to “Backup Individual Keys”: If you have a lot of imported keys, you can now backup everything using the “Backup Individual Keys” dialog. It displays the same four lines as on your paper backup, at the top of the key list. Also added option to include the address pool to the backup.
  • Real support for Bitcoin-Qt/bitcoind 0.8+: Prior attempt at supporting 0.8 Satoshi client was broken due to incomplete information about the changes. Support has finally been implemented and tested.
  • New Right-Click Menu Options
  • Bugfix: Copying Payment Requests
  • Bugfix: P2Pool Transactions:   P2Pool wallets no longer crash Armory
  • Bugfix: Sweeping and Importing Addresses

Version:  0.86.3-beta   (23 Dec, 2012)

  • New right-click menu for the main ledger and address lists.  Includes direct link to view the selected information on blockchain.info.
  • Upgraded coin-control functionality to make it easier to identify the list of available addresses
  • New warnings and confirmation windows when signing offline transactions, to make sure the user is verifying the data before signing and broadcasting.
  • Bugfix: Unused addresses no longer “disappear” from your wallet when Armory is restarted.  The addresses never actually went anywhere, they simply were marked as “never seen” and thus not shown to the user.
  • Bugfix: All fields in the transaction are now sortable.  An optimization made for version 0.85-beta broke sorting on some fields.

Version:  0.86-beta   (7 Dec, 2012)

  • Coin Control (Expert Mode Only):  You can now control the source addresses for any transaction you construct, and can also specify custom change addresses.  Send coins back to first input address, or specify your own.
  • Fixed the bug causing transactions to show up twice for wallets that were just created.

Version:  0.85-beta   (30 Nov, 2012)

  • Multi-threaded Armory!  You can manage your wallets while Armory is scanning the blockchain!
  • Upgraded protocol to work with Bitcoin-Qt version 0.8+
  • Restore paper backups directly to encrypted files
  • (Expert-only)  Manually extend address key pools
  • Manually enter “bitcoin:” URLs from the “Send” window (in case clicking on it didn’t work)
  • Address filtering in wallet properties
  • Fixed a bug causing Armory to not detect some zero-confirmation transactions
  • Endless polishing…

Version:  0.82.2-alpha

  • URL/Link Creator
  • Minimize-to-system-tray
  • Full logging system implemented to improve bug reporting
  • Specify change address for outgoing transactions (Expert-mode Only!)
  • “MAX” button to help with sweeping your wallet
  • Version checking and notification window

Version:  0.81-alpha

  • Blockchain engine upgrade:   Previous versions will break when blockchain reaches 2GB
  • Win32 Support!
  • Transaction History Export:  Export your ledger to *.csv file, which can be loaded into a spreadsheet application.
  • Preferences Dialog:  Set your default transaction fee, date-display, and notification options.
  • Warning:  Slow loading in Windows!  The new blockchain utilities work as expected in Linux, but can take up to 3 minutes in Windows!  Yes, this is bad, but it will load eventually.   I will be improving this in the next release
  • Python-Independent Linux Packages:  Debian packages (*.deb) no longer dependent on user’s installed python version.  There is now only one *.deb file for each 32-bit and 64-bit linux.
  • Signed Debian Packages Debian packages now signed with my offline GPG-key (98832223)
  • Complete support for coinbase/P2Pool transactions  With a little pickaxe icon, a progress bucket based on 120 confirmations, and no more scary warnings!
  • Billions of bug-fixes: There’s so many I can’t even remember them all…

Version:  0.77-alpha

  • Major usability fix:  Introduction of table-sorting in 0.76 was done incorrectly.  It caused serious performance/usability issues with high-activity wallets.  This has been fixed in 0.77.
  • Linux .deb packages compiled correctly:  Accidentally used the wrong compiler options for the linux builds, causing it to crash regularly on some architectures.  This too has been fixed!

Version:  0.76-alpha

  • Fixed layouts: Armory now remembers window sizes and table column widths for most dialogs.  Also, more-intelligent resizing.
  • Table Sorting:  All major tables are now sortable by clicking on the table headers.  Useful for searching for comments, addresses, transactions, etc.
  • Armory home directory:  You can now start Armory with the “–datadir” option to use a non-standard home-directory.  Useful if you want to keep your wallets on a USB key.
  • Fedora Fix:  Crypto++ needed to be manually updated in order to be compiled on gcc 4.7+.  This fixes compiling on any system with the latest gcc, which includes the latest Fedora.
  • Fixed wallet corruption bug!  Wallet descriptions/labels longer than 256 characters can cause wallet corruption!  It’s a very simple bug and has been fixed now.
  • Duplicate wallet issue:  If you have a full wallet and watching-only copy both in the Armory directory, only one will be loaded, and sometimes it’s the wrong one.  This is fixed

Version:  0.75.1-alpha

  • Fixed URL-handling bug when user only has one wallet (Windows and Linux)
  • Fixed *.deb menu creation (Linux)
  • It appears that *.deb files now work perfectly without uninstalling previous version (Linux)

Version:  0.75-alpha

  • Full installers for both Windows (*.msi) and Debian/Ubuntu (*.deb)
  • System tray icon and notifications:  notifications of Bitcoins sent, received, or disconnect/reconnect of Satoshi client
  • URI Handling!  Clickable URIs will now open Armory and pre-fill the send-BTC fields.  Will alwaysask for confirmation before sending.  Try it after installing Armory!

Version:  0.73-alpha

  • Fixed nasty bug in Windows!  Satoshi client will now download the blockchain again…
  • Bulk address import/sweep
  • Address books!  Automatically populated from all address you’ve ever used for sending or receiving
  • Color scheme dramatically improved — works great with dark color theme!.
  • Single-instance: Armory will prevent you from opening it twice.  Your wallet files are safer now!

Version:  (0.70-beta)-alpha

  • RAM-REDUCTION COMPLETE!
  • Armory now consumes dramatically less RAM, it will even run on a linux system with 512 MB of RAM!
  • While it uses less RAM, the optimizations had a trade-off in Windows — it loads quite a bit slower.  Also, the improvements did not enable Armory to run in full-mode on 32-bit Windows.

Version:  0.60-alpha

  • Added wallet migration tool — can import all keys from older Satoshi wallets into Armory.  Do not use tool if your wallet was created by Satoshi client 0.6.0 or later.
  • Added efficiency and robustness patches for Linux/OSX.

Version:  0.56-alpha

  • Bug-fix release!   
  • Fixed a bug introduced in 0.55 causing error sending transactions.
  • Fixed a bug in the offline-wallet interface if offline system has a stale blockchain file (it doesn’t need the blockchain, but it was failing if one was there)

Version:  0.55-alpha

  • Full Windows binaries!  No need to install other programs anymore.  The download links include ArmoryQt.exe and all the necessary .dll’s!
  • Added “–noblockchain” option to CLI arguments
  • Added a message signing interface, allowing you to create and sign messages with private keys of any of your addresses.  For demonstration purposes, I have included a signature from my donation address verifying the md5sum of the zip files.
  • Added an ECDSA calculator.  You can now do elliptic-curve arithmetic with a nice interface.  Multiply public keys together, manually compute public keys, add elliptic curve points.

Verifying Downloaded Files

Armory is used to protect tens of thousands of dollars worth of BTC.  For this reason, some users want to make sure that the Armory installer they download has not been altered in any way.  Armory Ubuntu/Debian packages (*.deb files) are signed directly using the Armory GPG Signing Key (98832223).  And each release comes with a signed file containing the MD5 hashes of each installer — they are included with each new version on the code.google.com download page.   However, it is not easy to verify these signatures unless you have access to a Linux machine.  At the moment, the verification procedure on Windows is very difficult.
To verify in Linux, “cd” to the directory containing the installer (usually Downloads), download and import the Armory signing key from the ubuntu key-server, install the signature verification program, and then use it verify the signatures on the *.deb files:
$ cd Downloads   # the directory containing the *.deb
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 98832223
$ sudo apt-get install dpkg-sig
$ dpkg-sig --verify *.deb
If everything goes smoothly, you will see the following output:
$ sudo apt-key adv --recv-keys --keyserver keyserver.ubuntu.com 98832223
gpg: requesting key 98832223 from hkp server keyserver.ubuntu.com
gpg: key 98832223: public key "Alan C. Reiner (Armory Signing Key) <alan.reiner@gmail.com>" 

$ dpkg-sig --verify *.deb
Processing armory_0.85-beta_amd64.deb...
GOODSIG _gpgbuilder 821F122936BDD565366AC36A4AB16AEA98832223 1353699840
Processing armory_0.85-beta_i386.deb...
GOODSIG _gpgbuilder 821F122936BDD565366AC36A4AB16AEA98832223 1353699843

BITCOIN - 1 BITCOIN, 25 BITCOIN

BITCOINS LIVE BITCOIN TOKENS ACTUAL BITCOINS
1 BITCOIN, 25 BITCOIN

USA TO BTC - DWOLLA (USA) Cheapest Way

   
USD TO BTC

DWOLLA  (USA)  

DMONEY - DWOLLA - USD TO BTC

Bitcoin: more than just the currency of digital vice


Bitcoin: more than just the currency of digital vice

Bitcoin, the digital coin with a questionable past, is gaining ground as a legitimate currency, trading at $32 a share last week
Bitcoin
Bitcoin has become the world's best performing currency, with its value spiking at 130%. Photograph: Zach Copley/Flickr/CC.
Dale doesn't exactly look like an international crypto-criminal. He's soft-spoken, baby-faced, and a senior at an Ivy League college. But every couple of weeks the political science major logs onto the Silk Road, an online black market that has been described as an "amazon.com of drugs" to buy wholesale quantities of "molly" (also known as MDMA, a particularly "pure" form of ecstasy), LSD and magic mushrooms. Some of these will be for his personal use, and the rest he'll flog to less tech-savvy classmates at a mark-up of up to 300%. On a good weekend, he can net a profit of around $2,500. It's a more lucrative sideline than waiting tables.
 
While Dale prices his party favours in dollars, he pays for them the only way you can pay for anything on the Silk Road: by using Bitcoins, an untraceable digital currency founded in 2008 by the pseudonymous "Satoshi Nakomoto". Despite persistent efforts to uncover his identity, little is known about Nakamoto: he's the Banksy of the internet. Or, rather, he was. Nakomoto disappeared without a trace in 2011, after telling a developer "he'd moved on to other things". Bitcoin itself, however, shows no signs of vanishing: in the past two months it more than doubled its value against the dollar and after reaching an all-time high last Wednesday, it has been trading at above $32 a share.
Unless you're a major tech geek or a regular patron of the shadowy computer underworld known as the dark web, you've probably never heard of – let alone used – Bitcoins. But below the "real" economy of legal tender and federal reserves, Bitcoins fuel a shadow economy that connects students, drug dealers, gamblers, dictators and anyone else who wants to pay for something without being traced. It has found a niche as the currency of internet vice, digital "pieces of eight" for modern-day pirates.
Despite these unsavoury associations, Bitcoin is increasingly winning a place on the internet as a legitimate currency, albeit one that will probably never quite shake off its dodgy past. Bitcoin is part of a gradual, technological shift in the way we think about money. It poses a tangible threat to centralised banking and the guardians of fiat money. Bitcoin won't knock off the dollar any time soon; the euro can sleep easy. But it is clearly a force to be reckoned with. Bitcoin has become the world's best performing currency, with its value spiking 130% just this year.
Bitcoins, unlike the cash you have in your pocket, are finite. There are currently 10.8m Bitcoins in the system, and this will cap out at 21m coins by the year 2140, according to market research firm ConvergEx. Limiting supply has been a major plus for Bitcoins, and a major reason why prices have gone up.
If you want to buy Bitcoins you simply go to an online exchange service such as Bitinstant and convert your local currency into the virtual money. These are then stored in a "wallet", which functions as a sort of online bank account. You can then go and spend these anywhere that takes Bitcoins to buy anything from socks to drugs.
The Bitcoin network is structured like a guerilla movement: it is decentralised, controlled by its users rather than governments. This means it is (theoretically, at least) anonymous, and that, unlike credit cards and PayPal, which block payments from a number of countries, it enables instant payments to anyone, from anywhere in the world. That's why criminals love it and why some online retailers do, too. It's money without any kind of safety net below it. There's no legislation to protect your investment and you can't protest fraud.
It's worth bearing in mind that while Bitcoin operates outside the parameters of governmental control and is often used to dubious ends, so too is a lot of the money we see around us. The US Treasury printed 3bn $100 bills in the 2012 fiscal year and, 80% of them go overseas, according to Federal Reserve estimates. As Nicholas Colas, ConvergEx Group chief market strategist, notes, "many of them simply facilitate the global drug and arms trade, not to mention tax evasion and human trafficking".  Bitcoins fit into the world of real currency more than anyone would like to think.
While governments and legislators have long been waging wars on traditional funny money, they are only just starting to wake up to the effects alternative currencies may have on the financial landscape. In 2011, two Democratic senators, alerted to the thrills of the Silk Road by a Gawker article, wrote to the US attorney general demanding that something be done about Bitcoin. And in October last year, the European Central Bank published a paper that recommended that developments in virtual currencies be regularly examined to reassess the risks.
The association between Bitcoins and drugs is clearest on Silk Road, where the currency is the only method of payment that is accepted. But Dale, the Ivy League student, uses the currency with care – not least because of its volatility. "I try to purchase only as many as I will need for a specific transaction, because they have historically had pretty wild inflation and deflation."
Dale sees Bitcoins as the glue that binds a certain type of digital trade: "It seems to me like Bitcoins are essential for the currently thriving digital underground economy, but they also represent the beginning of an extra-governmenta, international digital economy."
Bitcoin isn't just for petty criminals, however: it has also made its debut in geopolitics. Last year, Iran was cut off from the European and US currency systems. High inflation caused the native currency, the rial, to plummet in value. With no dollars or euros available, Iranians used Bitcoin as a way to gain access to the international currency markets: they bought Bitcoins and later swapped them for dollars through an exchange site like Mt.Gox.
While Bitcoin has so far operated at the margins of the economy, there is some evidence that it is slowly entering the mainstream. Wordpress,Reddit, and Megaupload have just started to accept Bitcoins and you can now even buy pizza with them. In December, the currency took its biggest step towards legitimacy yet, after partnering with a payments service provider in France. They also had a booth at this year's Consumer Electronics Show (CES), which featured a picture of a wholesome looking woman holding an iPhone running a Bitcoin app.
Edward Castronova, a professor of telecommunications at Indiana University Bloomington, who has who pioneered the economic study of virtual worlds, doubts that Bitcoins will ever become a mainstream currency, however. Castronova's scepticism stems from the way that Bitcoin is structured as a currency with a fixed size. "It just isn't very fun. We've learned from game currencies that people like a little inflation in their economies. But Bitcoin is built to deflate. And we've just seen, culturally, people don't like deflation."
While it seems unlikely that Bitcoins will ever represent a full-scale challenge to regular money, they point to the rise of virtual currencies and changing definition of currency. Alternative currencies continue to slowly creep in around the edges of the economy: in February, Amazon announced that it is introducing its own custom currency called, rather imaginatively, Coins.
Starting in May, US customers will be able to use Coins to buy apps, games and in-app items on the Kindle Fire, with Amazon giving out "tens of millions of dollars worth of Coins" as a preliminary stimulus package. 
And calculations by the Economist in January 2005 suggested that the total stock of unredeemed frequent flyer miles was worth more than all the dollar bills in circulation.
Castronova notes that among young people, the mental accounting on different sorts of "money" is already very fuzzy. "Twenty-year-olds don't see any difference at all between dollars, gold coins, GPAs," said Castronova. "They're all just digital score sheets".
The future of money may or may not include a Federal Reserve Bank of Amazon, but it probably does involve the gradual decentralisation and democratisation of currency. Virtual currencies aren't just a new-fangled sort of Monopoly money. Rather, they may just be the thing that ends the monopoly on money.