Thursday 29 November 2012

Crypto Currency

So you think that money is the root of all evil? Have you ever asked what is the root of money? 
Ayn Rand

Yes, [we will not find a solution to political problems in cryptography,] but we can win a major battle in the arms race and gain a new territory of freedom for several years. Governments are good at cutting off the heads of a centrally controlled networks like Napster, but pure P2P networks like Gnutella and Tor seem to be holding their own. It's very attractive to the libertarian viewpoint if we can explain it properly. I'm better with code than with words though.
"Satoshi Nakamoto"


Computer software is an abstract concept for many. People generally have no idea how Facebook works, how emails get routed or how smartphones perform all their tricks. Developers do an exceptional job of abstracting away from all the low level details that underpin such software. What has software got to do with money though? Enterprising software developers have been at it again, creating a new money known as BitCoin (a dedicated wiki can be found here with further details). This article will not only attempt to explain this new concept that has the potential to revolutionise society, but along the way we will explore how the marketplace free of any Government interference, functions, and how this makes all of our lives better. Its an article of some length, so please ensure you have a large hot beverage at hand, take a breath; let us begin.

Let me start and re-hash what my previous articles have said; I am a firm believer in the fact that Governments should not be in the money business, such a task should be left to the free market. I've also discussed that consumers should select good money, be that commodity backed, in good faith or some clever new innovation that could only occur spontaneously from the free market. Individuals have attempted to challenge the State held monopoly of money by creating their own, a notable case is Bernard von NotHaus with his Liberty Dollar, however such activities have caused Governments to clamp down on challenges to their power. Governments don't like free money, shaking down individuals who challenge their 'wisdom'. Currencies issued from a central organisation will always be an easy target for the Government to shut down. 

Step forward a Cryptographic Currency known as Bitcoin, with the potential to revolutionise e-commerce and challenge the governments monopoly of money. It uses modern day Cryptography (Mathematics) to solve the conundrum of having a currency that is devoid of central control. The protocol functions in a peer-to-peer network. Rather than having a central third party checking the transactions to be correct, many users who are scattered all over the world perform such checks (known technically as miners). Think of it as the accounting ledger being public to all and distributed in such a way that everyone has access to it and works together to ensure its integrity. Integrity is also enforced by the difficulty of the Cryptographic problems. Anyone can then make anonymous transactions with the need for no financial intermediary, there is no third party. The buyer transfers the money direct to the seller. The coins themselves are cryptographic hash codes which are unique identifiers. With the use of public-private key pair technology these are then signed by the relevant parties. Miners then process transactions, validating that they are correct adding them to BlockChains (the accounting ledger). Each coin is unique and can not be double spent which is one of the key concepts that makes Bitcoin so unique. Up until that point digital currency systems were always susceptible to double spending and required a central third party to validate all transactions. Not with Bitcoin.


Want to know more. Here are some of the advantages:

Open Source Code
The code is open along with its theory, meaning it has been critiqued by a number of security experts around the world. It has no known flaws. It uses the same Cryptographic algorithms as your e-banking. The only flaws in e-banking are generally end users, or developers implementing the banking systems incorrectly. Therefore Bitcoin can be considered very secure.

Free from Inflation
Currently the currency grows at a predetermined mathematical rate, an algorithm that was purposely chosen to track the rate at which commodities, such as Gold, are mined. Eventually this will in all practicality stop with the supply never exceeding 21 million bitcoins. There is no corporation or political control over it therefore it can not be inflated. In this aspect it is even sounder than Gold. The Mathematics ensures it future scarcity.

People can now actually hold a currency that has the potential to not only retain its value but will appreciate over time. No need to worry about which is the best negative interest rate at your bank. Just keep your Bitcoins saved up and they will appreciate on their own, due to free markets increasing everyones purchasing power over time. I'm sure one day someone will create lending services, where users can lend their Bitcoins for a rate of return (legal property aspect would need to be explored) in a similar fashion to a Bank. Regular banks could take your Bitcoins, give you a rate of interest, lend this out to business for a slight profit. No doubt these areas will be gaps in the market that will be explored by the entrepreneurs as the money matures.

Peer to Peer Network
There is no central server for the network. Transactions are actually validated by the thousands of distributed servers, known as miners. This proof of work (the accounting ledger) is spread out among the miners who are rewarded with new coins created at a pre-determined mathematical rate. This proof of work, which is computationally expensive, makes it incredibly hard for someone to change the past or to double spend and corrupt the money. This distributed nature has great advantages. The Government can not physically shut it down (without shutting down the Internet). If they shut down one cluster of miners then others would join the network.

"No" (Low) Transaction Fees
Bitcoin cuts banks out all together. Its like dealing in cash but with all the benefits of electronic commerce. Banks no longer need hefty cuts for dealing with admin, bank managers, Government red tape and regulations. The third party is the mathematics. I'll cover the concept of low transaction fees later, suffice to say, its lower then any existing market offering.

No Double Spending
Coins can not be created out of thin air (excludes mining, which works on a pre-determined mathematical algorithm). Once a payment has been made it can not be reversed, nor can the coin or a wallet be copied and spent again. This keeps the system honest.

Cross Country E-Commerce
At present there can be boundaries from conducting trade between nations. As soon as you cross international boundaries fees can start to rise quite sharply. Bitcoin has no such limits, it doesn't matter if the person is half way round the world living in some totalitarian state. This is beneficial to nations who have been blocked from paypal or other credit card companies; the recent example of Wordpress now accepting Bitcoins shows how the currency can support free speech. No one on the network can tell you who not to pay, not even your Government. The currency itself is the ultimate liquid asset. Payment happens in seconds and becomes fully verified in minutes. I could pay someone in a country with strict capital controls or a nation that been blacklisted by paypal with no problem. Its just like Cash only with all the benefits of being digital.

Removes Political Censorship
Wikileaks is a recent example of where even Western Governments didn't like free speech and pressured payment companies to no longer process donations. Bitcoin allows free speech to prevail and Wikileaks now take Bitcoins as a form of donation. 

True Monetary Freedom
The most important feature of this new currency is the freedom is gives to people. Freedom to trade, free from inflation, free from currency or capital controls, inheritance tax (along with other forms of tax), free to manage your own assets completely free from a third party. Over time the money will no doubt be of wonderful value to society, however its the freedom of the currency that most appeals to me and is the most revolutionary concept it has created.

How it Began
The creator possessed the rare combination of being a Cryptography expert with Libertarian values. Known under the alias of Satoshi Nakamoto (a Japanese name, however people believe him to be British as he made references to the UK banking system) he built upon various ideas of others and created the first truly distributed free money. He created the protocol which others now maintain and the first thick client (a desktop application to create your own wallet containing coins). He did this because he wanted to. Not for money or fame, just because he believed it was the right thing to do. Individuals have other motives than money, despite what the left will tell you.

Since he gave his creation to the world he hasn't been seen since. However this is where others pick up and run with the system as it was all made open for other to contribute towards. 

So how do these Bitcoins work? How do I get hold of some? How can I store them? As detailed the coins themselves are in effect digital signatures that have been signed and verified by a network in a way that keeps everyone honest. These coins are stored in wallets. Wallets come in a number of forms and you can think of them just like your regular wallet that contains your cards and any cash you may be carrying. There are no limits to the number of wallets you can own, nor any limit on the size of your wallet (a wallet could contain an amount that is a fraction of a penny all the way up to millions of pounds). There are a number of options to store such coins.

Local Wallet
Local Wallets are created and stored on your local computer. This is how it started, the original client was written in such a manner (Bitcoin qt as it is known can be found here). Your wallet once it has some coins can be encrypted, meaning if someone does "steal" your wallet, they can't actually spend the coins without the password. This is the ultimate form of monetary freedom. You have complete control of your finances. If you want to spend money, it takes a matter of seconds to send to a seller. Likewise if you wish to receive funds then you can create an anonymous address and allow someone to credit your account.

However with great freedom comes great responsibility. If you forget your password, you can't access your coins, they are in effect lost. If your hard drive crashes and you didn't backup your wallet, tough, you've lost your coins. If your local machine becomes compromised by certain virus software, such as a key logger, and that person is able to log your password and ultimately have enough access to your system (and wallet), then again they could spend those coins (to their own account).

Then theres the problem of the client software, the original one for example took two days on my desktop to download the whole block chain (and when running in the background will considerably consume resources periodically as more transactions cross the network). Other clients are currently being released to solve such issues (Multibit is an example, I presume pruning the merkle tree) however then you find that Multibit doesn't support encryption yet (soon to be released I believe). Theres also the fact that you can't use these on Smartphones, or though a nice to use Web Interface. I can comprehend all the technicalities, so can others, but your average Joe will have a hard time. In order for the network to work, it needs to be made easier from a usability perspective (in fact this is just as important as the security, without usability the network will never gain mass appeal). This is where e-wallets step into the breach.

E-Wallet
Step forward the entrepreneurs amongst us. They could see all the issues above so set about solving them by taking away all the management involved, in effect assisting the end users in storing the coins securely and allowing non technical people to get started. E-Wallets have a number of advantages. You can access your money anywhere, anytime. You don't have to worry about backups, viruses or your personal computer being compromised. A third party will take care of such worries, for free. They generate their income based on either margins from buying and selling Bitcoins to their customers, advertising or some other source of income yet to be conceived. E-Wallets allow customers to access their coins on any computer system through an easy to use web interface, similar to your e-banking. They also supply applications for your Smartphone (due to its recent state predominately only for Android and iOS platforms). They take care of the all the intricate plumbing.

There is however a catch. E-Wallets were a first generation attempt to allow the majority of us to use bitcoins. Currently the bitcoin network has never had any weakness. Like I've said security weaknesses are the end users or the implementation of a system. There have been a number of notable cases where e-wallets have been hacked, the thief managed to gain access to the servers data which stored the wallet along with the private key and steal peoples coins. 

A Governments solution if they were aware of the Bitcoin platform, would be to condemn the service, stating more regulation was required in effect raising prices for consumers and stifling innovation. This is what always happens when Governments, Technocrats, Politicians and Commentators get involved. Thank God we have entrepreneurs, the people who do, as opposed to the people who talk. Enter the next solution.

Hybrid E-Wallet
One of the problems with e-wallets was that they stored all the data on the server, including the wallets private key (which could be used to gain access to someone's wallet - think of it like the key to your safe). If the central server was compromised then everyone's wallets were compromised. Another problem would be if the server went down, or even if someone attempted to shut it down, say the Government. All your coins would be tied up to that supplier with no way to get them back. New e-wallets, known as hybrids began to spring up. The concept was simple, try to solve the security issues of conventional e-wallets but maintain usability. Still not convinced?

A common attack was to gain access to the private keys in the central database. The solution therefore was to not store the private keys on the central server, instead run javascript on the client computer (your local machine) to generate the correct private key to open your wallet (hence the term "hybrid", you have in effect your wallet locally, but the server has all the APIs used to access your wallet). The server only stores the encrypted copy of your wallet, not the key to access it. Such third party systems in fact can not access your wallet, or your transactions and balance like a Bank or Government can. An overview can be found here. You own your wallet, all they do is provide a system that is far easier to use then a desktop client and store an encrypted version of your wallet. The disadvantage of course is if you forget your password, they can't help. In my view this isn't even a disadvantage. We all deal with passwords. If its important, write it down on paper and put it in a safe, share it with a loved one and so forth. I'm sure services will pop up that will store peoples passwords safely with ingenious security techniques that haven't been developed yet.

A popular hybrid e-wallet in the UK is BlockChain. The video below shows how ridiculously easy it is to create an account and pay someone. No paper work, proof of id, or admin - just trust in mathematics.


Before detailing the other superb security features of hybrid wallets I'd like to detail an example of why entrepreneurs are so important to economic development. BlockChain is a start-up conceived by someone called Ben Reeves. It is funded by the famous ycombinator start-up fund, that has made many a great company. He has done what many of us lack, realised the potential of a particular technology and begun to make this a usable for consumers. This is what Entrepreneurs do. They take future ideas, and turn them into accessible services. As great as Bitcoin is in theory, that's all it was a couple of years ago. You had to use desktop applications and manage all the security yourself, in that state no one was going to use it. It takes entrepreneurs (many others exist, similar to what Ben is doing with BlockChain) to take those services to the masses.

Steve Jobs was a great example of this in action. He was no engineer, but had an eye for value. He was the first to spot the value in Graphical User Interfaces and bring them to consumers, it was all stolen from Xerox. The iPod was just a copy of existing MP3 players that hadn't gained traction in the consumer market. Smartphones existed well before the iPhone, Bill Gates was trying to push tablets a decade before the iPad but Job's timing was impeccable. To achieve this Jobs stood on the shoulders of giants. OS-X which currently runs Apples computers exists because of Unix, a platform developed by engineers for engineers but not for consumers. No one can take away Steve Jobs brilliant talent for spotting value and making products accessible to consumers. That isn't to say he got everything right. He once famously remarked when Amazon brought out the Kindle that no one reads any more so they won't sell, and seven inch tablets would never sell - like all entrepreneurs its all trial and error. Bitcoin will be similar. All sorts of innovations created by entrepreneurs who spot gaps in the market will create new products to fill consumers needs. Lend/Borrow systems, Brain Wallets, send coins direct on Facebook further use of NFC swipe to pay with Bitcoins anywhere in the world seamlessly.

Back to the security, so what if it doesn't store the private key I still don't trust a third party with my money, you may say. BlockChain understands this. It doesn't want to lock you in. Young entrepreneurs are smart and realise the value they create is not in payment for their services, but for getting traffic to their servers, making money once they have the user base, similar to a Google business model. With a Hybrid wallet you can backup your wallet locally whenever you want. Alternatively you can send it to some other cloud storage solution, Dropbox, Google Drive your email account. You can have the backup copied automatically for every single transaction you perform, ensuring you always have the latest copy of your wallet (encrypted of course) at hand should the third party service disappear/go bankrupt.

The service also allows you to create a second password. This would then be requested whenever transactions are performed, ensuring in the unlikely case if someone gained access to your logon password and could look at your wallet they would not be able to transfer any coins. The coins are double encrypted with another private key a feature someone may wish to use with a savings account.

Two factor authentication is another security feature that is supported to further secure a wallet. When you login you would also be asked for a recent code that was sent to you. This can be either be through SMS, Email or Google Android Authenticator that runs on your mobile phone (meaning someone would need a physical device). It also supports Yubikey, similar to a physical key drive that provides a code to enter to your account. Again a physical device that is outside a hackers sphere. They only have access to data over cyber-space, not physical objects you possess. The service will only allow four password attempts if two factor authentication is enabled. If four failed attempts are made they will temporarily lock your account for a couple of hours and notify you that this has happened ensuring rough guess attacks are not attempted.

If you have a static IP address, you can lock your account to it (meaning a hacker would need to gain physical access to your actual computer).

You can create a physical paper wallet whereby your private key is printed as a QR code on a piece of paper. This means if your local computer is compromised with a virus or key logger software they couldn't see your password as your private key is stored at your house. You use your webcam to scan it in. Useful for long term savings accounts that you don't want to access or spend but wish to lock down. 

You can split your funds among multiple wallets, as there is no limit to the number of wallets you can own (I created around 3 to test - zero balances are fine). For small change you may wish to have little or no security, just a simple login password (similar to carrying cash) and for large savings wallets have many types of authentication detailed above - Bitcoin allows for many choices all down the consumer.

BlockChain also holds the majority of its code open source held in github meaning people can check for flaws and find bugs in it. All the code deployed to the servers is verified against known checksums to minimise malicious third parties changing the code. BlockChain provides local browser plugins that verify the local javascript that is run on your computer when generating your private key for login that I mentioned earlier.

In my opinion all Internet banking should be done on a secure system, preferably a non Windows device. I'd buy a Chromebook (if your tech savvy a recent Linux Distro will do). They run on Linux, a rock solid Operating System kernel that has been around for 20 years and is open source. Chromebooks give users minimal permissions meaning picking up malicious software is very hard. Verified bootup ensures any difference between boots are detected and a previous good copy of the Operating System is installed (the only way to hack this is to actually get physical access to the device and change the hardware - meaning its pretty safe). It runs the latest version of the Chrome Web browser, a very secure browser which is open source (constantly under the eyes of security experts with Google giving regular bounties to people who discover issues). Far more secure than closed source browsers such as Microsoft's Internet Explorer. The system is seamlessly kept up-to-date in the background. Why do a mention Chromebooks? Because consumer devices will continue getting thinner (not size, but in admin rights to the user). When people use computers, they don't want to update their OS, get anti-virus applications and check their firewall is up up-to-date. They want to turn on a machine and go. The Mozilla foundation have been working on a slimline smartphone OS, Firefox OS (based again on Linux), with the aim of making the phone a lightweight platform. No doubt Google will wish to eventually take Android (based again on Linux) in this direction, merging with Chrome OS, the operating system on Chromebooks.

All the above sounds complicated however Bitcoin is a platform and can be as complicated or simple as consumers want. Just as I have chronologically detailed how the platform for consumers has evolved within the short space of 3 years, in another several it will be even simpler and safer to use, the next generation of Bitcoin banks will emerge making payments effortless and efficient.

Bitcoin started with thick clients. Users had to keep this software up-to-date, download the complete BlockChain, ensure their computer was secure (Chromebooks were not around back then), deal with plaintext wallets, use third party software to encrypt them (in many cases use of a command line), back them up manually and so forth. You had to be a computer pro to do all this. As I have shown this state of affairs has now evolved into the fact you can login to a web interface, signup in a matter of seconds and you have a fairly secure wallet. As innovation improves so will usability along with security. 

Many have compared Bitcoin to the Internet when it first began and quite rightly for a number of reasons. Back when the Internet was in its infancy it was obscenely hard to use. No web browsers, graphical user interfaces, auto connect broadband wireless - it was just plain awful. However the basics were there a global interconnected network where people could share ideas and information. It took a decade later to gain mass public support and usability, now many rely on it as a service. The Internet was once dismissed as a toy for Geeks. Why do I need email, thats what the postal service is for? Why do I want to read something on a computer, thats what books are for? I think this quote best sums up how long it takes for new ideas to become mature enough for mass adoption,

"I predict that Bitcoin will reach usability sometime around 2019. I base that prediction on earlier disruption technologies, where blogging started appearing in 1994 and reached mainstream adoption in 2004; file sharing started in 1989 over the net and Napster hit in 1999. You had streaming video 1995, mainly porn sites streaming animated gifs, what was then tip of the spear technology; Youtube was founded 2005 and just swept the floor with everyone else just because they were usable. This is not something bad; it is just an observation that it takes ten years to get a disruptive technology from inception to becoming so easy to use that it reaches mainline adoption."
Rick Falkvinge

I'm sure there are other security options for e-wallets that I have missed but it gives you an idea as to the thought that has gone towards security. I bet many of you use internet banking, Paypal or whatever. How secure do you think your conventional banking is compared to all this detailed above (did I mention BlockChain also uses conventional TLS HTTP encryption on top of all the rest)? Sure, the Government protects your money but in the same breath they are secretly confiscating your funds through inflation and negative interest rates. You can make bitcoins as secure or in-secure as you wish. Some of the above may seem complicated to a non technical user however tutorials exist to show you how to do all this. Creating an online account takes seconds. To experiment with the above you don't even need to get any bitcoins, you can test by just continually logging in and out of the application, changing passwords levels etc. There will no doubt be many further security innovations to come.

Bitcoin is still in Beta. Many of the e-wallets are still very immature, its a high risk venture as non of this has been done before. All its users agree on one point, only put in what you can afford to loose. However many can still see the potential for the currency, how it could transfer the banking landscape forever. Due to its low user base it is still very much out of the public eye. Many users are either computer geeks (myself included), finance speculators who have spotted the potential, anarchists and libertarians. I'm sure mass use will come one day, but we are still in murky waters with a lot more to learn about the system.

Austrian view
Bitcoin aims to be a free, hard money. Mathematically its harder than Gold as it has a precise finite limit. Still many in the libertarian movement actually oppose such a system or have prematurely predicted its downfall. This would seem counter-intuitive. Investors who ascribe to the Austrian view, such as Peter Schiff and James Turk are also sceptical believing it to offer no advantages over Gold. I hold Gold. Gold has held value for thousands of years. Bitcoin can not compete with that historical record. However Bitcoin can compete in terms of technological superiority with its modern mathematics. I believe there is some vested interest within the libertarian community. Many make money from selling commodity based financial products. Bitcoin does away with the need for financial advice, fancy money managers. People can just hold the coins and take care of their own finances without the usual worry of inflation eating their life savings away. 

Bitcoin will be the spark that ignites the debate over regulation in finance - there is no bailout for a Bitcoin bank. In practice we will see the old banking system swamped under heavy regulation and a new finance sector, using true free market currencies to trade with. Governments will have a tough time trying to regulate such a decentralised system. Bitcoin won't be the last crypto currency, there will be others (there already are), weeding out the uncompetitive based on consumer demand.

It will also assist in debunking Socialist and Keynesian economic theory that is current conventional thinking, but as I and others have laboured, is plain wrong. 

Deflation
Bitcoin has appreciation built in. Inflation is not allowed. According to the State worshipers of all creeds without Inflation trade will ground to a halt. People will hoard their money, they won't buy food as an appreciating currency is far more important. Of course people will spend just as they had before. Genuine capital and savings will be able to form more naturally and spur economic growth to new levels. Prices adjust. People on the lowest incomes will benefit the most as all prices fall at a common rate. Inflation benefits the rich, not the majority. 

Credit Bubbles
There is no such concept in Bitcoin, but this is contary to the prevailing economic wisdom that of we need to fine tune this, or inject some "credit" here. Bitcoin will put that case to rest as bad businesses go bust, releasing scarce economic resources faster. Prices and production lines will not be distorted by massive credit bubbles engineered by central authorities. No more boom and bust on a nationwide (worldwide) scale. Liquidation of unprofitable lines will occur in small pockets in a continuous nature.

Central Planners and Regulation
We don't need them or their innovation stifling policies. Stop treating people like idiots and get out of the way. It will be a great challenge on the establishment.

With all of the above I'm still puzzled why many existing Austrian economic thinkers are still uneasy with Bitcoin. Busily reading their Mises or Rothbard texts for some clues, problem being that both economic giants had no idea how human imagination would create such an abstract currency.

People will be able to see all these concepts for themselves, not from some textbook. To see concepts can never be understated and is why a free market always wins out eventually. Actions speak louder than words. Socialism has a lot to say for itself but a miserable historical record for action. Socialists perversely usually manipulates the benefits that free markets have given to people, claiming such progress for its unjust causes. Markets need little words or political representation. It makes itself heard by its actions.

Counter Arguments
Bitcoin has been in the public domain for a few years now and therefore has been under widespread academic scrutiny. So far there have been no found compromises or issues with the protocol. That still hasn't meant there have been no concerns, many of which are popular myths.

Hard Limit on Money Supply
With a hard limit of 21 million coins many have said this will not be enough to expand to the needs of commerce and will not scale. The designers thought of this and ensured a bitcoin could have 8 decimal places to it. Meaning you can pay with 0.00000001 bitcoin. The whole currency has 2 Quadrillion units (a 2 with 15 zeros, compared with the World which has a population of 6 with 9 zeros), meaning it is more than sufficient to pass the divisibility test for years to come. Other currencies will no doubt come along if required.

Nothing Backs Bitcoin
The Dollar is backed by nothing but is still accepted as a medium of exchange. Gold is backed by nothing. The Software you are using now is backed by nothing, however it still has intrinsic value to us all. The internet is just a series of electrical pulses. Its the advanced Mathematics that backs bitcoin. It ensures it has a finite supply. It is backed by all the connected nodes who stay honest, its in their interests to do this as their income is derived by it being of value to the consumer. The very fact that it is not "backed" by a central authority is the very thing that gives it such value. Its no ones liability, only your own.

Its a Ponzi Scheme
In a Ponzi scheme you will always find someone at the base. In Bitcoin there is no central point, its decentralised. 

What if miner nodes are not Honest?
This is a published and known weakness. However it would cost millions of dollars to mount such an attack and as the network grows it would get more expensive, to the point that no single organisation could do this. If an attack was made the attacker would only be able undo what they have recently spent. They could not create money or steal from others. Compared with the millions of dollars it would take to mount the attack the gains would not add up, even if a collection of miners would form a cooperative. Currently miners get more financial gain from mining the network (transaction fees and bitcoins) then they would from bothering with an attack. Miners want it to remain honest as many hold and use Bitcoins themselves. The attack would also have to be run continuously as the network would resume normal operation as soon as the dishonest nodes stopped colluding.

Its a similar weakness to modern cryptographic algorithms which are considered secure but can still theoretically be broken. Brute force is always an attackers option. However in order to break a simple 8 digit alpha-numeric password using modern encryption may take 1000 years to do even with state of the art equipment, many of us won't care by then so we can live with that risk (in reality no one would attempt this as its a waste of resources and their lives). Its similar to the the honest node attack, theoretically its possible, in practice it won't be an issue.

Miners help keep the network secure and honest. To support the network during its first steps they were vital to ensure block chains (the accounting ledgers) were correct. To give incentives as gatekeepers of the network they were given Bitcoins. Anyone could participate, there were no rules or privilege. Money creation will slow over time, eventually to nothing so a question has to be asked why will people still mine and keep the network secure then? The plan is transaction fees will cover the costs. In its early years there is simply not the traffic to generate enough transaction fees to pay for the miners, hence the developers solved this by issuing money at a predetermined mathematical rate during the currencies growing pains. As the network grows and more people use it, more transactions will occur and fees will be a part of this. So why use this as opposed to Paypal? Because the fees should be so low as to be negligible. If the network gets really efficient then fractions of pennies will be all that is required. The incentive to pay fees for the users is their payments get processed quicker. If someone has a time preference for a quick payment, then they pay a larger fee. Many e-wallets set the optimal fee for a transaction so that it gets processed in a timely manner (when I say processed, I mean verified, it goes from wallet to wallet instantly).

The Biggest Risk is Government
This is what I perceive to be the biggest risk. Even if another crypto currency takes over from Bitcoin, the Government will fight tooth and nail to stop any monetary competition as whatever market money will exist it will be infinitely better than the Governments fiat. They will never be able to truly shutdown the network, but they will make it hard for the public to trade with it. No doubt we will see controls on trading houses on legimate companies providing services. They will use scare stories to bamboozle the public into their way of thinking, that can be assured its a common tactic. 

Governments will misinform people that it is for all our good to use our nations currency, with guilt trips a plenty. "Competitive Currencies damage the welfare system", "It will mean higher costs for goods and services", "it will be wasted effort when we already have a currency", "It encourages black markets and illegal activity". I can see it all already. 

The currency will however be the complete opposite. It will encourage the welfare state to shrink leading to more innovation, lower prices due to market competition and increased purchasing power for everyone. The Government will have to compete by not allowing arbitrary inflation as people will flock to other currencies.

Buying Bitcoins
If you live in the US you should have no problem buying Bitcoins. I think most places in the World it is fairly easy to buy. In the UK its a different matter and a real pain. It may be due to the heavy regulation or tight Government control but its not that simple. I had to follow this tutorial to exchange some money (as of writing there was a £10 limit per 7 days, previously this was £500. I suspect most people in the UK now have to use this service - its that bad!). It involves getting a smartphone app from Barclays called Pingit, a mobile payment platform (Pingit allows you to pay people if they have the application by just entering their mobile number). So you need either an Andoid or iPhone. Then once you have created an account follow the instructions. It worked fine for me and was simple enough, however its not for the average person. Bitcoin still has a lot of maturing to do.

I also setup a local wallet on my computer. Its just a case of downloading the software, waiting for the whole blockchain to download (took me around 2 days!), then creating a wallet and an address. This is what I used to transfer a penny from my e-wallet. Again, there is no way non-technical people are going to find the current thick clients very usable. E-wallets will be the way forward for mass adoption.

Fees are also an issue when converting domestic money into Bitcoins (not an issue in the US, but it is here in the UK). The fees using Pingit and BlockChain.info are around 6% - so for trading on a daily basis, its not worth it (in the US its around 1% for fees). The eventual ideal will be that your incomings and outgoings will be both denominated in Bitcoins, meaning no transfer fees. Governments will fight this.

A lot of people are speculating on Bitcoin and with good reason. If this is going to be a useful Global currency then if someone buys a Bitcoin now, imagine how much it will be worth in 10 or 20 years time? Current market valuation for the currency is around $120 million dollars. That is insignificant compared to global trade. As more people use it, then a Bitcoin will be worth more. Couple this with the fact its a deflationary currency and its value will go up over time. These two factors mean it potentially could be a very wise investment. Like all new concepts, just like a startup, you could loose it all due to its unproven model (although it has been going for a few years now). Its win or loose.

The Future
Bitcoin can exist alongside Gold and existing fiat money we use today. There is space for all. Whether Government fiat money can stand up to the competition remains to be seen, as history has shown with Government services against market services, they never do. Bitcoin was the creation of individuals who pursued their own goals under the influence of no central committee or planners. Their ideas happened spontaneously, the bottom up approach. We should all be thankful we live in such times to witness not just the creation of the greatest tool humankind has ever created, the Internet, but at a time when the Governments days are slowly numbered and there are genuine solutions to break the hypnotic grip it has held over the public. With revolutionary concepts such as Bitcoin there will be real examples of how markets make peoples lives better. You won't need to read a textbook or understand economic theory to see why money should not be controlled by the State. The actions of such products will speak louder than words. Bitcoin; if it fails or succeeds is not important. Its already made the playing field better for all of us.

The root problem with conventional currency is all the trust thats required to make it work. The central bank must be trusted not to debase the currency, but the history of fiat currencies is full of breaches of that trust. Banks must be trusted to hold our money and transfer it electronically, but they lend it out in waves of credit bubbles with barely a fraction in reserve. We have to trust them with our privacy, trust them not to let identity thieves drain our accounts. Their massive overhead costs make micropayments impossible. A generation ago, multi-user time-sharing computer systems had a similar problem. Before strong encryption, users had to rely on password protection to secure their files, placing trust in the system administrator to keep their information private. Privacy could always be overridden by the admin based on his judgment call weighing the principle of privacy against other concerns, or at the behest of his superiors. Then strong encryption became available to the masses, and trust was no longer required. Data could be secured in a way that was physically impossible for others to access, no matter for what reason, no matter how good the excuse, no matter what. Its time we had the same thing for money. With e-currency based on cryptographic proof, without the need to trust a third party middleman, money can be secure and transactions effortless.
"Satoshi Nakamoto"