Help:FAQ

From Bitcoin Wiki
Revision as of 07:52, 15 September 2011 by Tcatm (talk | contribs) (Undo vandalism)
Jump to navigation Jump to search

Here you will find answers to the most commonly asked questions.

General

What are bitcoins?

Bitcoins are the unit of currency of the Bitcoin system. A commonly used shorthand for this is “BTC” to refer to a price or amount (eg: “100 BTC”). There are such things as tangible bitcoins, but ultimately, a bitcoin is just a number associated with a Bitcoin Address. A tangible bitcoin is simply an object, such as a coin, with the number carefully embedded inside. See also an easy intro to bitcoin.

How can I get Bitcoins?

There are a variety of ways to acquire Bitcoins:

  • Accept Bitcoins as payment for goods or services.
  • There are several services where you can trade them for traditional currency.
  • Find a local trader on tradebitcoin (or somewhere else) and trade with him in cash.
  • Create a new block (currently yields 50 Bitcoins).
  • Participate in a mining pool.

Can I buy Bitcoins with Paypal?

While it's possible to find an individual who wishes to sell Bitcoin to you via Paypal, (perhaps via #bitcoin-otc ) most major exchanges do not allow funding through Paypal. This is due to repeated cases where someone pays for Bitcoins with Paypal, receives their Bitcoins, and then fraudulently complains to Paypal that they never received their goods. Paypal too often sides with the fraudulent buyer in this case, and so exchangers no longer allow this method of funding.

Buying Bitcoins from individuals with this method is still possible, but requires mutual trust. In this case, Bitcoin seller beware.

Where can I find a forum of Bitcoin users?

There is no longer an "official" forum for Bitcoin. The [Portal] includes links to some forums.

How are new Bitcoins created?

File:Total bitcoins over time graph.png
Number of bitcoins over time, assuming a perfect 10-minute interval.

New coins are generated by a network node each time it finds the solution to a certain mathematical problem (i.e. creates a new block), which is difficult to perform and can demonstrate a proof of work. The reward for solving a block is automatically adjusted so that in the first 4 years of the Bitcoin network, 10,500,000 BTC will be created. The amount is halved each 4 years, so it will be 5,250,000 over years 4-8, 2,625,000 over years 8-12 and so on. Thus the total number of coins will approach 21,000,000 BTC over time.

Blocks should be generated every 10 minutes, on average. As the number of people who attempt to generate these new coins changes, the difficulty of creating new coins changes. This happens in a manner that is agreed upon in advance by the network as a whole, based upon the time taken to generate the previous 2016 blocks. The difficulty is therefore related to the average computing resources devoted to generate these new coins over the time it took to create these previous blocks. The likelihood of somebody creating a block is based on the calculation speed of the system that they are using compared to the aggregate calculation speed of all the other systems generating blocks on the network.

What's the current total number of Bitcoins in existence?

Current count

The number of blocks times the coin value of a block is the number of coins in existence. The coin value of a block is 50 BTC for each of the first 210,000 blocks, 25 BTC for the next 210,000 blocks, then 12.5 BTC, 6.25 BTC and so on.

How divisible are Bitcoins?

Technically, a Bitcoin can be divided down to 8 decimals using existing data structures, so 0.00000001 BTC is the smallest amount currently possible. Discussions about and ideas for ways to provide for even smaller quantities of Bitcoins may be created in the future if the need for them ever arises.

What do I call the various denominations of Bitcoins?

There is a lot of discussion about the naming of these fractions of Bitcoins. The leading candidates are:

  • 1 BTC = 1 Bitcoin
  • 0.01 BTC = 1 cBTC = 1 Centi-Bitcoin (also referred to as Bitcent)
  • 0.001 BTC = 1 mBTC = 1 Milli-Bitcoin (also referred to as mbit (pronounced em-bit) or millibit)
  • 0.000 001 BTC = 1 μBTC = 1 Micro-Bitcoin (also referred to as ubit (pronounced yu-bit) or microbit)

The above follows the accepted international SI units for thousandths, millionths and billionths. There are many arguments against the special case of 0.01 BTC since it is unlikely to represent anything meaningful as the Bitcoin economy grows (it certainly won't be the equivalent of 0.01 USD, GBP or EUR). Equally, the inclusion of existing national currency denominations such as "cent", "nickel", "dime", "pence", "pound", "kopek" and so on are to be discouraged. This is a worldwide currency.

One exception is the "satoshi" which is smallest denomination currently possible

  • 0.000 000 01 BTC = 1 Satoshi (pronounced sa-toh-shee)

which is so named in honour of Satoshi Nakamoto the pseudonym of the inventor of Bitcoin.

For an overview of all defined units of Bitcoin (including less common and niche units), see Units.

Further discussion on this topic can be found on the forums here:

How does the halving work when the number gets really small?

The reward will go from 0.00000001 BTC to 0. Then no more coins will likely be created.

The calculation is done as a right bitwise shift of a 64-bit signed integer, which means it is divided by 2 and rounded down. The integer is equal to the value in BTC * 100,000,000. This is how all Bitcoin balances/values are stored internally.

Keep in mind that using current rules this will take nearly 100 years before it becomes an issue and Bitcoins may change considerably before that happens.

How long will it take to generate all the coins?

The last block that will generate coins will be block #6,929,999. This should be generated around year 2140. Then the total number of coins in circulation will remain static at 20,999,999.9769 BTC.

Even if the allowed precision is expanded from the current 8 decimals, the total BTC in circulation will always be slightly below 21 million (assuming everything else stays the same). For example, with 16 decimals of precision, the end total would be 20999999.999999999496 BTC.

If no more coins are going to be generated, will more blocks be created?

Absolutely! Even before the creation of coins ends, the use of transaction fees will likely make creating new blocks more valuable from the fees than the new coins being created. When coin generation ends, what will sustain the ability to use bitcoins will be these fees entirely. There will be blocks generated after block #6,929,999.

But if no more coins are generated, what happens when Bitcoins are lost? Won't that be a problem?

Because of the law of supply and demand, when fewer bitcoins are available the ones that are left will be in higher demand, and therefore will have a higher value. So, as Bitcoins are lost, the remaining bitcoins will increase in value to compensate. As the value of a bitcoin increases, the number of bitcoins required to purchase an item decreases. This is a deflationary economic model. As the average transaction size reduces, transactions will probably be denominated in sub-units of a bitcoin such as millibitcoins ("Millies") or microbitcoins ("Mikes").

The Bitcoin protocol uses a base unit of one hundred-millionth of a Bitcoin ("a Satoshi"), but unused bits are available in the protocol fields that could be used to denote even smaller subdivisions.

If every transaction is broadcast via the network, does Bitcoin scale?

The Bitcoin protocol allows lightweight clients that can use Bitcoin without downloading the entire transaction history. As traffic grows and this becomes more critical, implementations of the concept will be developed. Full network nodes will at some point become a more specialized service.

With some modifications to the software, full Bitcoin nodes could easily keep up with both VISA and MasterCard combined, using only fairly modest hardware (a couple of racks of machines using todays hardware). It's worth noting that the MasterCard network is structured somewhat like Bitcoin itself - as a peer to peer broadcast network.

Learn more about Scalability.

Economy

Where does the value of Bitcoin stem from? What backs up Bitcoin?

Bitcoins have value because they are accepted as payment by many. See the list of Bitcoin-accepting sites.

When we say that a currency is backed up by gold, we mean that there's a promise in place that you can exchange the currency for gold. In a sense, you could say that Bitcoin is "backed up" by the price tags of merchants – a price tag is a promise to exchange goods for a specified amount of currency.

It's a common misconception that Bitcoins gain their value from the cost of electricity required to generate them. Cost doesn't equal value – hiring 1,000 men to shovel a big hole in the ground may be costly, but not valuable. Also, even though scarcity is a critical requirement for a useful currency, it alone doesn't make anything valuable. For example, your fingerprints are scarce, but that doesn't mean they have any exchange value.

What if someone bought up all the existing Bitcoins?

What if somebody bought up all the gold in the world? Well, by attempting to buy it all, the buyer would just drive the prices up until he runs out of money.

Not all Bitcoins are for sale. Just as with gold, no one can buy a Bitcoin that isn't available for sale.

Won't Bitcoin's deflationary tendencies cause a deflationary spiral?

See the article Deflationary spiral.

Doesn't Bitcoin unfairly benefit early adopters?

Early adopters have a large number of bitcoins now because they took a risk and invested resources in an unproven technology. By so doing, they have helped Bitcoin become what it is now and what it will be in the future (hopefully, a ubiquitous decentralized digital currency). It is only fair they will reap the benefits of their successful investment.

In any case, any bitcoin generated will probably change hands dozens of time as a medium of exchange, so the profit made from the initial distribution will be insignificant compared to the total commerce enabled by Bitcoin.

Is Bitcoin a Ponzi scheme?

In a Ponzi Scheme, the founders persuade investors that they’ll profit. Bitcoin does not make such a guarantee. There is no central entity, just individuals building an economy.

A ponzi scheme is a zero sum game. Early adopters can only profit at the expense of late adopters. Bitcoin has possible win-win outcomes. Early adopters profit from the rise in value. Late adopters profit from the usefulness of a stable and widely accepted p2p currency.

The fact that early adopters benefit more doesn't alone make anything a ponzi scheme. Apple stocks aren't ponzi even though the early investors got rich.

Is Bitcoin a bubble?

Yes, in the same way as the euro and dollar are. They only have value in exchange and no value in use. If everyone suddenly stopped accepting your dollars, euros or bitcoins, the "bubble" would burst and their value would drop to zero. But that is unlikely to happen: even in Somalia, where the government collapsed 20 years ago, Somali shillings are still accepted as payment.

Sending and Receiving Payments

Why do I have to wait 10 minutes before I can spend money I received?

10 minutes is the average time taken to find a block. It can be significantly more or less time than that depending on luck; 10 minutes is simply the average case.

Blocks (shown as "confirmations" in the GUI) are how the Bitcoin achieves consensus on who owns what. Once a block is found everyone agrees that you now own those coins, so you can spend them again. Until then it's possible that some network nodes believe otherwise, if somebody is attempting to defraud the system by reversing a transaction. The more confirmations a transaction has, the less risk there is of a reversal. Only 6 blocks or 1 hour is enough to make reversal computationally impractical. This is dramatically better than credit cards which can see chargebacks occur up to three months after the original transaction!

Why ten minutes specifically? It is a tradeoff chosen by Satoshi between propagation time of new blocks in large networks and the amount of work wasted due to chain splits. If that made no sense to you, don't worry. Reading the technical paper should make things clearer.

Do you have to wait 10 minutes in order to buy or sell things with Bitcoin?

No, it's reasonable to sell things without waiting for a confirmation as long as the transaction is not of high value.

When people ask this question they are usually thinking about applications like supermarkets or snack machines, as discussed in this thread from July 2010. Zero confirmation transactions still show up in the GUI, but you cannot spend them. You can however reason about the risk involved in assuming you will be able to spend them in future. In general, selling things that are fairly cheap (like snacks, digital downloads etc) for zero confirmations will not pose a problem if you are running a well connected node.

I sent some bitcoins and they haven't arrived yet! Where are they?

Don't panic! There are a number of reasons why your bitcoins might not show up yet, and a number of ways to diagnose them.

First of all, check the current max block count by going here and comparing that to the number in the bottom right hand corner of your client.

If these numbers are different by more than 1 or 2 then you need to wait for your block chain to download. If not, then it's possible that your transaction hasn't been included in a block yet.

You can check pending transactions in the network by going here and then searching for your address. If the transaction is listed here then it's a matter of waiting until it gets included in a block before it will show in your client.

Bear in mind that if the transaction is based on a coin that was in a recent transaction then it could be considered a low priority transaction take longer to transfer if the transaction fee paid isn't high enough. Very low priority transactions with 0 fees might take hours or days to be included in a block.

Why does my Bitcoin address keep changing?

Whenever the address listed in "Your address" receives a transaction, Bitcoin replaces it with a new address. This is meant to encourage you to use a new address for every transaction, which enhances anonymity. All of your old addresses are still usable: you can see them in Settings -> Your Receiving Addresses.

How much will the transaction fee be?

Some transactions might require a transaction fee for them to get confirmed in a timely manner. The transaction fee is processed by and received by the bitcoin miner. The most recent version of the Bitcoin client will estimate an appropriate fee when a fee might be required.

The fee is added to the payment amount. For example, if you are sending a 1.234 BTC payment and the client requires a 0.0005 BTC fee, then 1.2345 BTC will be subtracted from the wallet balance for the entire transaction and the address for where the payment was sent will receive a payment of 1.234 BTC.

Because the fee is related to the amount of data that makes up the transaction and not to the amount of bitcoins being sent, the fee may seem extremely low (0.0005 BTC for a 1,000 BTC transfer) or unfairly high (0.004 BTC for a 0.02 BTC payment, or about 20%). If you are receiving tiny amounts (e.g., as small payments from a mining pool) then fees when sending will be higher than if your activity follows a more normal consumer or business transaction pattern.

What happens when someone sends me a bitcoin but my computer is powered off?

Bitcoins aren't actually "sent" to your wallet, the software only uses that term so that we can use the currency without having to learn new concepts. Your wallet is only needed when you wish to spend coins that you've received.

The coins that were sent to you when the client was not running will later appear as if they were received in your wallet when you later launch the client. It will download blocks and catch up with any transactions it didn't already have.

Networking

Do I need to configure my firewall to run bitcoin?

Bitcoin will connect to other nodes, usually on tcp port 8333. You will need to allow outgoing TCP connections to port 8333 if you want to allow your bitcoin client to connect to many nodes. Bitcoin will also try to connect to IRC (tcp port 6667) to meet other nodes to connect to. Testnet uses tcp port 18333 instead of 8333.

If you want to restrict your firewall rules to a few ips and/or don't want to allow IRC connection, you can find stable nodes in the fallback nodes list. If your provider blocks the common IRC ports, note that lfnet also listens on port 7777. Connecting to this alternate port currently requires either recompiling Bitcoin, or changing routing rules. For example, on Linux you can evade a port 6667 block by doing something like this:

echo 173.246.103.92 irc.lfnet.org >> /etc/hosts
iptables -t nat -A OUTPUT -p tcp --dest 173.246.103.92 --dport 6667 -j DNAT --to-destination :7777 -m comment --comment "bitcoind irc connection"

How does the peer finding mechanism work?

Bitcoin finds peers primarily by connecting to an IRC server (channel #bitcoin on irc.lfnet.org). If a connection to the IRC server cannot be established (like when connecting through TOR), an in-built node list will be used and the nodes will be queried for more node addresses.

Mining

What is mining?

Mining is the process of spending computation power to find valid blocks and thus create new Bitcoins.

Technically speaking, mining is the calculation of a hash of the a block header, which includes among other things a reference to the previous block, a hash of a set of transactions and a nonce. If the hash value is found to be less than the current target (which is inversely proportional to the difficulty), a new block is formed and the miner gets the newly generated Bitcoins (50 per block at current levels). If the hash is not less than the current target, a new nonce is tried, and a new hash is calculated. This is done millions of times per second by each miner.

Why was the "Generate coin" option of the client software removed?

In the early days of Bitcoin, it was easy for anyone to find new blocks using standard CPUs. As more and more people started mining, the difficulty of finding new blocks has greatly increased to the point where the average time for a CPU to find a single block can be many years. The only cost-effective method of mining is using a high-end graphics card with special software (see also Why a GPU mines faster than a CPU) and/or joining a mining pool. Since solo CPU mining is essentially useless, it was removed from the GUI of the Bitcoin software.

Is mining used for some useful computation?

The computations done when mining are internal to Bitcoin and not related to any other distributed computing projects. They serve the purpose of securing the Bitcoin network, which is useful.

Is it not a waste of energy?

Spending energy on creating a free monetary system is hardly a waste. Also, services necessary for the operation of currently widespread monetary systems, such as banks and credit card companies, also spend energy, arguably more than Bitcoin would.

Why don't we use calculations that are also useful for some other purpose?

To provide security for the Bitcoin network, the calculations involved need to have some very specific features. These features are incompatible with leveraging the computation for other purposes.

How does the proof-of-work system help secure Bitcoin?

To give a general idea of the mining process, imagine this setup:

 payload = <some data related to things happening on the Bitcoin network>
 nonce = 1
 hash = SHA2( SHA2( payload + nonce ) )

The work performed by a miner consists of repeatedly increasing "nonce" until the hash function yields a value, that has the rare property of being below a certain target threshold. (In other words: The hash "starts with a certain number of zeroes", if you display it in the fixed-length representation, that is typically used.)

As can be seen, the mining process doesn't compute anything special. It merely tries to find a number (also referred to as nonce) which - in combination with the payload - results in a hash with special properties.

The advantage of using such a mechanism consists of the fact, that it is very easy to check a result: Given the payload and a specific nonce, only a single call of the hashing function is needed to verify that the hash has the required properties. Since there is no known way to find these hashes other than brute force, this can be used as a "proof of work" that someone invested a lot of computing power to find the correct nonce for this payload.

This feature is then used in the Bitcoin network to secure various aspects. An attacker that wants to introduce malicious payload data into the network, will need to do the required proof of work before it will be accepted. And as long as honest miners have more computing power, they can always outpace an attacker.

Also see SHA2 and Proof-of-work system on Wikipedia.

Help

I'd like to learn more. Where can I get help?

See Also