Bitcoin is a digital currency that was first proposed in Oct 2008. Curiously, the proposer had a pseudonym Satoshi Nakamoto and started dissociating himself from any of the developments related to the currency from 2010. Nobody knows who he was. The currency came into existence starting with the genesis block created by Satoshi. The operation was started on 3rd January, 2009 by starting a free source project on Source Forge. In the four years since then, the number of units in circulation has reached more than 10.5 million units. This is half the total number (21 million) of units this currency can ever have, and is hard coded into the system as designed. This is designed to be reached by the year 2040. A Bitcoin unit or BTC can be divided into 100 million units in trade operations. These smaller units are known as satoshis.
Currency Creation Operation
All currencies are issued by some central bank or the other. Depending on the nation using the currency, it is the central bank of that particular nation. These banks control on how much money should be in circulation at any given time. Any particular currency has paper based, and metal based units of various denominations that represent different denominations of the currency. For example, in case of the US currency, you have paper based one Dollar, five dollars, twenty dollars, hundred-dollar units and coins (metal based) of 1 cent, five cents, 10 cents, 25 cents (a quarter), and sometimes a metal dollar.
Soiled, damaged paper notes and damaged coins are removed and new notes and coins are introduced into circulation by the central bank, The Federal Reserve Bank in case of the USA. The central bank controls the introduction of new money, and the total money in circulation based on economic considerations. For example, if the total money in circulation is more than the value of the gross national product, the prices rise. There is more money chasing comparatively few products otherwise known as "inflation." On the other hand, should the GDP become higher compared to the money available, money would be able to buy more things (aka "deflation"). There are various complicated economic considerations of how much new money is minted by the central banks and introduced into the system. Suffice it for this discussion, that there is a central authority who alone can mint money in the currency setup.
In case on international transactions between different currencies, banks of the two countries get involved and operate based on exchange rates between the two currencies. These rates are determined very broadly, by the trades between the two countries. Parties involved in a transaction get charged quite heavily by the banks and financial institutions. Other characteristics that will be relevant to these discussions, in this case, any currency provides several tokens to be used in transactions. All those notes and coins are such tokens. There is a major property satisfied by the tokens. When a token is handed over to the other party, in lieu of product or service provided, the token is gone from the buyer's stash. This ensures that there is no "double spending." The buyer cannot spend that set of tokens, representing the total value, again on buying something else. "Double spending" is a distinct possibility if the seller takes time to confirm having taken the money. Same situation arises if an intermediary is involved, and needs time to confirm the transfer.
One big difference with all the other currencies in the world is that there is
no central bank or authority who controls the generation, circulation or transaction in this currency. The transactions are based on the public key cryptography system. This system requires that if a communication is to be sent to someone securely, the communication should be encrypted by the "public" key of the particular person. The target person decrypts the cipher text (the coded text) using his/her "private" key. The encryption system ensures that there is no way one can derive the private key by knowing the public key. Thus, the transaction, communication in this case, could be totally secure. A bitcoin transaction happens in the following manner. Bitcoins are exchanged through apps named as wallets. These can draw on local bitcoin store or get it out of a service (much in the style of drawing money from a bank). Since the currency is totally decentralized, there is no need for a bank of any but is a convenience, if available.
Digital signatures of the ECDSA type are used to authenticate these transactions. Party 1 signs a transaction using her private key. This ensures that anyone could verify that party 1 has initiated the transaction. Public key of party 2 is used for transfer. To ensure this transaction is legitimate, party 1 should have actually owned the coins intended for transfer to party 2. It also needs to be ensured that party 1 does not "double spend" or transfer same money to another party. In non-cash transactions, some intermediary such as a bank ensures the money is deducted from party 1 and given to party 2. Even when an electronic transfer (like a wire transfer) method is used, the spender loses the ownership of the money first and then the target beneficiary is credited with the amount. Without the intermediaries, a peer-to-peer distributed network implements two necessary functions to prevent double spending. First, it verifies party 1 did actually own the money obtained through some other transaction that can be traced. This traceability is created through a mechanism where majority voting of the network confirms a transaction. A record or a block is created every 10 minutes that hold the details of transactions. Ownership is confirmed by existence of one such block that includes a valid transaction of money to party 1 from a legitimate source. To facilitate tracing older transactions, all these blocks are chained to an earlier block. One could easily establish legitimate transactions right from the very first block, the genesis block.
Block Creation Blockchain
The transaction details are sent to the neighboring nodes by the party 1 node/application. The protocol is set such that the node receiving the transaction will verify if the transaction is valid, if a block exists transferring the bitcoins to party 1. If true, the node will add the current transaction (transfer from party 1 to 2) to the block of transactions. Getting a block authorized involves an inverse hash creation problem. The node is required to add some bits (nonce) to the block such that a new hash is created that has a predefined number of zeros at the beginning. These numbers of zeros are adjusted such that the network always needs a fixed amount of time to verify a block. The current block being generated also includes the hash of the previous block. The authenticating node broadcasts the new block and "proof of work" to the network. The proof of work is the string of bits that was added to generate the hash. It is possible another authorized block may be received. The block forming part of a longer chain is taken to be the authentic one. The longest chain of blocks records all the transactions that have happened. The longer chain also establishes that it has been generated by the largest collection of compute power in the network. The rationale being that unless majority computing power is under control of a malicious power; the largest chain will be generated by the honest majority. A timestamp is included in the hash of blocks. Changing this continuing chain that includes proof of work will need doing the proof-of work all over again. The work required to generate the hash is exponentially higher as the number of leading zeroes required in the hash generated. This ensures that the winning node has actually used the maximum computational power. The longest chain will always represent the majority participation. If the voting was based on the number of computing nodes, it could be easily spoofed by creating a large number of IP addresses. The true chain will keep growing the fastest as long as a large number of network nodes are honest ones. As the chain grows, recreating history is going to become that much difficult as the proof-of work will have to be done all over again.
As the network confirms more and more transactions that follow a given one, the record of a transaction becomes more permanent. When there are six confirmed records following a transaction, it is considered a permanent part of the log maintained by the network (the peers in the network). These log records are known as a blockchain. The way it is designed, this blockchain keeps growing as records are always added to the existing chain, none is removed. The designer realized; it will become difficult to keep the entire database stored at local nodes. The Use of Merkle Trees could be used to organize the database. This organization will help prune the chains when the ownership of bitcoins has changed a few times. As all these ownership changes have been verified there will be no need to go further and to the root. The current transaction is obviously verified. Rest of the chain could be pruned out of the local database without affecting the verification process. The peer to peer network does not need to be very structured; messages are sent out all-round on the best effort. It is possible for the nodes to go out of the network or come back to it anytime. The current block carries all the history in it. Thus, as soon as a node receives the blockchain, it learns everything it needs to know.
Incentive To Participate
To make it worthwhile to participate in the compute intensive activity of verification, the winning node is awarded a fixed number of new coins. For the first four years, it was 50 coins and is 25 coins currently. This will be reduced to 12.5 in another four years by 2017. The rate will be halved every four years, and mining will be stopped entirely when total currency in circulation reaches 21 million units. Thereafter, it will only be transaction fees that will be the incentive. Since no one mints bitcoins, mining is the only way coins are created; much like mining gold from inside earth and using it for barter trade.
Popularity Of Bitcoins
Alternative currencies, particularly electronic form of currency has been proposed some thirty years back and a lot of work has been going on. No such currency took widespread root. However, even though many trials did start but failed. Bitcoin activity really started from the setting up of the genesis block. By Mar 2013, total number of bitcoins was estimated to be equivalent to USD 400 million. Today it could be used to buy products and services of a wide variety. A bitcoin exchange exists today and the standard rate of one bitcoin in Mar 2013 was traded at $40 at the Mt Gox, the bitcoin exchange. Many web services such as the Reddit, WordPress services can be paid in bitcoins. Payments processors have come up. One such payment processor Coinbase reported in early 2013 that more than $1 million was processed by it in a month. Bitcoin works across borders and thus there is no necessity to pay a bank a hefty fee for international transactions. A BTC transaction being non-reversible is also a useful property. The transactions are also proof against credit card frauds, making it attractive in countries were such frauds are high. Conversion to many of the main currencies can be made easily. Hedge funds have come up. Products are available increasingly on payment of bitcoin. All these attest to a surprise amount of growth of the bitcoin phenomenon.
Becoming A Trusted Alternate Currency,
There are two questions that need to be looked at. First, if the scheme has any inherent weaknesses that will cause the system to break down eventually.
The second question is if the system can be hijacked and misused by anyone malicious to the detriment of all honest users. As with any public key cryptography system keeping the private key private is a problem. Initially, the wallets that hold the key in your PC used to be unencrypted. Encryption has been added. Malware attacks could steal the private key. Splitting private keys into random shares and storing the pieces in different machines would be useful. Use of super wallets or a bank like facility for storing the keys is another solution. A corresponding control like limited amount of cash dispensation (private keys) would help limit problems. Accidental loss of key has been reported. Off-site backups coupled with password protection can let you get around that problem. If the private keys are generated based on pseudo random algorithms rather than complete random generation, it would be possible to retrieve/recreate them. Hard limit on the total number of coins makes the system deflationary. GDP of the world will keep growing even after the 21 million hard limit is reached, giving rise to deflation. However, each bitcoin can be subdivided into 100 million units, and any other denomination could be introduced. The maximum number of raw units might not be enough if the entire world starts using BTC, but it would not be too difficult to increase precision in that situation. The transaction format and version number can be changed at some particular block number after a year or two, and everyone can catch up by then. Currently, the exchange rate of bitcoins is very volatile. The rates often vary by 50% in a given day. This can discourage people from using BTC in daily transactions and can slow the adoption rate.
The fluctuations are definitely due to speculative trades. It is possible that a small group is responsible for this kind of disturbance just like a stockmarket on a larger scale. As non-speculative use of bitcoins increases, this should stabilize. Since more products become available for sale with bitcoins, more buyers are likely to use bitcoins. One incentive for doing so is the low transaction fees involved. With the rise in computational power, it is conceivable that 51% computational power could be cornered by one group of people. However, the rest of the network would also advance and make achieving majority power difficult. Effort to change the history is an additional difficulty to interfere with the BTC operation. The BTC scheme introduces hard checkpoints periodically with code updates. Private checkpointing has been suggested in literature to make the revision of history even more difficult. There could be a scalability issue in the bitcoin ecosystem. As users grow, a growing number of smartphones will be used. These have comparatively limited computational power, communication bandwidth and life of battery for one charge. It is required that the bitcoin apps on installation download the complete blockchain. They also need to broadcast new transactions and blocks. Functionally the nodes on the bitcoin network are of two types. A large part would be just generating or receiving transactions and not interested in verifying or subsequent mining of bitcoins. Others are verifiers that need to look at all the broadcasts on the net. The transaction clients can get around the scalability problem by receiving only the transactions directed to their public address. Some sort of a filtering service can help choose the right transactions and forward them to the nodes. Smartphones could thus depend on a filtering service residing in the cloud and get away by paying a subscription for the service.
Bitcoin appears to offer not only a non-inflationary property but also many desirable ones of a currency system. Some of the potential vulnerabilities are not strong enough to cause the currency system to crash. Malware attacks, loss of private key, need for backup, etc. are essential parts of cyberspace today and do not pose any excessive threats.
Real Threat Against Bitcoin
It is early days yet in the life of bitcoin. As we have seen from the foregoing, all it will take to hijack the bitcoin system is to create a duplicate system of coins but more importantly an alternate history of transactions in the form of a blockchain range of transactions that support how the alternate bitcoins have evolved. As of now, there are not too many transactions as the commerce being carried out on bitcoins is not very extensive yet. There are three important aspects of this alternate currency system that can provide sufficient motivation. First of all, it goes against all the banking systems that exist today. You do not need them, and you do not need to pay the fat fees to them for transactions, particularly international transactions. In the bitcoin world, there are no geographical boundaries. It is easy to see why these financial institutions would be happy to see bitcoins go away. As the transactions are anonymous, individuals are immune from taxes by governments from specific geographic regions. Losing these taxes could mean a huge loss to the governments. On another plane, a strong currency is another tool for domination and influencing other national governments to bend to your needs. The nations with strong currencies will similarly be very happy to see bitcoins disappear.
For an individual, controlling the currency would be the ultimate control weapon to manipulate economies, nations and people. The world has seen many examples of individuals trying to control the world, motivations for banking and other financial institutions including rich nation governments are strong enough to actually try and destroy bitcoin sooner than later.
Huge computing power would be necessary to mine coins and to create the history. Growth of computing power, until now, has been governed by Moore's Law. According to this law doubling of the number of transistors (resulting in doubling of computing power, in effect) happens every 18 months. However, everybody has access to these increases. The bitcoin peer to peer network must go through a similar upgrade when the elements posing a threat acquire higher computing power. With the creation of (A.I) supercomputers like "Watson" by IBM or just interconnected supercomputers, it will be possible to amass the necessary computing power. It will still take significant time to create the alternate history but it can be started today if put into action.
Then we have quantum computing which promises a huge jump on computing power far beyond what Moore's Law delivers. It is becoming commercial, and already a corporation like Lockheed Martin bought a commercial quantum computer from a pioneering company D-WAVE to use in their commercial activities. The jump in computing power could be understood from what Lockheed-Martin thinks could be done. The quantum computer is expected to provide simulation results of a complex phenomenon very fast. For example, the effect of a solar flare on the complex software that manages the communication satellite systems could be derived very quickly. It is practically impossible to simulate as of now. D-WAVE is out of Canada and has been in existence for more than a decade. Some pointers to the speculations made here are clear from some of the investments that back the company. These include In-Q-Tel, an investment company linked to the CIA and other agencies of the US government. Goldman Sachs is an investor and so is Amazon.
Harnessing this new, high powered computing will be easy for the entities needing to subvert the bitcoin currency and make it difficult for the network supporting the currency.
Although not last and not least, the first step which could disrupt or slowdown bitcoin is a worldwide hunt on all exchange / marketmaker outlets involved in bitcoin. This can be done by international law enforcement / treaties or entities which operate outside the law.
"To Bitcoin Or Not to Bitcoin"
We all know human history and there is enough reason to keep in mind that certain powers do not easily let go what they gained. The only way for Bitcoin to succeed and secure its future is a fast worldwide (legal) adaption to combat the biggest threats to its existence.