Contributed by Ross Thomas, an investor, computer security researcher, software developer, and journalist. He lives in Vancouver, Canada.
A decentralized, peer-to-peer digital currency
Immune from the influence of powerful interests
Fast, anonymous transactions
Secure, trustless: impossible to cheat the system
No counterparty risk
For all these properties to hold every client on the Bitcoin network must see the entire block chain, i.e. the record of every transaction made since the network started in 2009. Needless to say this will not scale up very far; indeed, the blockchain is already over six gigabytes in size and is growing exponentially, which is why it’s not always fast to receive BItcoins. There are suggestions to fix this, but the original idea may be fatally flawed for efficiency and security reasons, and it’s difficult to imagine a general solution which doesn’t involve compromising at least some of the bait properties:
If the block chain concept is to be retained (and it likely must, if the system is to be called “Bitcoin”), then the network topology must switch from peer-to-peer to something more akin to a client-server model. This is because fairly soon it will require expensive hardware to be a full participant in the Bitcoin network—to put your mouth over the hose, as it were; regular “thin” clients (running on, say, a 3G-connected device) one day won’t be able to keep up with the block chain in real-time due to bandwidth constraints, and thus will need to ask “full nodes” (i.e. servers) for only the transactions of interest to them.
Of course, this involves giving up anonymity for any Bitcoin addresses those clients are still using (and any old addresses connected to them), and probably also trusting the server(s) with which they sync their digital wallets.
Alternatively, users could simply store their Bitcoins at the Magic The Gathering Online eXchange (Mt.Gox) or any other BTC exchange. But again this introduces counterparty risk, gives up anonymity, and is closer to an unregulated banking system than anything else. (An unregulated banking system more-or-less at the mercy of bot herders and their zombie armies, in fact.)
The Bitcoin wiki provides little in the way of a solution to the scalability problem, though there is some hand waving about how Bitcoin might be in the future or how other payment systems could be used on top of it. Nowhere is it denied the protocol can’t scale with all its current properties for regular users.
Is it a stretch to conclude people are being sold something now which does not resemble what it must become later, when Bitcoin makes the switch to a “thin client” architecture? It’s hard to say.
Dan Kaminsky, a computer security expert known for discovering flaws the rest of the world overlooks, examined Bitcoin in 2011 and concluded it “clearly does not scale in the long term ... If you define the loss of today’s properties a serious loss of value, then there are Ponzi-ish characteristics in plain view; I’m not going to make that claim, however.”
It seems undeniable the system must change materially if it is to continue growing and it’s not clear the Bitcoin community has made this fact well-enough known to the general public, but to suspect deliberate deception would be to misunderstand the bazaar-like nature of open-source projects: they don’t pop into being fully formed but rather works-for-now releases are made and fixes are applied as needed.
What makes the Bitcoin project special is the amount of other people’s money riding on such problems being fixable in a reasonable time frame.
We know it works for now, but downloading all of an exponentially growing dataset will not suffice as an implementation even in the medium term. Software development and cryptography are not done best under pressure but unfortunately that comes with the territory for Bitcoin developers, for whom the expression “mission critical” takes on a dazzling intensity. Distributing something monolithic (e.g. the block chain) across many untrustworthy nodes on networks one does not control in a secure, efficient, reliable, and scalable manner is hard. Doing it anonymously may be impossible. Rarely have the stakes grown so high before such lessons are learned. Contributed by Ross Thomas.
Wolf here. I would love to hear from you. You can send me an email to:
testosteronepit [at] gmail.com
I will post some of the comments, articles, corrections, points of contention, etc. under the tab “Readers Speak Up,” if I find them relevant, interesting, awesome, civilized, etc. Funny is always good.
- Include the title or link of the article you’re responding to.
- Let me know the name (alias is ok) under which you want me to publish your writing.
- If you have a blog, include a link (self-promotion is ok)
- I’ll try to send you confirmation once it’s published.
- If you DON’T want me to post your writing, if you want me to keep it private, please let me know!
- I will NEVER publish your email address!!!
- Spam, nonsense, hateful stuff, etc. will be deleted.