Homework on Stale Blocks

  1. What happens in the bitcoin network when two miners solve a block at the same time?
    -They are both valid blocks, but at some point an additional block will be added to the blockchain. This will then become a longer chain than the chain with the first block so the first block gets “dropped” or “orphaned” with the transactions added back to the mempool for subsequent mining.
  2. What is a stale block?
    -A stale block is one that has been “dropped” or “orphaned” as described above.
  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?
    -This ensures that the transaction is contained in a block that is included in the blockchain after it has propagated through the entire network. There is less chance, then, of a double spend situation.
1 Like
  • What happens in the bitcoin network when two miners solve a block at the same time?
    They send the block to neighbors. That cause two versions of the blockchain some nodes with one version and the others with another but for only some minutes
  • What is a stale block?
    A block that was part of the blockchain but later was remove for another chain with more proof of work
  • How do stale blocks occur?
    Occurs when two miners resolve the pow for their respective block at the same time, and resend the block to neighbors and later one of them is remove from the blockchain(the stale block)
  • Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    Your transactions could be in a stale block
1 Like
  1. when two miners create two different valid blocks at the same time you end up with two blockchains or a forked block chain. at some point one of these forks will get another block and become longer than the other and the longer block will be the new source of truth.

  2. Stale block is one that was in a valid chain but a longer chain became the new source of truth. The stail blocks are the blocks in the dead chain.

  3. stale blocks happen when the chain they are on is replaced by a longer chain with the most work.

  4. forking of the chain will generally not get longer than one or two blocks. waiting for a block to have 6 conformation means that it has a very very low probability of becoming stale.

1 Like

Both blocks get confirmed as valid.

A block can get confirmed before 10 minutes if for example a lot of new hashing power gets into Bitcoin the block time drops considerably before the difficulty adapts. The block time itself doesn’t have to do much with these accidental forks except make them less probable, but they will still happen.
Once they do its up to the miners to start mining blocks on either of these blocks (some pick one, some pick the other) and the ones that mine a new block on top of either of block is kept and the other one is dropped from the chain, thus becoming stale. :slight_smile:
Because theoretically miners could mine another block on top of these blocks at the same time again is the reason why there is a rule of thumb why one should wait for 6 confirmations (or 5 new blocks being mined on top) to make sure the fork was resolved and your tx is not going to get dropped. :slight_smile:

Not sure if you forgot to answer or not sure about the answer? :slight_smile:

1 Like
  1. That there is a fork created on the blockchain where 2 new blocks coexist at the same time; some nodes of the network consider one of them, some other the other one.

  2. A stale block is a block that has belonged to the blockchain for a short period of time but that has been rejected in favor of another block with more PoW. The transactions contained in that block go back to the mempool.

  3. They occur when two miners (or more?) create valid blocks that get appended to the blockchain but, over time, the network favors one of them with a longer chain, or more PoW. The other block gets rejected and becomes an orphan or stale block.

  4. Usually 6 block confirmations are required to kind of assure that a block is part of the blockchain due to issues with stale block. Once the block containing your transaction has been part of the blockchain with 6 more blocks after it, it is safer to say that a transaction is confirmed.

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    what happens is that there will be two parallel chains, until one takes over.
  2. What is a stale block?
    Is a block that was on the shortest chain and therefore dropped.
  3. How do stale blocks occur?
    The occur when 2 miners mine a block at the same time, and after a while one is officially dropped.
  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    To be sure that your Tx is not in a block that was dropped.
1 Like
  • What happens in the bitcoin network when two miners solve a block at the same time?

= The chain will be split in two, in time the chain with the most proof of work will win and the other will be dropped.

  • What is a stale block?

= A stale block is a solved block that has been dropped.

  • How do stale blocks occur?

= After a block have been solved at the same time as another so the chain has split in two, the stale block and its followers did not have the same amount of proof of work and where dropped and their transactions where sent back to the mempool.

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

= In case two block where solved at the same time, there is a risk your transaction may be sent back if the block it is in is dropped. You should wait for at least 6 blocks to be confirmed to be 100% sure.

1 Like

1.- Two forks are created, so we have two versions of the truth, because each block contains different TX which are all valid TX.

2.- Is the block/s declared invalid when the longest chain wins.

3.- When two miners get to a nonce at the same time creating a fork, so to have one version of the truth we need to wait to see which block is going to be declare invalid and send back to the Mempool.

4.- We should wait for 6 blocks to be confirmed, which is an hour. This ensures that our TX has been added to the longest chain, without having to returned to the Mempool.

1 Like
  1. If two miners solve a block at the same time, a temporary fork will be created (granting all the blocks they’ve appended are valid). But eventually, only one of both miner will win when a third miner tries to append a block. The third miner will always append his block to the longest chain (it’s not about the number of blocks appended but rather on how difficult the blocks were mined or PoW). All the nodes in the network agrees to continue on the longest chain and as a result those blocks that were not chosen will be dropped and considered as “stale or orphaned blocks”. Though, all the transactions in those “stale blocks” will be returned to the mempool.

  2. As explained in my answer no. 1, a stale block is a dropped block.

  3. With reference to my answer in no. 1, a stale block occurs if two miners mine a valid block at the same time and results to a temporary fork. In addition, stale blocks are usually blocks that are mined in less than 10 minutes. As a network rule, in a case of a temporary fork, the network will always choose the chain with the most PoW (blocks that are mined with the right “difficulty”).

  4. It is important to wait for more than one block to be confirmed to prevent a situation wherein a “stale block” could occur. To guarantee that a block will not be dropped it must be appended to the longest chain and to make sure this happens a block must at least have 6 blocks appended to it that are confirmed or must have “6 blocks confirmation”.

1 Like

Whoever’s block is built upon will prevail. Longest chain wins.

Dropped blocks are “stale” or “orphaned”, they are valid but were dropped because a longer (and valid) chain replaced it.

There was a longer chain that took over.

Waiting for 6 confirmations prevent these stale or orphaned blocks.

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

It causes the network to have a situation where there’s 2 versions of truth. So, it splits the blockchain. Both blocks are considered valid and true based on the nonces and transactions are good. Eventually, another miner will come in and clearly define which version of truth wins out on the chain through the network.

  • What is a stale block?

It is a block that is dropped from the blockchain because it lost out to a longer, more difficult, and accepted by the network blockchain.

  • How do stale blocks occur?

This occurs when there’s 2 miners competing to be accepted by the network, and the blockchain that loses out in that competition because another miner comes in and chooses to append their block to the other miner’s blockchain for numerous reasons. This causes the blocks on the unaccepted blockchain to drop out and cause all the transaction inside these blocks to be invalid and returned to the mempool.

  • 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 for more than one block to confirm a transaction because it could by chance that your transaction could be on that stale block and your transaction would be dropped. On bitcoin, you want to wait for 6 confirmations from 6 blocks to have your transaction go through and become valid. The other importance is that it keeps the network from making new blocks every 10 minutes, which would lower the chance of having a lot of stale/ orphan blocks.

1 Like
  1. Two valid blocks are created block A and block B, however one will be removed because another miner may receive block B first. The miner would then add their newly created block to block B. This would make block A a stale or orphaned block.

  2. In the answer to the first question block A would be considered a stale block as it would be discarded in favor of the blockchain with block B.

  3. We will again look at the answer for question 1. Block A is a stale block because block B had another block added to its chain. The nodes on the network would accept block B since it is now longer than block A.

  4. It is important because the block could become stale or orphaned if another miner decides to build on a different but valid block.

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

The chain forks or splits into two chains. The miner with the longest wins and collects the transaction fees.

  • What is a stale block?

A stale or orphaned block is the shorter block of the two that forked/split. This block gets removed from the chain.

  • How do stale blocks occur?

A stale block becomes one of the paths that happens during a split when two miners solve a block at the same time.

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

To validate your transaction and it doesn’t end up becoming a stale block.

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    A: The blockchain splits/forks temporarily.

  2. What is a stale block?
    A: A stale block is the name for a block that was dropped from the network. It is dropped because it is not part of the longer chain.

  3. How do stale blocks occur?
    A: Stale blocks occur when two blocks are confirmed at the same time (e.g., Block A and Block B). Maybe half the nodes confirm Block A, while the other half of the nodes confirm Block B. Then one of the nodes confirms and adds another block to Block B. It is now the longer blockchain, so Block A is dropped.

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    Because it is possible your transaction will be dropped if it is part of a stale node. After 6 confirmations, you can be sure that your transaction won’t be dropped.

1 Like
  1. When two miners solve a block at the same time the chain will fork until longest version wins.
  2. A stale block was a part of temporary fork that was dropped in favour of longer version.
  3. Stale blocks occur as a result of mining two block at the same time and dropping those in shorter chain.
  4. To make sure that transaction isn’t in stale block. Usually confirmation of 6 blocks is sufficient.

Q: In case were two blocks were mined at the same time, did both miners get reward? What about block rewards in temporary forks?

1 Like

Blocks are usually mined approximately every 10 minutes, but its not necessary and having a block mined in less than 10 minutes does not necessarily mean a stale block. :slight_smile:

1 Like

Waiting does not prevent stale blocks. These discrepancies will occur though they are rare (on bitcoin less than once a year). The reason we wait is to make sure our tx is not part of a stale block :slight_smile:

1 Like

The block reward is part of the transactions list, its a special kind of transaction called a coinbase. In case of a block being dropped so is the block reward for that block. :slight_smile:

1 Like
  1. The chain splits into 2 briefly.
    2 It is a valid block that was added to the blockchain then dropped due to another chain having more proof of work
    3.By two blocks being produced at the same time but only one is continued in a longer chain the other is a stale block
  2. To reduce the chances of a stale block occurring.