57

Traditional currencies have anti-counterfeiting features designed to make them hard to copy, but despite this attempt counterfeit money is a real threat. Since bitcoins are digital, it's trivial to copy them. Does this mean that bitcoins can be counterfeited?

9
  • 11
    @Lohoris No question is too basic for an SE site. We want to be reference material, we don't accomplish that goal by telling people to RTFM.
    – Arda Xi
    Commented Feb 15, 2012 at 16:31
  • 1
    @ArdaXi: if someone didn't try some effort to solve his problem, then he shouldn't expect SE to solve it
    – o0'.
    Commented Feb 15, 2012 at 17:08
  • 7
    @Lohoris I re-iterate. We want this site to be reference material. When someone has a basic question and searches for it on Google, we want to be the first result. How can we do that if we discourage simpler questions?
    – Arda Xi
    Commented Feb 15, 2012 at 22:39
  • 5
    Upvoted to undo Lohori's unjustified downvote. This is an interesting question and certainly not too basic.
    – imoatama
    Commented Aug 9, 2012 at 20:46
  • 4
    @Lohoris FWIW, reading Q&A on Stack Exchange is my way to be introduced to what bitcoin is and how it works.
    – gerrit
    Commented Mar 29, 2013 at 11:54

7 Answers 7

35

There is no such thing as a "bitcoin" that can be copied. Rather, there is a list of all the transactions that have taken place on the bitcoin network and the order they have taken place. Every client has a copy of this list. Essentially, the only way to counterfeit bitcoins would be to spend them in more than one place. This is called a double-spend attack. However, because of the design of the bitcoin block chain (the list of all the transactions) and the way that list is secured by mining, this requires a tremendous amount of computer power.

http://en.bitcoin.it/wiki/How_bitcoin_works#Double_spending

See also the question about how mining works

What exactly is Mining?

4
  • 4
    Just a slight correction--not every client has a copy of this list. The BitCoin network was designed from the beginning to allow for thin clients who don't download the whole blockchain and just rely on the pieces they need. Commented Aug 31, 2011 at 0:49
  • 4
    true, perhaps more correct to say every client could theoretically access that list. Commented Aug 31, 2011 at 0:51
  • 1
    If the list is secured by mining, which has to occur long after the actual transaction, and if thin clients don't have access to the whole list, then wouldn't a double-spender (or 1000-times-spender) have a lead time to convert their BTC into another currency and get away with massive fraud? Commented Apr 4, 2013 at 14:13
  • @Kevin Laity This type of attack is why people accepting bitcoins typically wait for at least 6 confirmations (additional blocks) before completing a transaction. Some wait for as many as 30. A double spend will eventually be rejected and the block that includes that spend will be ignored, essentially treated as if it had never happened. So if for example you accept 1btc for your used car, and you give away your car without waiting for any confirmations then yes, it's possible you will lose your car and your btc.
    – am21
    Commented Aug 22, 2017 at 17:46
24

As others have said "copying a bitcoin" is trivial but of no value.

Your wallet consists of addresses and each of those addresses has a certain value.

When your wallet says you have "20 bitcoins" it simply an abstraction. Currently your wallet file consists of multiple addresses and the combined value of those addresses according to the bitcoin block chain is 20 bitcoins.

When you transfer bitcoins to someone you don't hand over "a bitcoin". You submit a transaction to the network. The network makes sure your address is valid and has the proper value. So there is no risk of counterfeiting because there is nothing to counterfeit.

There is a risk of double spending. When I transfer bitcoins from me to you the network prevents me from doing it again (and again and again ...). When you submit a a transaction the network verifies that each transaction is valid before including it in the next block.

IF hypothetically you had enough computing power you could cheat. You could include your invalid transaction in the block and sign it as valid. The strength of bitcoin comes from the size of the network. Currently ~17Thash/second. An insane amount of computation power. As long as the network remains large enough and diverse enough that one entity can't control 51% there is very little risk of double spending, so long as the recipient waits for a confirmation.

2
  • 1
    Like your answer especially for explaining the abstraction the wallet poses. Also like "~17Thash/s is an insane amount of computation power", to remind one just how insane the current 460Thash/s are.
    – Murch
    Commented Aug 23, 2013 at 15:09
  • Now over 2.6 million TH/s : ) Commented Jan 9, 2017 at 16:30
7

A Bitcoin must, by definition, be an entry in a valid Bitcoin public block chain. The block chain rules allow each Bitcoin to be present only once in a block chain, or else that block chain is not valid.

Think of the Bitcoin block chain like a ledger listing every Bitcoin's origin and present location. If you make a copy of the same Bitcoin, the ledger isn't valid. Invalid ledgers are ignored by all Bitcoin users.

So, if you copied a Bitcoin, you could show one copy to each of two users. But then they'd just both know you have a Bitcoin, which is true, so no harm done. You can't show both Bitcoins to the same person, because it would be obvious they are identical. And you can't transfer one of them to Fred and one of them to Abel, because there's only one public blockchain for transfers and the same Bitcoin may not appear in it twice (other than once as an output and once as an input).

6

There is a period of time before a transaction has fully confirmed where a tactic similar to counterfeiting could be successful.

A race attack is one -- where at the time of purchase two transactions using the same bitcoin are sent. The first spend transaction is sent to an address the attacker controls, but is announced only to nodes of miners. At about the same time (milliseconds) a second spend attempt is sent to the merchant's bitcoin address and is announced to a wide number of nodes. The hope by the attacker is that the second transaction beats the first in getting relayed to the merchant's node. When that happens, the merchant accepting on 0/unconfirmed will deem payment as received but the transaction will never confirm later as the mining nodes that saw the first transaction will have rejected it and instead will confirm the first spend.

There have been no claims published as to how successful this race attack would be and no reports of merchants getting defrauded from it but few merchants accept 0/unconfirmed thus far.

In a way then, the second spend was an attempt to perform a counterfeit bitcoin transaction, and there is some (well above zero) likelihood of it being technically successful.

The Finney attack is another method to attempt a counterfeit against a 0/unconfirmed. - https://en.bitcoin.it/wiki/Weaknesses#The_.22Finney.22_attack

And, if the merchant doesn't take precautions, there is a variation on the Finney attack where even a 1/unconfirmed can be a counterfeit: - http://bitcointalk.org/index.php?topic=36788.msg463391#msg463391

4

You can not copy bitcoins because there is nothing there copy. A bitcoin is not a file nor an object. It is a simple number associated with an address. The blockchain dictates which addresses contain which coins.

Note that this doesn't apply to physical objects that represent bitcoins, such as bitbills. You can try to recreate a bitbill just like you can try to recreate a dollar bill. The security measures employed by the bitbills' manufacturer have nothing to do with Bitcoins.

1
  • A "simple number associated with an address" can be copied. Commented Jan 18, 2012 at 23:43
3

Bitcoins can be "counterfeited" if an impostor coin is misrepresented to be the real thing. In addition to what is listed here:

  • Test network coins may be forged and offered as production network coins

  • A local instance of the Bitcoin network can be created, and as long as it doesn't communicate with the rest of the world, the coins will last in isolation in that private bitcoin network.

-1

Only Physical Bitcoins can be Counterfeited currently . It would be extremely expensive to counterfeit a Virtual coin .

Not the answer you're looking for? Browse other questions tagged or ask your own question.