0

When Alice sends BTC to Bob, Alice creates a transaction, which is sent to the bitcoin network. However this transaction now needs to be validated and added to a block of the blockchain. The blockchain is a chain of blocks, and a new block is added every ~10min. We will explain how miners create new blocks, why it takes roughly 10 minutes to mine a new block, and why validation of a transaction takes on average 60 minutes if everything goes well (=6*10 minutes).

Miners are currently rewarded by 12.5 BTC by block (it used to be 25 BTC/block, now is 12.5 BTC/block until 2020, then afterwards 6.25 BTC/block. This halving continues until 2110–40, when 21 million bitcoins will have been mined.) A block consists of 2 things: - an easy part: a list of transactions since the last block was found, this is to validate the transactions. - a difficult part: a code that proves the identity of the miner that mined it (so that the network can award him the 12.5 BTC). Note that if a miner proposes a new block but that the block is found by other miners to contain invalid transaction, the miner will lose his reward.

How these 2 parts are linked: Given that validating the transactions is much easier than generating the code that validates his block, there is a strong incentive to only propose blocks with valid transactions.

Now we will explain why miners need a lot of computing power, this is because on top of validating transactions, mining also ensures supply of bitcoins at defined rate every 10min, and there is competition to get them! The rate used to be 25BTC every 10min, now it is 12.5 bitcoins every ten minutes until mid 2020, and then afterwards 6.25 bitcoins per block for 4 years until next halving. In order to achieve that defined supply rate, the network is constantly adjusting the difficulty of mining so that a new block is roughly found every 10 minutes.

A transaction is considered as finally confirmed after it is added to a block and ~5 other blocks have been validated. This means 6*10 minutes = 1 hour.

Now the problem is that there is since origin a limitation in the size of each block: 1Mb. This corresponds to ~ only 3 transactions by second. If the transaction rate goes significantly higher, it will create further delays in the validation process. This is the reason of the bitcoin forks.

2

There are a number of badly worded or misconceptions in there, but in future it would be better to ask specific questions rather than posting an entire description of bitcoin and asking if it is right :)

and why validation of a transaction takes on average 60 minutes if everything goes well

This is slightly badly worded, validation of the transaction is easy (just makes sure its a valid transaction spending valid inputs). Its confirming it which you might like to take up to an hour for, but technically you don't have to wait for confirmations if you want to sacrifice a bit of security for speed (1 confirmation should be plenty for smaller purchases).

it used to be 25 BTC

Note that it started at 50, this makes it sound like it started at 25.

an easy part: a list of transactions since the last block was found, this is to validate the transactions.

The block just has a list of the transactions in the block. Your wording sounds weird, and it doesn't necessarily include all transactions since the last block, just the ones picked by the miner.

a difficult part: a code that proves the identity of the miner that mined it (so that the network can award him the 12.5 BTC).

The miner doesn't prove their identity. They just include a special coinbase transaction in the block which pays the block reward to an address of their choice. And the block hash isn't really a "code", its just a valid block.

at defined rate every 10min

The 10 minutes is just an average, the difficulty of finding a valid block changes to adjust for hashpower changes every 2016 blocks. You mention this, but you make it sound like somehow the decreasing supply of bitcoin per block is related to it. Its not, the difficulty just depends on how quickly the last 2016 blocks were found (technically 2015, due to an off-by-one error in the code).

Now the problem is that there is since origin a limitation in the size of each block: 1Mb. This corresponds to ~ only 3 transactions by second. If the transaction rate goes significantly higher, it will create further delays in the validation process. This is the reason of the bitcoin forks.

This is outdated, it ignores the changes by segwit such as block weight instead of size, and the softfork to a maximum of 4Mb blocks. And where did that 3tx/s number come from? Also, the forks are hugely political in nature, you're oversimplifying.

  • thank you for the input! indeed this is intended to be vulgarisation, but it is good to validate that even experts are happy with the wording. – RockScience Nov 9 '17 at 7:31
  • The transaction rate is there bitinfocharts.com/comparison/bitcoin-transactions.html : are we not stuck now around 310k transactions per day, which gives an average of 3.6 transactions per second? – RockScience Nov 9 '17 at 7:36
  • We have not reached the 'maximum' number of transactions per day though :) – MeshCollider Nov 9 '17 at 7:45
  • How come? We should not be far isn't it? I understand that it each block has not a fixed number of transaction, as it also depends on the weight of each transaction, but if we still have a limit at 1Mb, there should be an average limit in transactions? and from my calculation we should not be far. Is there something I am missing? – RockScience Nov 9 '17 at 7:51
  • 1
    As more transactions begin to use segwit for example, blocksize will increase and be used more efficiently, increasing the number of transactions possible. But please ask further questions in a separate thread, not as comments :) – MeshCollider Nov 9 '17 at 7:52

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.