Another addition to Python-to-c++ compilers, in a similar way to Cython: Pythran. I tested it with code from my recent post $7.11 in four prices and the Decimal type, revisited and it worked quite well, though it’s arguably a very simple test. Speed was quite good, better than Cython, actually.
I use ag (the silver searcher), but this is a great article about a similar tool built up to speed. Ripgrep. (and a follow up from Geoff Greer, the maker of ag making them more compatible, which is fantastic)
So, to start the year, I’ve decided to share some of my thought on the bit coin issue, and some of the problems I see. As I am not an economist, I’m not going to go into the deflation / long term scenario. For what I know, that’s very bad, but as that can lead to a deep economic conversation, one I don’t really want to get into, as I lack of the required knowledge, I’m going to concede that. Let’s imagine that bitcoin, from the macroeconomic point of view is absolutely sound. Even in that case, my impression is that it is not very safe from the user point of view. These are “social problems“, more than “tech problems“.
(I am also going to assume that it is cryptographically sound, as I don’t have any reason to think is not)
One of the main problems the system have is that you are entirely on your own to safe your bitcoins / wallets. I guess some people don’t perceive this as a “real problem“, but as someone that can be considered tech-savy, the perspective of a virus, a hardware problem or a missing password that can make disappear my money forever is really worrying. Even a common problem like transferring money from a dead person (unfortunately, everyone gets to that point) can be impossible if not planed in advance. A Bitcoin wallet (which can be reduced to a private key, a sequence of bits that should be secret) associated to all your Bitcoins can be gone or inaccessible in seconds. Accidental deletion, hardware problems, a malicious virus … Yes, there are countermeasures to this, like backups (if you’re reading this and you don’t have a backup in place, PLEASE DO), but the sad truth is that most of the people out there does make regular backups.
The single most important quality of any currency is trust. I trust that, if I have money in Dollars or Euros, they are not going to be vaporised for a stupid reason like a failing hard drive. All you need is some horror stories of people loosing all their savings on Bitcoin because there is a virus out there, and non-tech-wavy people will be scared, loosing trust on the currency.
Of course, this scenario can be avoided by an intelligent move. Hey, I don’t have my Euros with me in cash because of these problems. I put them in the bank! Awesome. I can move all my bitcoins to a bank, and interact with my money in the usual way, like credit cards, getting some from time to time from the ATM (in this case, a virtual online ATM). But, in this case, what’s the point of Bitcoin? If I relay on a bank, I am using the currency exactly as I am using Dollars, Euros or Sterling Pounds (and the banks will charge accordingly). It could have some small benefits, like getting the money out of the bank to transfer it to someone else in an easier fashion than with a traditional currency (especially for small amounts), but I doubt it will be different enough or advantageous enough to justify using Bitcoin instead of regular currencies for most people.
Another insidious problem I can see is privacy. Bitcoin is pseudonymous, meaning that all the transactions are public, but there is no association between a wallet and someone. I don’t see that as reassuring, as getting to know that wallet A belongs to person B is definitively not a extremely difficult operation. In case Bitcoin was popular, there will be a lot of transaction, and most people would use a couple of wallets at most, for convenience. If you need to send goods to someone, for example, it won’t be that difficult to associate the wallet that pay for the goods with the person receiving the goods. Again, this can be obscured and some people will use complex schemas to hide who they are, but in a typical operation, I’d say that most people wouldn’t care too much about it, just as they don’t care at the moment with a credit card.
Ok, so you manage to know that person B is behind wallet A. Now you can track all the activity of wallet A (because it is public) and use it for whatever you want. A lot of wallets will be simply obvious what they are (known shops), so for example that will be a great way of “directed marketing”. For example, Amazon could know that you have a contract with Vodaphone that looks like a mobile contract. Now you’ll get “directed information” of all the million offers that Amazon has about mobile products. Great, now you have more spam in your inbox. The data mining implications are incredible.
Of course, any purchase that you don’t necessarily what to share with the world can be exposed. And it’s there, publicly available, forever. If you move to a different wallet and move your bitcoins around, hey, that’s registered, so you can’t hide unless you transfer all the money out of the system, and then exchange it back, to a new wallet(s) that, this time, hopefully won’t be discovered. Plus all the inconveniences of doing so, of course.
Of course, there are ways of dealing with it. Using a lot of wallets, circulating the money among them (and hoping this is safe enough, as there could be advanced methods of detection for common uses). Being aware of what information is being shared. But, seriously, are we expecting everyone that just wants to use a currency to make common operations to add all that overhead and knowledge? I think that’s asking too much.
As the objective of a currency is to be used as means of payment, to be exchanged often, I think that these problems are in the way of considering Bitcoin as a currency replacement that can get some real traction in the world. The potential risks are quite big, and not well understood for a lot of people at the moment. Of course, these problems are at the moment less important that the fact that Bitcoin is used at the moment as an investment / speculation product, making the exchange rate so volatile that using Bitcoin as a currency is currently unviable. But assuming that Bitcoin can leave this state behind, I still see these issues in the way of becoming a viable currency.
I am not an expert in this subject, so if I am mistaken at some point, let me know. Comments welcome 😛