Sunday, May 5, 2013

Bitcoin: What Why and How.

What is Bitcoin
Bitcoin is a virtual currency. It's management is completely decentralized and done by open source software running on millions of nodes on the bitcoin network. The production of bitcoins depends on finding a block of data which has a certain property. When such a block is found the bitcoin network awards the finder with a number of bitcoins. At first the award was 50 bitcoins, but at present it is 25 bitcoins. Every 4 years the award reduces to half. In the first 4 years 10.5 million bitcoins were created. There exists about 11 million bitcoins at the present time. By the year 2140 all the bitcoins (around 21Million) will have been generated.

The creation of bitcoins is controlled through a parameter called difficulty. The difficulty is adjusted in such a way that only one block can be found every 10 minutes. The whole things depends on an algorithm called SHA-256 (Secure Hashing Algorithm version 2 with 256 bit output). This algorithm is as yet unbreakable. Its not clear whether quantum computers would break it. But in any case they are too far off in the future.

The task is to find a block which results in a hash value that has a predetermined number of zeros at the beginning of the 256bit hash output. Since there is no way to determine what block will have this property, so all sorts of blocks must be tried till one such block is found. The difficulty is directly proportional to the number of zeros in the hash. The difficulty is recalculated after every 2016 blocks are generated. This event would be after 14 days if the networks computational capability did not change.

The network's computational capability is calculated in Hashes per second. Currently the network capability is around 75TerraHashes/sec or 75 Trillion hash computations per second. As more computers are added to the network, its capability increases, and the corresponding difficulty must increase so as to keep the block generation capability constant. Currently the difficulty is nearly 9million.

To find the blocks we use a software called miner. It is a software that searches for a block that has the required difficulty. The block is basically a piece of data plus a nonce. This nonce is a 32 bit integer which is incremented every time to get a new block. As such 2^32 blocks can be generated. Hashing functions have the property that even a single bit change will cause the hash output to change completely. So big changes are not really necessary.

Initially people were using their PCs to compute the hashes, and that was enough. Then some people ported the miners to GPUs. These provided a big jump in hashing capability. Next the miners were ported to FPGAs. These resulted in an even bigger jump. The latest machines in town are the ASICs. The CPUs on the PCs are long past their usefulness. You will spend more money on power bills than you will make money from the bitcoins they generate. GPUs are also on the way out. They are profitable at the moment, but in a few short months they will not be anymore.

More info in this link.

Why the interest in Bitcoin
Bitcoin is an internet currency, which has same property as any other Store of Value item. Its supply is more or less fixed. It cannot be generated at will. This makes bitcoin similar to gold, but with a new property of being trade-able in the digital world. Currently it is under the radar for most of the people. As more and more people realize its benefits, its value will increase.

Its value has been related to recent crises. During the Greece crisis its value had risen 35 times, from less than a dollar to 30$, after that it came back down to about 10$, with an effective jump of nearly 15times. Then during Cyprus crisis it jumped from around 12 dollars to 240$, a jump of 20 times, and then settled down at around 130$ presently, an effective jump of 10times. I believe that the jumps have been due to the requirement of moving money offshore during these crisis.

I am expecting that during the coming financial meltdown lots of money will be looking to move. This will attempt to go into bitcoins, as gold will not be available. This will cause bitcoins to jump a whole lot. I would think on an unprecedented scale.

A unique thing about Bitcoins is that they can be traded by speculators, and still retain its store of value property. For gold to be traded, we need to have paper contracts. Since in the future paper contracts for gold will be frowned upon. The traders are likely to move to Bitcoins, and gold will serve as the international reserve. If this is true then bitcoins are poised to become an international currency competing with other currencies of the world.

Currently there are about 11million bitcoins, with the market price of around 140$/bitcoin, the market capitalization is around 1.5Billion$. This is way too less. The market capitalization must grow many many times to achieve the required capitalization. I would expect atleast a 1000times increase in the long term. And around a 100 times during the crisis.

If the price of a single Bitcoin goes to 10,000$, one would think how the trading for smaller items will be done. Actually there is no problem. A single bitcoin is made up of 100 million Satoshi's the smallest unit of bitcoins. At 10,000$s a microBTC will be equivalent to 1 cent. Even at that level Bitcoin can accept a 100times further increase, without it being a problem.

There are two potential problems. One is that the same theory that brings about Bitcoin can be used to create other virtual currencies. Actually there are several now, but none of them are anywhere near Bitcoin. And are not expected to grow up to challenge Bitcoin. As time goes on, it will become more and more difficult for an incumbent to overthrow Bitcoin. The second issue is quantum computing. Quantum computing is still in its infancy. It will be probably at least 20 years before it is able to cause big problems for the current Public Key Cryptography, which is the most vulnerable. By that time we will probably move to QC resistant algorithms. Ultimately Quantum Computers may allow a much faster generation of Bitcoins. This is not a problem in itself.

Both of these do not look very problematic at this time.

Probably the most serious problem is that govts can try to clamp on bitcoin exchanges. These are the entities that allow exchange of bitcoins with local currency. This has been tried by the govt of Canada, and others are thinking about it. But their main motive would be to prevent black marketing in the bitcoin world. These bitcoin exchanges actually allow the govt to make sure people do pay their taxes, and they can track the transactions. People looking to avoid taxes will be trading on other P2P networks. Only time will tell, but I expect that the govt will not try to stop legal exchanges as they result in people using legal methods of transactions. Preventing exchanges will make people move to illegal methods.

Bitcoin is not anonymous. Bitcoin uses the Wallet Address for transactions. This wallet address can be changed for every transaction, but the wallet address can be linked to the IP Address. To avoid using your own IP Address you can use tor to anonymize the transaction completely.

Bitcoin is an open source currency, so stopping it is near impossible. Remember MP3. The Media companies managed to shut down several companies that allowed sharing of MP3, but eventually they had to give up. Same thing will apply to govts, if they try to go against people's will. This does assume that Bitcoin is as useful as MP3s. It is not going to be beneficial for them in the long run. Better would be go along and keep the maximum people in the taxnet.

As compared to gold, gold is expected to not have any taxes once it becomes the international reserve. But bitcoin will continue to attract capital gains tax. This will make Gold a better store of value, but bitcoin should not be a bad store of value.

The last problem with bitcoins is that a certain technical understanding is required at the present time. The situation will improve slowly. There is a bitcoin card introduced recently. Paypal is also thinking of getting into Bitcoins.

Now that I have put some wildly optimistic spin on Bitcoins, lets have a look on how to use them.

How to use Bitcoins
You have to first create a wallet. There are two ways to create them. You can go to any number of internet websites that allow you to create the wallet, or you can download the bitcoin software and create a wallet on your own computer. A wallet is defined by a large number called an address. Bitcoin transactions happen between two wallets. So when you buy some bitcoins, you give a person some money via credit cards, or some other means and your wallet address, and the person transfers bitcoins from his own wallet to your wallet. The amount of bitcoins your wallet contains is known to the network. Because of this nobody can forge your wallet. But if you lose your wallet address you will lose your bitcoins, so it is a good idea to keep it safe somewhere, not easily hackable. Encrypt it preferably.

To obtain bitcoins you can buy them on an exchange or you can also create them. For that you will need to buy a mining hardware. The most advanced machines are ASICs, and are in very high demand these days. The technology is very new so there are delays in making them as well. But hopefully the situation will improve in a few months. Of course the difficulty will rise very fast. But I don't expect it will rise as fast as the value of BTC. It will still be wildly profitable.

There is a tradeoff, if you buy the mining rig, and the crisis comes too fast, you won't be able to collect enough BTCs, so it might be beneficial to directly invest in Bitcoins. If the crisis is far away, it is probably better to go with a mining rig.

Ofcourse the mining rig option is only open for technical people. There are some companies that are providing mining rigs on rental, so they manage and you can earn the BTCs produced by the mining rig and pay the managers some rent.