Wednesday, April 17, 2013

Further discussion about Bitcoin

My previous post about Bitcoin invited discussion, but much of that discussion took place on Facebook and Google+. A lot of good insights and links were offered, but brief messages on social media are hard to search and learn from in the future. So I'm writing a second post to acknowledge these responses, clear up some of the misconceptions I had in the first, and offer useful links for anyone who wants more information in the future.


First, the misconceptions. In my previous post I wrote:
There is a search space of very very large strings, serving as unique identifiers for individual bitcoins
This is actually false. There is no such thing as a uniquely identified Bitcoin; Bitcoins are represented as numeric values in "wallets" which are tied to people's accounts. Bitcoins are divisible in parts as small as 10^-8, so it would be a daunting task to identify and store them individually.

This means that it is also not correct to say that the process of "mining" for Bitcoins is a matter of finding a unique identifier for coins that haven't been discovered yet. Instead, "mining" the coins involves searching for the (non-unique) solution to some clearly defined but semi-arbitrary puzzle. When you solve the puzzle, you announce the solution in an IRC channel. The puzzle is hard to solve, but easy to verify. Whoever solves the puzzle first is awarded 50 bitcoins in their "wallet", along with a record indicating that the puzzle was solved. Then a new, usually harder puzzle is generated.

My main questions in the previous post were focused on the presumed decentralization of Bitcoin. Specifically, "Is there no centralized database that has records of who owns each bitcoin, or fraction of a bitcoin? If not, how is it handled if two sets of records disagree?" As I just indicated, "each bitcoin" is a nonsensical phrase, since bitcoins are expressed in quantities, not specific units. The question is still valid, however: who gets the final word on where the bitcoins "live"?

The answer is a bit weird, and I may still have it wrong, but this is how I understand it. There is a database, but it doesn't "live" anywhere in particular. Instead, the database is represented as a tradeable file, known as a "blockchain", and everybody who uses bitcoins may own a copy of this file. Within this file may potentially be encoded every single transaction that has ever occurred using bitcoins. (As I'll discuss in a minute, this isn't exactly true in practice. I'll get back to this in a few paragraphs.)

In principle, this file should be growing at an insane exponential rate. The set of all historic bitcoin transactions is a strictly increasing number. Assuming that Bitcoin is successful, the number of people using it will increase over time, and so will the frequency of the transactions they make. Indeed, as Jerome pointed out on Google+, the current size of the blockchain file is 6 GB and growing. Additionally, the number of people wanting to download and inspect this file will increase as the popularity does, which means that the network traffic caused by this file would also be multiplied by an increasing number of transferred.

There is a live updated graph showing the size of the Blockchain. A quick inspection shows that the file was about 6 GB in early April 2013, and 3 GB in late October 2012. If we accept that it's an exponential function, this would imply a growth rate that doubles in a little less than six months. Next October it would be 12 GB, and in April 2014 it would be 24 GB. Multiply this by the number of people downloading this file, and we're talking about bandwidth of internet-crippling proportions in a few years.

As I said a minute ago, the blockchain doesn't actually represent every Bitcoin transaction in history. As discussed in this comment thread at bitcointalk.org, transactions only need to be kept around long enough to verify them, but not forever, so I presume that lossy compression on the oldest transactions is viable; they crunch all the old data into one big hash number for continuity purposes, and then continue. Nevertheless, the most optimistic predictions still said that this file would continue to grow in a linear fashion year by year, on the order of multiple GB. I don't think this is sustainable.

What is the purpose of keeping a blockchain around? It addresses the problem that I was focused on in the first post: How can Bitcoin be decentralized -- not owned by any one person, government, or database administrator who could turn out to be a master con artist -- and still maintain reliable and consistent records of ownership?

The answer to this question is that all Bitcoin transactions must be posted to a public archive, viewable by everyone, and then everyone who maintains a copy of that file will update their records based on the timestamp of the transaction. The blockchain maintains sequence and each transaction is dependent on numbers generated by the previous transaction, so it's not possible (or at least not easy) to "cheat" somehow by manipulating some numbers in old transactions; the sum wouldn't match when other users check their files, or some such thing. This is now reaching the limits of my technical understanding of the algorithm.

In conclusion, I'd like to say that I think my questions about security have been addressed. I may not have all the details, but I'm pretty sure that Bitcoin wasn't set up in a way that can be easily exploited by some owner of a master database somewhere. Yes, it's decentralized. Whether it will be effective as a currency is something we'll have to wait and see about. I'm betting not, and wouldn't touch the stuff. But that doesn't mean I'm rooting for it to fail or anything.

Could it be a pyramid scheme? It's probably not an intentional one, but there have been a lot of stock market bubbles, penny stock manipulators, tulip crazes, and so forth, which have run up the value of something that ultimately turned out to be worthless. Rarely are these schemes set up by one person to deliberately defraud people, but the end result can still be an unintentional bubble and a giant crash. don't see the need to switch to an alternate currency, myself, but I don't think that cyber-crime or large scale embezzlement is the particular reason not to do it.

I want to thank all the people who contributed to the Google+ and Facebook threads. Finally, I'm including a complete Bibliography of all the links I found useful in reading up on Bitcoin.

1 comment:

  1. Hi Russell,

    I'm an Atheist Experience listener, and I’m interested in Bitcoin from a perspective of faith and skepticism. Money seems to be a peculiar expression of faith - most of us trust that what $10 will buy today it will also buy tomorrow, and shy away from questioning what gives our currency its value. We also have curious biases when it comes to investments and risk (I’m a big fan of Dan Ariely’s writings on bias in financial scenarios).

    Your coverage of Bitcoin seems to be generally fairly balanced, but that means you make mistakes on both sides. I've responded some to of the things you said in a recent Interview with Phil Fergusun ( http://philfergusonshow.secularmediagroup.com/2015/08/18/133-russell-glasser-scams-bit-coin/ )

    “Bitcoin is pretty well decentralized”:
    Bitcoin was designed to be decentralized, but it is becoming more centralized with time. Significant power is in the hand of the Bitcoin miners, who can use a weakness called the “51% attack” to wrest complete control over Bitcoin. Some advocates argue that a negative feedback loop causes prices to fall as miners centralize more power, which keeps this in check. Most won’t admit that the actual power that miners hold at any given moment (their proportion of the hash rate) isn’t publicly available in a reliable form, so this argument can’t really be substantiated. A 51% attack could be right around the corner or already underway, but the users wouldn’t even know.
    There are good examples of cryptocurrencies which have improved on the centralization of Bitcoin, such as Myriadcoin, Ethereum and proof-of-stake coins like Dash. However, none of these have so far demonstrated that they can compete with Bitcoin’s established network effect.

    “Bitcoin is interesting for libertarians and tech geeks”
    This is an ethnocentric perspective. Phil’s argument that "once you denominate bitcoins in us dollars, it's just a ratio” emphasizes this bias. Bitcoins are actually fairly useless to Americans; you already have a currency which is largely universal, stable, democratically managed currency which is easy to send electronically. It’s natural for Americans to associate Bitcoin with these subcultures when the only Americans interested in Bitcoin are members.
    For an international perspective, compare the stability of Bitcoin with Ukrainian, Venezuelan or Argentinian currencies. Compare the democratic management and transparency of Bitcoin with the corruption and opacity with Egyptian, Micronesian or Palestinian currencies. Compare the ease of movement of Bitcoin with the capital controls in Turkey, Greece or China.
    There’s a good reason why the Philippines is turning into a Bitcoin hotspot: remittances. According to a 2014 World Bank report, nearly twenty percent of Nepali GDP goes to remittances! Bitcoin isn’t meant for Americans, so don’t judge its usefulness by what Americans use it for.

    “Theft is not particularly prevalent”
    It’s true that “cash is also stolen” but cash can’t be stolen via your Internet connection, and money moved out of your bank account can be easily traced. Bitcoin is a target for online theft, scams and a favourite for black markets. It is used for selling child pornography, weapons, running extortion rackets and pyramid schemes. All these things are easier thanks to Bitcoin. Bitcoin isn't a Ponzi, but it is a toolkit that makes creating a Ponzi as easy as building a website.

    Also, the "deflation is bad" was meant to apply national currencies. The arguments against deflation don't hold for an international currency.

    ReplyDelete