Creating a fake transaction

8

2

AttackerAlice has a BTC Wallet with 0 BTC. AccompliceBob has a BTC Wallet.

Is it possible to transfer 100 BTC from AttackerAlice to AccompliceBob?

Suppose a BadMiner accepted this as a valid transaction, and puts this fake transaction into a block, how will it be detected and rejected?

Smagula

Posted 2014-01-31T10:48:15.813

Reputation: 93

to add to the question... Also if the BadMiner is able to create an additional block, will https://en.bitcoin.it/wiki/Protocol_rules be enough to keep the offending blocks out of the blockchain?

– Smagula – 2014-01-31T11:47:02.487

Answers

12

You can create fake transactions and blocks including fake transactions all day long if you want. Your problem would be getting other people to accept those blocks and they won't because they can very easily see that it contains fake (better word: invalid) transaction(s) and simply disregard those blocks completely.

The first invalid block wil never be accepted by any non-accomplice so it doesn't matter how many blocks are put on top of that, they won't be accepted either.

Jannes

Posted 2014-01-31T10:48:15.813

Reputation: 6 046

1got it.. since most of the network would have rejected the first block, the blockchain will not have the fake block.. other miners intending to add to the block chain will not see the fake block in majority of the cases... hence the honest block chain will grow faster and survive.. – Smagula – 2014-01-31T12:32:27.440

3actually it's better to say that nodes won't relay the transactions, nor include them in their block in the first place. – Luca Matteis – 2014-01-31T14:05:17.000

5

This cannot happen because of the way each transaction is designed. Every single transaction must reference an output of another transaction. Essentially you can only spend the money that you already have. You cannot create BTC out of thin-air.

The consensus algorithm is programmed in all nodes to only create coins out of thin-air based on the coinbase transaction, and all the transaction fees available in that block.

You can't just transfer 100 BTC out of nowhere, because all the nodes in the network would invalidate your transaction and probably ban your IP if you try to do so.

Luca Matteis

Posted 2014-01-31T10:48:15.813

Reputation: 4 924

what if the BadMiner was able to create two blocks very quickly.. one fake and a followup legal one.. and sent both of them to the network.. – Smagula – 2014-01-31T12:03:26.010

Even if badminer got two blocks in a row he wouldn't be able to create coins out of thin air, he would only be able to double-spend coins he already has: https://en.bitcoin.it/wiki/Weaknesses#Attacker_has_a_lot_of_computing_power

– Luca Matteis – 2014-01-31T12:06:55.643

not very clear sir.. what happens to the second legal block after the first fake block is rejected - suppose other miners start accepting the second block and grow the blockchain further..? – Smagula – 2014-01-31T12:16:53.450

@Smagula it doesn't matter. You can write a cheque for $100000 to your bank account and you won't get the money for the same reason; throwing multiple bad cheques is going to 1) get you IDd as a fraud peddler, 2) writing on paper or in a block means nothing if the ledger doesn't back up the request. – Wizard Of Ozzie – 2014-09-16T07:37:18.743

maybe a dumb question but as im learning bitcoin at this point... where does the initial input come from then?? (obviously, bitcoin is mined but how did it all start from 0) – dtc – 2015-10-24T01:25:47.353

@dtc It is created in the mining process by consensus, much the same as gold is mined when on a gold standard. It started from 0 and the amount grows (for some time still) as more is mined. The miners place it into circulation (or not) as they spend it or exchange it for fiat etc. – KalleMP – 2015-10-24T20:38:45.940