As American consumption habits become increasingly focused on online transactions and e-commerce, companies have been striving to find a model for a digital currency that works. Facebook's credit system is probably the most visible example, allowing users to purchase apps and games within the social network's vast ecosystem. But should each website devise it's own internal currency system? And is the Web too expansive and fragmented for a digital version of a currency exchange to work?
Once you download and run the Bitcoin client software, it connects over the Internet to the decentralized network of all Bitcoin users and also generates a pair of unique, mathematically linked keys, which you'll need to exchange bitcoins with any other client. One key is private and kept hidden on your computer. The other is public and a version of it dubbed a Bitcoin address is given to other people so they can send you bitcoins. Crucially, it is practically impossible--even with the most powerful supercomputer--to work out someone's private key from their public key. This prevents anyone from impersonating you. Your public and private keys are stored in a file that can be transferred to another computer, for example if you upgrade.A Bitcoin address looks something like this: 15VjRaDX9zpbA8LVnbrCAFzrVzN7ixHNsC. Stores that accept bitcoins--for example, this one, selling alpaca socks--provide you with their address so you can pay for goods.When you perform a transaction, your Bitcoin software performs a mathematical operation to combine the other party's public key and your own private key with the amount of bitcoins that you want to transfer. The result of that operation is then sent out across the distributed Bitcoin network so the transaction can be verified by Bitcoin software clients not involved in the transfer.Those clients make two checks on a transaction. One verifies the mathematical relationship between the public and private keys to confirm that the true owner of the pair sent the money; the second refers to a public transaction log stored on the computer of every Bitcoin user to confirm that the person has the bitcoins to spend.When a client verifies a transaction, it forwards the details to others in the network to check for themselves. In this way a transaction quickly reaches and is verified by every Bitcoin client that is online. Some of those clients - "miners" - also try to add the new transfer to the public transaction log, by racing to solve a cryptographic puzzle. Once one of them wins the updated log is passed throughout the Bitcoin network. When your software receives the updated log it knows your payment was successful.