I thought it was the same.
Block maturity - number of blocks created after. Transaction maturity - maturity of block that contain transaction
Now I see that people use this terms as different. What is the difference?
I thought it was the same.
Block maturity - number of blocks created after. Transaction maturity - maturity of block that contain transaction
Now I see that people use this terms as different. What is the difference?
As of Bitcoin Core 0.9.0 the block maturity is 101 blocks. This means that the reference bitcoin implementation considers it safe to spend bitcoins that were generated more than 101 blocks ago. The reason for the wait time is because soon after a block is generated there is the possibility that it will lose the race to become widely recognized as the next valid block by the network. (All miners are competing to add the next block to the blockchain, and sometimes two parties find the next block within a very short time. If this happens a race to propagate the block will ensue.) When a block loses the race, it is an "orphan" and the new bitcoins that were created (and awarded to a miner) become null and void. If these bitcoins had been spent, that transaction and all subsequent transactions based on those new bitcoins would be invalid. Bad news if you just mailed someone a new TV in exchange for these "immature" bitcoins.
Transaction maturity is different. Each time a transaction is included in a block, it has been confirmed to be valid by the network, and is then distributed to all the nodes on the network. Now would be the earliest you should ever mail the new TV. However, just like in the case of block maturity, this block could potentially lose the race to become widely recognized as the next valid block. If it were to be orphaned, the confirmation for a given transaction would be lost. Under normal circumstances, this is not a big deal - the next block (or next few blocks) will contain all of the transactions from the orphaned block. However, an attacking party could be actively trying to attach its own blocks to the blockchain which might contain double-spent coins or other non-kosher transactions. Conventional wisdom is that a transaction that is included in a block that has at least five more on top of it (6 confirmations) is not likely to be the result of an attacking party. This is because the hashing power required to rewrite a transaction that already happened and then consistently outpace the "honest" miners for 6 straight blocks would be too great.