Homework on Stale Blocks

  • What happens in the bitcoin network when two miners solve a block at the same time?

The blockchain splits into 2 chains until a block or blocks are added to one chain making it longer. Then the block or blocks in the shorter chain are “orphaned” and the valid transactions go back to the mempool. Only the longer chain survives.

  • What is a stale block?

A block that was added simultaneously to the blockchain but gets disregarded when the longer chain propagates through the network. The transactions in the stale block go back to the mempool.

  • How do stale blocks occur?

When two blocks are mined simultaneously by two different miners and are added to the blockchain causing 2 blockchains to develop.

  • Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?

So a steady number of blocks can be produced and propagate though the entire network reducing the occurrence of multiple chains and orphaned blocks. One blockchain must remain for one version of the truth. Usually 6 blocks need to be created after the block with the approved transactions for final confirmation.

1 Like
**What happens in the bitcoin network when two miners solve a block at the same time?**

This results in a stale block or prphaned block, the transactions therein will be returned to the mempool.

**What is a stale block?**

A stale block has been rejected by the network because it is not on the longest chain.

**How do stale blocks occur?**

Stale blocks occur when there are many versions of the blockchain being created at the same time, the one that provides the longest proof of work that matches the currently difficulty will be chosen.

**Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?**

This will help to verify that the longest chain rule is effect, that your transaction has been accepted by the network.

1 Like

Difficulty versus Block Time n

  1. What happens in the bitcoin network when two miners solve a block at the same time?
  2. What is a stale block?
  3. How do stale blocks occur?
  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?

BitCoin blockchain always defaults to the longest chain, so if by chance two miners happen to solve a block at the same time, the network will accept the chain on the node to which the newest solved block becomes attached.

A stale block will be the block that the network rejected because it’s twin, which was solved by another miner at the same time, has become attached to the next solved block.

Stale blocks occur because one of two blocks solved at the same time by different miners must eventually be thrown out because one or the other will subsequently have the next solved block attached to it. The stale block will be thrown out as the system defaults to the longer chain.

When you want to be absolutely certain that your block will be accepted onto the blockchain, a general best practice is to wait for at least six more blocks to be solved and approved in front of your block. This means there is significant proof of work and you are assured the block will not be rejected due to a stale block in between.

1 Like
  1. Both blocks are considered valid and are propagated through the bitcoin network.
  2. A stale block is a block that has been mined but does not have succeeding blocks after it when another block at its same height does.
  3. Stale blocks occur when multiple blocks are mined at the same time and only one is accepted in the blockchain.
  4. It is important to wait for confirmation to be sure that the block will not be discarded as a stale block.
1 Like
  1. When two miners solve a block at the same time, 2 equally valid blocks are created and each miner will broadcast their version of the blockchain to the network nodes. It will start with the most local nodes receiving their local miners version of the blockchain with their block appended to the chain (therefore each local miners version of the truth.) This will lead to 2 versions of the truth and 2 versions of the blockchain existing in the network. Lets call the 2 valid blocks, block A and block B, it is important to understand that these 2 blocks contain transactions they have selected from the mempool and their transaction list may differ. This means there will be 2 versions of the truth

The network miners will continue to build a new block, some miners selecting to build using the hash of block A to solve the proof of work puzzle by guessing the nonce, while others will choose to use block B. This could be due to the local node having a certain copy of the chain. The first miner to produce a hash that is lower than the difficulty target will then have their new block appended. Whichever block, either A or B this new block is linked to will result in that version of the blockchain being broadcast to the network. This will mean that nodes will accept this version of the blockchain as the single truth resulting in the block which was not linked to the newest block to be dropped/invalidated and equally all transactions within that block which were not in the block in the accepted version of the chain to be returned to the mempool.

It is important to understand that the reason the nodes accept the version of the blockchain which the newest block is linked to is because the network will always choose the longest chain as the truth (in terms of difficulty).

  1. A stale block is a block that was previous mined and appended to the blockchain that is no longer part of the current chain usually because of another block at the same height (point of the chain) being used to create the next block in the chain.

  2. Stale block occur when there are two valid blocks that have been mined at the same time - resulting in miners trying to use the hash of the different blocks at the same height to build the next block in the chain. One there is a winner the block(s) which were not used for the subsequent block in the chain will no longer be part of the chain as previous nodes that accepted this block as part of the chain(truth) will now select the longer chain as the truth leading to the block being dropped and therefore invalidated.

  3. It is important to wait for more than one block confirmation when receiving or sending a transaction because there is a risk that the only block which has validated the transaction could become a stale block. this means that funds utxo’s should not be spent from this block until there is certainty it will not become stale. I believe that if the utxo was spent and then the block became stale it would create a double spend with the utxo being returned to the mempool whilst also creating another utxo which has been validated.

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    Both blocks will be added to the blockchain at first, but only the block which the next miners chooses to mine “after” results in being the final blockchain. The other block is now called orphant or stale and all the transactions go back to the mempool.

  2. What is a stale block?
    A stale block is a mined block that was added to the blockchain but then gets dropped after the blockchain continues on a different block which was mined at the same time as the stale block.

  3. How do stale blocks occur?
    When to blocks are mined at the same time, only one of them can continue the blockchain. the other one is left stale.

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    Because just after a couple of confirmations you know that your transaction is part of the “real” blockchain and not just in an orphand block.

1 Like
  1. A stale block is formed on one of the blocks mined.

  2. A stale block is a block that is mined by more than one miner, but only 1 block will be recognized by the network and the one not recognized by the network becomes ‘stale’ or removed.

  3. A stale block is created when duplicate blocks are mined but only one is picked up by the network and continued from that particular block.

  4. It insures stale blocks will not be created more than necessary.

  1. temporary fork
  2. A stale block is a confirmed block that gets dropped because it was in a fork.
  3. Two miners create a confirmed block at the same time creating a fork.
  4. To make sure a transaction is valid by allowing the information to travel around the world within 10 minutes.
1 Like

eventually one of the blocks will be dropped off the chain as the other block has been worked on quicker by other miners and the longest blockchain becomes the real chain.

a stale block is a block that has been dropped due to there being a longer valid chain

stale blocks occur when multiple miners find correct nonces for their block within the time it takes for a new block to be added to the blockchain. Eventually only one of the blocks will be added to the real chain

to make sure that the transaction was in fact added to the blockchain and that the transaction will not be dropped and delayed from being truly added to the longest chain

1 Like
  1. Two versions of a new valid blockchain are propagated through the network.

2 + 3. It is a valid block that is dropped by the network because another block that has been simultaneously produced by another miner in parallel has engendered another valid version of the blockchain that has more PoW. Only the latter version will be confirmed by the network, and not that of the valid stale block which will be dropped.

  1. It makes sure that the transaction is in a block that is part of the version of the blockchain with the most PoW, and not part of a stale block.
1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    Both blocks are propogated and join the blockchain. They remain there creating a split chain until the next blocks are mined. Whichever block the next block joins to will remain as part of the blockchain and the other block will be rejected with any unconfirmed UTXO’s sent back to the mempool.
  2. What is a stale block?
    A stale block is a simultaneously mined block that is later rejected from the chain
  3. How do stale blocks occur?
  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    To ensure that the chosen block remains part of the longest blockchain

Homework on Stale Blocks

What happens in the bitcoin network when two miners solve a block at the same time ?
When two miners solve a block at the same time there are two versions of the truth and the nodes closest to the respective miners will reflect the changes on the blockchain. However there cannot be two versions of the truth and as a result the blockchain that ends up being longer (most proof of work due to more blocks) will be preferred over the other.

What is a stale block?
A block that has been mined but then rejected by the network is considered a stale block.

How do stale blocks occur?
Stale blocks occur when two miners successfully mine two different blocks and add it to the blockchain. The blockchain that eventually ends up being longer is accepted. Blocks that have been mined but are not part of the blockchain are stale blocks.

Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
It is important to wait because a transaction may be part of a block that will eventually become a stale block. We need to wait for 6 confirmations before assuming that a transaction is confirmed.

1 Like
  1. Each will propagate to a portron of the network. There will temporarily be two versions of the blockchain differing in the latest block.

  2. A stale block is a block that is discarded when two miners solve a block at the same time, each propagating to a portion of the network. When a succeeding block is mined, the network as a whole recognizes which version has more proof of work behind it, and it will discard the stale block.

  3. They occur because of a rule of the bitcoin protocol that says that if the blockchain splits, the version with the most proof of work behind it shall be accepted. As soon as one version is longer (has more proof of work), the other is discarded, becoming an orphan or stale block.

  4. Because if a transaction has only one confirmation there is a small chance it might be part of a block that will become a stale block. However if one waits for several confirmations, this ceases to be a concern as ones transaction is now permanently written to the blockchain. The transaction now has a lot of proof of work subsequent to it, making it now virtually impossible to change.

1 Like
  1. Both versions of the block will be propagated until one version confirms another block. Once the longer chain is confirmed the remaining miners with the other version will now have stale blocks.

  2. A stale block is a shorter unconfirmed version of the blockchain.

  3. Stale blocks occur when two miners solve a different version of the block.

  4. the more blocks that are confirmed, the harder it would be to go back and change that transaction.

1 Like
  1. There will be two versions, or two truths, created of the blockchain.
  2. A block that was part of the blockchain but was abandoned by the network.
  3. They occur when two blocks were created simultaneously and one was not extended fast enough and was rejected.
  4. Because there are fewer versions of the truth further down the blockchain and the risk is lower that the transaction ends up in a stale block.
1 Like
  1. This creates a fork in the network

  2. A stale block is the discarded block from the fork.

  3. They occur after the correct blockchain has been decided from the fork and the resulting discard block become a Stale block.

  4. It is important to wait about 6 blocks to allow the chain to get rid of any forks and allow all nodes to have the same version of the Blockchain.

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    • The network would split into 2 with 2 different blockchains…
    • Once the next block is found on either one of the chains, the longest chain is kept and the other nodes update their blockchain to follow it.
  2. What is a stale block?
    • Stale blocks are blocks that were once part of the blockchain at one time but got dropped since it is not part of the longest blockchain.
  3. How do stale blocks occur?
    • They occur after a split in the network when the longest chain is selected. When that occurs the 2nd blockchain with the 2nd block is invalidated and is dropped from the blockchain. That is how stale blocks are created.
  4. Why is it important to wait for more than one block to be confirmed when sending and receiving a transaction?
    • This is to ensure that the transaction has been confirmed in all the nodes as in permanently part of the blockchain since there is a possibility that the block containing the transaction may be dropped.
1 Like
  1. Both miners propagate their blocks through the network and creates a split in the blockchain. Later a new block is created and attached to one of the 2 previous blocks. That end part of the chain is then chosen by the network since it contains the most PoW, dropping the other block (making it into a stale block) thus returning it’s TXs to the mempool.
  2. Prev answer.
  3. Prev answer.
  4. To be sure your block won’t be dropped by the network through the previously mentioned method.
1 Like

What happens in the bitcoin network when two miners solve a block at the same time?
Two separate branches of the blockchain are created, with the two different versions of the same block at the end of each branch.

What is a stale block?
This is a block that is on the branch which was subsequently deemed to have less PoW than the main branch of the blockchain.

How do stale blocks occur?
They occur when there are two solutions to the current block and one solution has to be chosen to be the true blockchain. This renders the other chains redundant and the blocks on these chains become stale blocks.

Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
This ensures that the current block is on the longest chain and the most current and up to date version of the bitcoin blockchain.

1 Like

1 Like