Homework on Stale Blocks

  1. when two miners solve a block at the same time, the blockchain can split cause you will have two versions of the truth
  2. In the case above, one of the two blocks will be chosen by the next miner and that chain will then be longer and be the real chain, the other block will be removed and all transactions be returned to the mempool
  3. Stale blocks occurs when two miners confirms their own blocks at the same time, one of them will be cosen by the next miner, and the block that was not chosen, becomes isolated and is then the stale block, which will be removed and all transactions in that block be returned to mempool.
  4. Its important to wait for more than one block to be confirmed because you want to make sure that the blocks that you are mining on will be part of the chain that will continue and not part of the block that will be orphaned.
1 Like

When 2 blocks are mined at the same blockheight, you basically have 2 versions of truth. 2 different blockchains of the same lenght. Then it depends on wich of those 2 versions (blockchains) the next miner mines a new block on top of it. This will make 1 version (blockchain) longer than the other one. The longest chain always get accepted as the current blockchain. The transactions in the block that was mined on the shorter blockchain (the one on the same blockheight) will go back to the mempool waiting to get mined again (if it wasn’t already included in the longer blockchain)

Not the longest block, but longest blockchain. So when 2 miners mine a block at the same time (same blockheight) there are 2 valid versions of truth (2 different blockchains) Because the longest chain will get adopted with most proof of work, it will depend on wich of those 2 blockchains, the next miner mines a new block on. This makes 1 version longer than the other.

It isn’t the block that gets propagated faster that wins. There are 2 miners who mined a new block on the same latest block on that blockheight. (this can happen because of the latency of block propagation) So 2 different blocks mined after the same block. This will fork the blockchain in 2 versions of truth. Then it depends on wich of those 2 versions the next miners mines another new block on. (wich makes 1 version longer than the other one)

Thats a very good article about stale blocks!

There are several definitions with overlapping meanings.

Stale blocks and orphan blocks. (many people think they are the same)

The first is perhaps best called extinct blocks. These are blocks that were produced by building on an block that is no longer the active tip of the chain. Some nodes may have considered it to be the best block at some point, but they switched to another chain which does not contain the relevant block anymore. They are valid, verified, and their ancestry up to the genesis block is fully known - they’re just not currently ‘active’. They are sometimes called stale blocks (typically in the context of mining software realizing it built on old data) or orphan blocks. The latter name originates from the fact that payouts from extinct blocks are denoted as “orphaned” in the reference client (referring to the fact that their coinbase transactions are now orphaned).

However, there also exist real orphan blocks, with orphan in its original meaning of “having no parent”. These are blocks received by a node that does not have its entire ancestry (yet) and thus cannot be validated. Nodes keep such blocks in memory, while asking their peers to fill in the gap of their history. The client does not show these, so when people talk about orphan blocks, they are most likely referring to extinct blocks. Note that since Bitcoin Core v0.10, there are no such orphan blocks anymore, due to a significant change in the download mechanism.

Terminology is confusing here :slight_smile:

  1. Only one block will be accepted - the one in the longer blockchain, the other one will be dropped sooner or later.
  2. A stale block is a dropped block that will not be confirmed and added to blockchain.
  3. Stale blocks occur when two miners solve a block at the same time. In the competition between the miners, there will always be one winner and one loser. The loser’s block will be orphaned.
  4. Ten minutes should be enough time for the transaction to be added to a block, confirmed and distributed over the whole network. The ten minute rule should minimize the issues with orphaned blocks.

1.When two miners solve a block at the same time both blocks will be appended until the block chain selects one as the longest chain and drops the other.
2. A stale block is a block that was previously valid but overtaken by a part of the chain that was faster to add a new block to this stale block. That one stale block now gets dissolved and the transactions are returned to the mempool
3. Stale blocks accur when two miners add a new block to the chain almost at the same time, The block may be valid but as new blocks are added it is possible that two chains develop. In such case the longest/most difficult chain survives and the other blocks get removed. Those are the stale blocks.
4. it is important to have valid blocks and not have stale blocks as that will remove the fees for that valid block. by allowing sufficient time for the validated blocks to be propagated through the network, the chance is small that a block will become stale. Miners, playing with the settings of the mining devices can actually cause more/less stale blocks (which is to be avoided)

1 Like

1.) When two miners solve a block at the same time, they are both uploaded to the blockchain. Then there are, temporarily, two versions of the blockchain. This ends up being resolved in short order. Whichever version has more blocks added onto it first ends up being the accepted and version.

2.) A stale block refers to the blocks in the previous answer that do not have more blocks added onto them first. So they are the blocks that are not the accepted version in a case that begins by two blocks being completed at the same time.

3.) Stale blocks occur by two miners completing a block at the same time, thus temporarily creating two versions of the blockchain. When this gets resolved, the term ‘stale block’ refers to the block that is ultimately rejected.

4.) It is important to wait for more than one block t be confirmed when ending or receiving a transaction in order to be sure that your transaction will not be a part of a stale block.

1 Like
  1. When two miners solve a block at the same time, their block will start propagating throughout the network, with some nodes with one version and other nodes with another version of blockchain. When the next miner adds their block to one of these versions, the other block will get dropped.

  2. A stale block is a dropped block that did not get more blocks added to it.

  3. Stale blocks occur when competing miners propagate their version of blockchain faster and other miners accept the faster version. Stale blocks are valid, but simply has a lower “pow” in their version of blockchain. They just simply get dropped. This happens when block time is too fast and difficulty hasn’t been adjusted.

  4. it is important to wait for more than one confirmation in order to make sure that your transaction won’t get “dropped”. Waiting at least 6 confirmations Is good, and ensures that your transaction is forever in the blockchain.

1 Like

thanks for the correction

1 Like
  1. It will create two blockchains whereas only the block with the longest chain wins the race. The other blocks are being dropped and transactions are being retried to the mempool.
  2. A stale block or orphaned block is a block that was dropped from the blockchain.
  3. When multiple miners crack the puzzle, the individual blocks are added to the blockchain but only the block with the longest chain will be accepted by the network. All other blocks become stale blocks.
  4. For the reasons outlined above; blocks can be dropped/orphaned. Only after 6 confirmations thus 6 new blocks that have been added to your chain the transaction is confirmed.
1 Like

1: Then there will be created 2 branches at the end of the blockchain.

2: A stale block is a block that has been abandoned because it wasn’t on the blockchain with the most proof of work.

3: Stale blocks occur when two miners solve a block at the same time. When this happens there is created 2 branches at the end of the blockchain. The correct branch will be chosen when the next blocks are mined depending on which block the next got its info from.

4: Because it can take some time for the network to all agree on the same truth as it has to travel around to all the nodes. If you don’t wait for 6 confirmations there is a risk that your tx will be returned to the mempool.

1 Like
  1. The one with the longest block is the winner.
  2. Stale block is the the one that gets dropped.
  3. Stale blocks occur when it is the shorter one, when 10 mins is up.
  1. For a brief period of time there are “two truths”; two separate paths of the original blockchain, these two paths following the new blocks of these two miners. This is resolved when the next block is added to the chain; the new miner chooses the preceding block with which his block is hashed (for several possible reasons), and generally speaking this becomes the network-accepted blockchain as the network recognizes the “longest” chain (long in terms of PoW, not simply number of blocks).

  2. A Stale Block is a valid block (nonce, transactions, previous hash) that was attached to the blockchain but was then removed by the network

  3. Stale Blocks occur when different valid blocks are added to the blockchain during the same period. Only one of these blocks will be a final part of the blockchain, the other(s) become stale and their transactions are returned to the mempool.

  4. Waiting for multiple block confirmations is important because it is possible that one or more confirmed blocks can become stale before the blockchain with your transaction in it is completely reconciled by the network, when no more diverting paths can be added. The 10-minute time period is designed to allow sufficient time for new blocks to be recognized by the bitcoin network around the world.

  1. When two miners solve a block at the same time, two separate valid blocks will circulate across other nodes, but only the one with the longest chain of blocks will be accepted as part of the blockchain.
  2. A stale block means that it was not chosen to be part of the chain and therefore discarded. The transactions within it get returned to the mempool
  3. Stale blocks occur when two separate miners solve a block at the same time, but the block that doesn’t get selected for the chain gets dropped, returns the transactions it contained back to the mempool and becomes “stale”.
  4. It is important to wait for at least 6 blocks to be confirmed to ensure that the transaction that is being sent or received isn’t cancelled due to a block within your chain becoming stale.
  1. Both get propagated through the network’s nodes.

  2. A block that was appended to the blockchain in some nodes but not all and then got invalidated and removed as a different chain with more blocks propagated further than yours.

  3. If someone way further away from you mine more blocks faster than you so your chain is not as long and that chain propagates further, you lose the race for the “version of the truth” and your block gets stale.

  4. Because your transaction could become part of a stale block and then it wouldn’t be valid, just sent to the mempool again.

  1. They propagate their own new solved block to the nodes next to them. Hence, for a certain time there will exist different versions of truth.

  2. a stale block , also called orphaned block is a block that will be removed from the blockchain and whose transactions will return to the mempool. Reason: the block has been solved at the same time together with another block, but, for reasons explained above, it has been decided to keep the “competitor” block.

  3. Since miners, in the moment they solve a new block, propagate their new block to the nodes next to them, it can therefore happen that we have 2 or more versions of blockchain (versions of “truth”). The network will solve this problem in the moment another miner adds a new block to one of the temporarily parallel existing blockchains, it will win the now about 1 block longer blockchain version. This, because a general rule is that the longer blockchain is the right one. Now it is clear who will be the stale/orphaned block (the one without the new added block) to remove.

  4. for being 100% sure the transaction is no orphaned block transaction. The more blocks are getting added to the blockchain, the more secure it is that your transaction has become part of the blockchain.

  1. What happens in the bitcoin network when two miners solve a block at the same time?
    A fork is created and the rest of the miners.

  2. What is a stale block?
    A block that is dropped from the chain.

  3. How do stale blocks occur?
    After a fork is made and miners choose to continue the chain on the other block.

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    To make sure you continue on the stale block.

  1. What happens in the bitcoin network when two miners solve a block at the same time?
    -The miner appending to the longer chain will be recognized and the other dropped
  2. What is a stale block?
  • The rejected block from the shorter chain where the transactions will be returned to the mempool
  1. How do stale blocks occur?
    -Because the block from the longer chain is accepted and propagated to the network
  2. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    -because sometimes a much longer chain can be accepted as the winner, invalidating that block, and returning the transactions to the mempool
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    -> both blockchains and b are validated at first but with the mining of the next block, blockchain a might create the next block faster, which will result in the drop of blockchain b. All transactions from the previous blockchain b block will be returned to the mempool and can be validated in the next blocks.

  2. What is a stale block?
    -> its a block that was firstly validated but then dropped due to the fact that another blockchain was longer. stale blocks become invalid and all transactions will be returned to the mempool.

  3. How do stale blocks occur?
    -> The occur if miners in different areas enter a new block at the same time which creates multiple valid blockchains for a short time. With the creation of more blocks, only one blockchain (the longest) will be carried forward.

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    -> it will give the security that the whole network in synchronized and everybody is working with the longest blockchain, therefore avoiding stale blocks.