Bitcoins

From New Media Business Blog

Jump to: navigation, search


Bitcoin Logo
Type Open-Source Software, Electronic Currency
Platform(s) FreeBSD, GNU/Linux, Mac OS X, Windows
Initial Release February 4, 2009[1]
Website bitcoin.org

Bitcoins are an electronic, decentralized and peer-to-peer currency, based on industrial-strength encryption that parties can easily exchange over the Internet without the requirement of any intermediary parties. The Bitcoin concept was developed by Satoshi Nakamoto (possibly a pseudonym) and first publicly released in 2009.

Satoshi released Bitcoin as an open-source project, allowing developers or anyone else to view and verify the source code. This ensures the program functions correctly and allows security and robustness to be independently analyzed. The source code has been verified and deemed safe and secure by security experts like Steve Gibson[2].

As of December 6 2011, the bitcoin economy is worth about $23.45 million Canadian dollars (7,819,600 bitcoins in existence[3] at an exchange rate of $2.99826 CAD per bitcoin[4]).


Bitcoin Introduction Video from weusecoins.com

Contents

Technical Overview

The Bitcoin Client

The Bitcoin client is the standard way for users to interact with Bitcoin, sending or receiving coins to/from other Bitcoin users. The official Bitcoin client is available from the Bitcoin Project page on sourceforge.com. The source code is available there as well, so users can compile their own copy to ensure they are using an unmodified official version. Users may also choose to edit the source code and compile a custom version in order to add extra custom features, change the user interface, or run it on a previously unsupported operating system.

It is important to note that although the user is able to modify all parts of the Bitcoin client, any changes to the 'currency logic' will cause it to be incompatible with other existing clients. For example, if a user was to compile their own version of the client such that their client comes with 1,000,000 Bitcoins 'built in', the user would not be able to use those coins (send them to other Bitcoin users) because official clients would not recognize those coins as ever existing, and so any transactions involving them would fail because they would be invalid. In this way Bitcoin can be completely open source, but maintain integrity by protecting against such fundamental modifications. These such modifications create a custom or "parallel" network in which the modified clients can be compatible with each other, but not backward-compatible with Bitcoin. Many such networks exist, such as Solid Coin, Name Coin and Lite Coin.

The Bitcoin Network

The Bitcoin network consists of all Bitcoin clients, which all communicate with each other over the Internet. By extension, every Bitcoin user is part of the network since it is necessary to be running a Bitcoin client in order to send or receive Bitcoins. A user's Bitcoin client does not need to be running when receiving coins, and it is not required that users keep their clients running 24/7. A client, upon going online after being offline for some time, downloads records of events that occurred in the network while the client was offline. When the client has 'caught up' to all the other clients and is up to date, it can participate in generating blocks and sending or receiving transactions.

The network (all the clients connected together) collectively decides whether a transaction is valid or invalid, whether a block is valid or invalid (see next section) and decides on a re-target value of difficulty for mining the next set of 2,016 blocks[5] (see next two sections).

The Bitcoin Block Chain

Bitcoins come into existence whenever a block is generated. Blocks are mined through trial-and-error puzzle solving (see next section). A block contains a record of Bitcoins being created, and contain transactions. The difficulty of generating a block is adjusted by the Bitcoin network every 2016 blocks to keep the rate of difficult such that blocks are generated approximately once every ten minutes. Transactions can be announced at any time by anyone, but pending transactions must wait until the next block is generated, at which time the user who generates the block includes all pending transactions that it considers valid, and incorporates them into the block that is being generated, before announcing the aggregate block to the Bitcoin network. All other Bitcoin clients download the block, examine it to make sure it is valid (see next section) and that all included transactions are also valid. If the block passes this check, it is deemed valid by all the clients checking (who announce their verdict to the network) and the block is accepted as the latest block in the sequence of blocks since the original ("Genesis") block. This sequence, or record of blocks, is called the block chain. Every block contains at least one transaction (awarding the Bitcoins generated in the block to the user who generated the block) even if no new transactions have been announced since the last block was generated.

Since Bitcoins are only created when blocks are generated, and since blocks contain transactions (that are deemed valid), the block chain constitutes a (public) record of all Bitcoins in existence. The block chain is downloaded by every client in the network, and is meant to be a public record. Websites such as Block Explorer allow anyone to examine the block chain, including all Bitcoin transactions (ever) and all blocks generated.

Generating Bitcoins

Some people taking bitcoin mining pretty seriously..

Bitcoin depends on one-way mathematical functions called hash algorithms which are normally used for encryption. Hash algorithms take an input and transform it into a random (unpredictable), but consistent output. That is, any arbitrary input produces a result that is unpredictable before it is tried, but the same result is always obtained for the same input. This is important because generating Bitcoins is based on finding an input into a particular hash algorithm that produces a certain desirable output. Since the result is unpredictable, and a hash algorithm (by definition) is irreversible, the only way to find an input that produces a desired output is trial and error. Therefore the faster the hardware is able to try inputs into the hash algorithm, the faster the user is able to generate blocks (and thus earn Bitcoins). Generating Bitcoin blocks is based on the SHA256 hashing algorithm, an industry standard encryption algorithm which has stood up to the test of time thus far.

When such an input is found that produces a desired output when put into the hash algorithm, the user who discovered it is able to generate a block using that input, then encrypt that block using the discovered input, and then announce both the generated block and discovered input that was used to encrypt the block. In this way, all other Bitcoin clients are able to verify that the announced discovered input produces a desirable result when inputted into the hash algorithm, and that the new block announced was indeed generated by the same user. If the block and all of its contained transactions are also verified as valid, the block is accepted as valid and added onto the end of the block chain. Since when a user generates a block they are required to include a transaction awarding themselves a certain number of Bitcoins (and this transaction is validated as part of the block) the user in this way has earned Bitcoins, and it is in this way that new Bitcoins are generated.

The "desired output" for which an input is required to be found is adjusted by the Bitcoin network every 2016 blocks in order to set the difficulty of generating blocks, such that blocks are generated, on average, every ten minutes, regardless of processing power in the network. The number of Bitcoins generated per block is divided in half about every four years[6]. Due to this diminishing return, the number of Bitcoins generated per block trends toward zero, but because it is halved, it will eventually be very small, but will theoretically never reach zero. Due to this trend towards zero new Bitcoins generated per block, the total number of Bitcoins that can ever exists is 21,000,000 [7].

When a user generates a block they also earn any transaction fees attached to transactions that are included with the transactions that are aggregated into the block. See the next two sections for more information.

See also:

Transactions

The intention to send Bitcoins is announced to the Bitcoin network by a Bitcoin client, and can be done so at any time. At this point the transaction is considered pending, and not completed (referred to as "unconfirmed" by the official Bitcoin client). The user to next generate a block aggregates all pending transactions and verifies them to be valid before including them into the new block. If this new block is accepted as valid by the Bitcoin network, the transactions inside it are also considered valid. As Bitcoin clients verify the block they announce their endorsement of it as being valid. These endorsements show up as "confirmations" in the Bitcoin client. Once a transaction is confirmed multiple times (10 according to the official client, though some people require 100 confirmations just to be safe) it is likely that the transaction is valid and that the receiver of the coins legitimately possesses the Bitcoins that have been sent to them.

A transaction would be considered invalid (and thus rejected from being included in new blocks) if the address that they are being sent from does not contain a balance equal to or greater than the amount being sent. Allowing such events would of course allow anyone to create Bitcoins and so this is checked when transactions are being verified. A transaction might also be rejected from inclusion in a block if it does not contain the minimum transaction fee required for that particular transaction.

Fees

Almost all Bitcoin transactions require no transaction fee in order to be processed. There are several cases where fees are required. These requirements are built into the Bitcoin client, and are generally agreed upon by the open source community as new versions of the official client are coded and released.

If a user is sending a very small amount of Bitcoins they may be required to pay a transaction fee (minimum transaction fee is currently 0.0005 BTC, about 0.15 cents Canadian at an exchange rate of $3/BTC) [8]. This is because a potential attack against the network is to flood the network with many tiny transactions. Since Bitcoins can be subdivided into very small amounts, not many Bitcoins would be required for such an attack, which has the potential to overwhelm or at least significantly slow down the entire network.

If the size of the block so far exceeds a certain size, all further transactions require a small transaction fee in order to be processed in this block. Otherwise, the transactions without the required fee must wait until some future block (when there are less transactions occurring) in order to be processed. This encourages rewarding users that generate blocks by paying for priority transaction processing.

Bitcoin Economy Overview

Bitcoin Economy

Direct Connection

In the bitcoin network, users directly connect to each other in a peer-to-peer process similar to the concept of BitTorrent. There is no central server or entity that is able to control the flow of bitcoins.

Generating Bitcoins

The process of creating new bitcoins differs from that of traditional currency used today. Bitcoins are "mined" by users using bitcoin generating programs. In very simplified terms, bitcoin mining computers are presented with and have to solve complex puzzles with the first user solving the puzzle being rewarded 50 bitcoins. The puzzle itself is very difficult to solve, but once the solution is obtained it is easy to verify. Once enough users have verified the solution and proliferated their acceptance on the network, the reward will become valid. This is an implementation of a proof of work system.[9] The bitcoin protocol is setup so that the more computational power there is on the network, the harder the puzzle becomes so that on average, the puzzles are solved every 10 minutes.

The bitcoin mining process is akin to mining gold—except digitally. There is only a limited amount of gold on the earth and takes a certain amount of effort to mine it. There will also only be a limited amount of bitcoins available. The difference is that gold is tangigle while bitcoins are intangible and only available in the digital world.

There are also other ways of obtaining 'free' bitcoins:

  • Bitcoin Faucet will give each user 0.005 bitcoins to help them get started
  • Dragon's Tale Casino gives you small amounts of bitcoins for completing actions like talking to statues
  • Daily Bitcoins Gives you bitcoins for visiting/viewing advertisements

Storing/Receiving Bitcoins

Once users obtain bitcoins, they get stored into their bitcoin wallet. Users are able to transfer these coins to other users or be sent coins from other users to their public bitcoin wallet address. Anyone can send bitcoins to your public wallet address, but cannot access its contents without your wallet.dat file.

Merchantability

Commerce activities drive bitcoin’s value. Businesses can choose to accept bitcoin as one of their payment methods, with minimal or no fees and no registration. This really creates an incentive for users to mine coins and use bitcoins, adding to their value. If bitcoins are not accepted by companies or individuals as payment, the value of bitcoins would be very small.

http://bitbrew.net – Bag of coffee bought from Bitbrew [insert picture (?)]

Currency Exchanges

Users are also able to trade their bitcoins on currency exchanges for other currencies or even allow traditional currencies like the dollar or yen to be traded for bitcoins. This allows those interested in bitcoins to join in without having to mine.

Some of the popular currency exchanges include:

Reception and Adoption

Though the concept of digital currency is very new to many, adoption of bitcoin has been quite significant.

  • Almost 1 million downloads from Sourceforge in 2011[10]
  • About 200,000 unique active users at any given time [11]
  • Support from over 500 businesses[12]
  • Users from across the globe [13]

Advantages

Bitcoins present a few benefits over traditional currencies such as the Canadian or US dollar.

Decentralization

Bitcoins are decentralized meaning that there is no government control or no company control; in fact, there is no single person in control. It is a peer-to-peer based network similar to concept of bittorrent. Since it is peer-to-peer, that means there are no middle men getting transaction fees, like VISA/Mastercard. Also, accounts or balances cannot be frozen like PayPal and there is no limits as to what can be sent or received. This allows for more freedom and control to sellers and buyers.

Inflation Controlled

Bitcoins are similar to the concept of gold in which there is an upper limit on the total number of coins ever created. This is advantageous as it controls inflation, once the limit is reached, no more bitcoins can be created. This upper limit also introduces scarcity, adding to the value of bitcoins.

Transferability

Bitcoins are very easy to transfer anywhere in the world. They are open to anybody, require no registration, and can be sent directly to another person, anytime, anywhere, with little or no fees.

Anonymity

Although there is a public record of every transaction processed on the bitcoin network, users are able to create as many wallets as they like, whenever they like. They offer a degree of privacy that's particularly affective in warding off cybercriminals or real-world enemies who might wish to target you for some reason.

Bitcoins are relatively anonymous

Collaboration and Openness

Bitcoins wouldn't work without user support. This collaboration makes bitcoin stronger and can people a sense of being involved in a movement against our reliance on traditional currencies and intermediaries like PayPal. Every transaction that ever takes place is also out in the open and can be viewed on www.boxexplorer.com. Users can create and share their own interfaces to Bitcoin, using such technologies such as C++, and other programming languages, enabling users to create smartphone applications capable of the same functions as mobile banking applications offered by banks, and create web pages, using such technologies as PHP, that have 'shopping cart' functions that function solely using Bitcoins for payment, without having to pay fees to outside parties for things such as access to credit card processing or other intermediary services (such as PayPal).

Divisibility

Bitcoins can be divided down and stored/traded to one hundred millionth of a Bitcoin (8 decimal points). This is called the "Satoshi Fraction" in honor of the creator. This high divisibility allows more flexibility for merchants and buyers when setting/paying prices.

Disadvantages

Silkroad drug selling using bitcoins

Coin Protection

You are solely responsible for protecting your bitcoins. If you lose your wallet file, or get infected with malware designed to steal Bitcoins[14], your Bitcoins cannot be recovered. Transactions cannot be reversed, and so there is no recourse (within the Bitcoin network) against scammers and fraudsters.

Processing Times

As blocks are generated, on average, every ten minutes, it can take upwards of 10 minutes for your transaction to be verified, leaving both you and the merchant waiting. Sometimes processing time fluctuate, such as when block generation difficulty is adjusted, causing unpredictable (though usually not extreme) wait times.

Early Birds Get the Worm

Bitcoins are also a bit like land stakes. If started mining and adopting bitcoins early and have good hardware resources, you can lay stake to a large Bitcoin claim. Satoshi Nakamoto, the creator of bitcoins reportedly has around 150,000 of them.[15]

This makes it harder for late-comers to get a good start with bitcoins unless they trade-in tradional currency.

Anonymity

Anonymity also has a dark side. Criminal activities can be performed more easily though bitcoin such as drug trades. It is also harder for governments to track income and purchases for taxation purposes.

There is/was a website called Silkroad where users could post absolutely anything they wanted to sell, including drugs and other prohibited items. This website was/is only available through the Tor encrypted proxy network and only allowed bitcoins as a form of payment.

Volatility

There have been many ups and downs in bitcoins existence and even once reached $30USD per bitcoin. Since this currency and even type of currency is in its infancy, there will be volatility as it goes toward stability.

Value of 1 bitcoin in USD over time since September 2010 on the MtGox Currency Exchange

Security

Wallet File

Your wallet file is essentially a virtual wallet. If you lose file, you lose access to all your coins. With that being said, having a backup of the wallet file will allows you to mitigate the risk of losing all your coins. The downside to this option is you have to protect your wallet against theft, as anyone with your wallet can compromise all your bitcoins. Some methods of protection include: encrypting your wallet file, not storing your wallet on cloud-based services (such as Dropbox), having a backup of your wallet on a local device, having up-to-date malware software to prevent trojans from stealing your wallet.

Double Spending

Double spending bitcoins is avoided by the way that bitcoins are transferred throughout the network. The bitcoin network is an interconnected database that lists and verifies all transactions so bitcoins cannot be spent more than once.

Faking Bitcoins

Since all your bitcoins are stored in a file, you might assume that creating multiple versions of the file will allow you access to more bitcoins, however this is not the case. Your wallet only contains unique keys, which give you rights to spend certain bitcoins on the bitcoin network. The keys correspond with certain bitcoins so doubling the wallet is only doubling keys giving you no additional bitcoins. You can think of it as duplicating your banking details. Duplicating your banking details does not giving you more currency.

Website Security

In order for increased trust to be placed into bitcoins, there needs to be more standardized security on online bitcoin retailers and markets, similar to credit card encryption online. This is a major concern because of the anonymity of bitcoins which makes it extremely difficult to track bitcoins if they are stolen. Example: Earlier this year, Mt. Gox, the largest bitcoin market had a large bitcoin account hacked. All the bitcoins from the account were sold and the value of bitcoins dropped from $17 to less than $0.01. Source: http://venturebeat.com/2011/06/19/popular-bitcoin-exchange-mt-gox-hacked-prices-drop-to-pennies/

51% Attack

If a hacker or spammer is able to gain 51% or more control of peers in the bitcoin network, they then essentially can essentially take over the network as they would have the power to validate/invalidate coins. As the bitcoin network is currently very large, it would be difficult for an individual to pull this off. However, if a government or large business had the intention, they could possibly take control of the bitcoin network or shut it down by invalidating all coins.

Business Implications

Example of bitcoin payments in a restaurant

There are some potential investment opportunities in bitcoins. Since bitcoins have not entered mainstream adoption, businesses investing into bitcoins can earn large returns by investing into bitcoins early. The flipside however is the risk that they are undertaking in this investment. Bitcoins allow for businesses to accept an alternative method of payment with minimal transfer fees because there is no intermediary. This will help lower costs for businesses if consumers choose to use bitcoins as opposed to credit cards. The major downfall for bitcoins is its failure to reach consistent market stability. This makes it difficult for businesses to accept because of its high risk and potential to not reach mass adoption.

See also:

Future Outlook

There’s still a big question regarding whether bitcoins will reach critical adoption. There are already other smaller digital decentralized currencies such as Loom and Ripple and it wouldn’t be too farfetched to say that there will be others in the near future. The most important factor as to whether a currency will reach the much needed critical mass is whether consumers and businesses trust the currency. The convenience factor is obvious, especially with the growth of technology; bitcoins can become a method of payment through mobile devices. If a currency is standardized, there will be few disadvantages for businesses to accept them as a form of payment. Given that the market stabilizes, they will be very low risk but with huge potential cost advantages. There’s no guarantee for bitcoins or any other digital currency to be successful in the future, but that has been the case for other disruptive technologies. When the internet became popular in the 90s, nobody would have expected it to grow at its rate and become such an important part of day to day life

Bitcoin Alternatives

There are several other projects competing to be the next big CryptoCurrency. Some of these present advantages over bitcoins but then also have their unique disadvantages as well. A summary of the main alternatives to bitcoin is presented below.


Name Description
Solidcoin
  • 2 minute blocks
  • 51% attack protection
  • faster transaction processing
  • no maximum coin generation limits
  • re-targets difficulty level every 6 hours
  • Solidcoin network has been hacked/attacked by spammers in the past leaving users to lose trust
  • the creator officially shutdown the project in September 2011 but others are trying to keep it alive[16]
  • parts of the currency are centralized
Litecoin
  • a coin that is silver to Bitcoin's gold.
  • forked directly form the Bitcoin source code, so it won't have any new security holes
  • 1 block every 2.5 minutes with 50 coins in a block. (faster blocks means faster transaction times for merchants)
  • upper limit of 82 million coins that can ever be generated
  • difficulty will retarget about every 3.5 days.
  • more CPU friendly--you dont need to purchase specialized graphics cards to mine coins efficiently
  • fair--only two blocks mined before its public release (a test block and a block to verify the test block)
Tenebrix
  • can only be effectively mined by CPUs as opposed to GPUs
  • 1 block per 5 minutes, difficulty retargets every week, no upper bound on mining and 25 Brix per block.
  • unfair advantage--developers pre-mined 7.7 million coins before release

Further Links

Videos

Steve Gibson, security expert from grc.com describes bitcoins on his SecurityNow! podcast
Bitcoin & The End of State-Controlled Money: Q&A with Jerry Brito
Ways of Obtaining Bitcoins
Bitcoin overview...
CNN Report on bitcoins
Personal tools