Just opened blockchain.info and found two blocks with single transaction on the main page:

Isn't it strange? More than this, block 292941 was issued just minute before 292942 and has 128 transactions. Block 292946 was issued just minute before 292947 and has 238 transactions in it.

So the question is: why there are such empty blocks in blockchain even if there are some transactions to be included? Is this some kind of misuse?

UPD: Using this little script

for b in {292000..292999} ; do
  curl -s https://blockchain.info/block-height/$b?format=json \
    | jq -c -r '.blocks[] | "echo `date +%FT%T -d @\(.time)` \(.n_tx)"' \
    | bash

I found 10 empty blocks. It does not looks like a coincidence. Seems like someone thinks that this is more profitable to mine for empty block. If this is the case, it will ruin bitcoin.

  • Could you please provide the block number of one or more of the empty blocks? Since every block has a reward I would have thought the absolute minimum number of transactions per block would be one. Based on the blockchain it appears there were zero transactions between 2014-03-28 17:41:38 and 2014-03-28 17:42:57. – Alex Millar Mar 30 '14 at 2:58
  • When I say "empty block" I mean "block with coinbase transaction only". – max taldykin Mar 30 '14 at 7:17
  • @AlexMillar, can you please provide a link where it is possible to view transactions issued within period of time? – max taldykin Mar 30 '14 at 7:19
  • I looked at your posted blocks on blockchain.info. The number of transactions are displayed and I calculated time period by subtracting the time of consecutive blocks. Can you pleas tell me what software you used to run your script? – Alex Millar Mar 31 '14 at 17:54
  • It's just a bash script. jq is a json tool from here: stedolan.github.io/jq – max taldykin Mar 31 '14 at 18:59

No, it isn't any kind of abuse. You don't have to worry (well perhaps a bit) about 'transaction starvation' (i.e. transactions that get never included because miners refuse to include them), as it is unlikely that one person (or more cooperating) will obtain 51% of the hash power. And even when they obtain 51%, they will be basically cutting themselves from the potential fees involved (and huge investment is required in something that could become worthless after abusing the system, because as a result the trust in bitcoin and therefore its price will fall). Only very large organisations like governments or international banks could potentially pull such trick to bring bitcoin in discredit and recover the loss. To counter this, several solutions have been proposed, such as proof of stake (in contrast to bitcoin's proof of work).

As for why these particular blocks do not contain any transaction at all: I don't know. I don't think there is any special reason for it, but I could imagine that by chance some of these blocks have less or no transactions (don't think that's the case here) or that some independent miner simply did not bother to include any transaction because of the low fees involved.

  • 1
    Thank you for the answer, I accept it. I think the question should be "Why someone considers mining empty blocks if this not more profitable than mining nonempty ones?". But it will be hard to answer it. – max taldykin Mar 29 '14 at 17:02
  • It seems extremely unlikely that the transaction rate would just drop to zero without a special reason. Block 292941 was mined in 85 seconds and contains 128 transactions. Block 292942 was mined in 79 seconds and contains 1 transaction. Block 292943 was mined in 315 seconds and contains 357 transactions. @maxtaldykin Could you please provide the block number of one or more of the empty blocks? Since every block has a reward I would have thought the minimum number of transactions per block would be one. – Alex Millar Mar 30 '14 at 3:16
  • Well, there can be benefits to small blocks -- the biggest one being that every byte in a block takes time to relay, and so a smaller block can be propagated across the network faster. This means that there's a slightly smaller chance of any block not ending up in the longest chain if someone else finds a block at close to the same time. – Micha Mar 30 '14 at 16:14
  • 1
    @AlexMillar Yes, every block must contain at least one transaction, the coinbase, to be valid. When people talk about "empty" blocks, that means a block that has no transactions besides the coinbase. – Micha Mar 30 '14 at 16:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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