Bitcoin can be classified as a currency as it can be used as an medium of exchange or classified as an commodity given its speculative and volatile nature.
What should we classify Bitcoin as ??
It has properties of both. Tax authorities will eventually give their opinion on this. Through its properties of finite quantity, fungibility, and resistance to forgery/duplication, it acts as a commodity. It can be sent directly between any two parties anywhere on Earth, without regard for the quantity transacted or physical distance, to act as a currency.
By the way, establishing trust in a trust-free environment through cryptographic proof-of-work is a remarkable invention. Sending economic value, cheaply and securely, around the world in minutes, not days/weeks, is a remarkable invention. This is where the value comes from.
Its neither. Its a scam. there's no value underlying it, and it has proven to be the most speculative and untrustworthy investment there is.
The scam works like a pyramid scam, so the more people come later on the more people who came in earlier on gain, so that is why you see so much hype around it encouraged and fueled by those early adopters who'll cash out at your expense. Imagine people who jumped on the bandwagon when each coin was worth a mere fraction of a dollar - they want you to "invest" at the current price of hundreds of dollars per unit so that they could cash out.
You'd be better off with tulips, really.
(And don't be discouraged by the downvotes on this answer, of course those scamers will try to shut me down. That will just prove the point.)
I would classify Bitcoin as a hybrid.
Currency : It is accepted by e-businesses as a form of payment
Commodity : Chart illustrating the volatility and speculative nature of Bitcoin