I’ve received a few emails from readers lately asking if I could explain what Bitcoin is and what my thoughts are on it. So, I want to take a few minutes and try my best to explain Bitcoin in terms that make sense. To begin with, Bitcoin is a digital currency system that operates entirely on a Peer-to-Peer network over the internet. Bitcoin does not have any central authorities or issuers. Because of this, Bitcoin traders do not have to pay transaction fees to banks or credit card companies like Visa, Master Card, or Discover. Since Bitcoin does not rely on any centralized bank or authority, there is no single point of failure and no possibility of corruption.
Bitcoin transactions are made by one trader digitally signing a transaction of some amount of the currency over to another trader. (“trader” meaning Bitcoin user). When a transaction is signed (made), the entire transaction is broadcast to all nodes on the BTC network. Other nodes (computers) on the BTC network will process this transaction by running thru a series of possible encryption keys until a match is made. Once a transaction has been verified, the Bitcoins are stored in a “wallet” for the receiving trader which can be stored on their local desktop or within the BTC network itself. Even though Bitcoin transactions are accessible by all nodes on the BTC network, there is still no way of linking any transaction to a specific trader.
Before a transaction can be “confirmed”, it must pass a proof-of-work system which verifies the transaction as described above, but is also checked against double-spending. Since transactions are broadcast to all nodes on the BTC network, knowing which node will receive and process the transaction first, you would think that payments could be processed multiple times at the same time. But, that’s where the proof-of-work system helps out. All payments are initially recorded in an unconfirmed state. It isn’t until the transaction has been verified against the proof-of-work system 6 times that it truely becomes confirmed. However, it only takes 1 confirmation for the payment to be authorized which makes the Bitcoins available to the receiver almost immediately.
After payments have been confirmed and Bitcoins have been received and stored in the receiver’s wallet, Bitcoins can then be converted to other real-world currencies in person at local exchangers such as Bitomat, Britcoin, Mt. Gox, and TradeHill. A couple of weeks ago, several Bitcoins were stolen by an attacker that gained access to the Mt. Gox network. The only reason Bitcoins were “stolen” was because Mt. Gox had recorded usernames, emails, and MD5 hashed passwords of over 60,000 users which were leaked into the public domain. Without knowing these 3 pieces of information, it is pretty much impossible for an attacker to steal your Bitcoins. Likewise, it is also pretty much impossible to fake a payment or to transfer Bitcoins from another account into your own without knowing the entire transaction trail of the sender and receiver’s wallets.
Since Bitcoins transactions are logged on the BTC network, the receiver does not have to have the Bitcoin software running at the time of transaction. Instead, the payments are recorded in a public database which requires a lot of processing power. To handle the requirements that are demanded for processing and approving transactions, users are building their own processing centers using distributed systems and an abundance of GPUs. In a recent Bloomberg article, I read that some users are creating massive processing centers built entirely of low-end computers with several GPUs installed. In return for sharing this processing power, the users are paid with Bitcoins for all transactions that their systems process. In fact, there are lots of users that make their entire livings now just by crunching numbers for the BTC network. And, there are all kinds of brick and mortar stores popping up around the world that are accepting Bitcoins as payment for real-world goods. So, as you can see, there are plenty of opportunities to make real money by participating in the Bitcoin phenomenon.
It’s only been recently that I’ve began playing with Bitcoin myself. I have already begun work on Android and Blackberry apps that allow you to send Bitcoins from one phone to another. I have also downloaded wrappers of the Bitcoin library for Java & C# which I have used to start work on desktop apps for accessing the BTC network. Since I don’t have enough experience with the software & framework yet to have a valid opinion about the mechanics of Bitcoin, I can say that from what I’ve seen so far the entire concept is amazing. I really love the idea of not having 1 central authority or point of failure to rely on (or avoid) for handling my financials. At the same time, the anonymity of Bitcoin makes it easy for illegal activities to thrive. Because of this, I do believe that governments will be stepping in soon in an attempt to control Bitcoin which will defeat the entire purpose behind it.
Also, the whole invention of Bitcoin baffles me a little. The Bitcoin system was based mainly on a self-published paper by someone going by the name of Satoshi Nakamoto. However, no one really knows who this is. Satoshi claims to be of Japanese descent, but there are no records to confirm that. So, Bitcoin could very well have been conceived by terrorists, drug dealers, or even aliens. Who knows? Satoshi released his Bitcoin whitepaper in 2008 and contributed code until late 2010. I’m always a little bit skeptical of investing too much into a system where the originator has bailed on the project.
Overall, I like the concept of Bitcoin and can’t wait to see where it takes us. I believe that Bitcoin has a lot of potential for changing the world. Even if we don’t stick with Bitcoin in its’ current form, I do believe that it has opened the door for greater things to come. I just hope that governments don’t screw it up like they do with most things that are good for us.
Let me know what you think about Bitcoin in the comments below. Feel free to share links to more resources and information.
