Homework on Stale Blocks

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

On such a condition, a race or a competition begins to validate which version of truth to be part of the block chain. The version of truth in longest chain and with the highest proof of work wins.

2. What is a stale block?

Stale blocks are blocks part of split chain, who were left behind, by other blocks with the best truth, who were successful to be part of the longest chain.

3. How do stale blocks occur?

Geographical distance and network delay, can affect a conflict in the network, that nodes do not get the broadcast of blocks in same time.

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

Because there is a chance that your transaction can be part of stale block.

1 Like
  1. Eventually one of those 2 blocks will get dropped after more blocks are added in each version of truth. Version of truth with most blocks (longest chain) wins, and is accepted by the network.
  2. Stale or orphant block is the block that gets dropped from the chain.
  3. It occurs if the nonces are solved too fast, and blocks don’t get propagated throughout the network in that time. Than one part of network has one valid block, other part has a different valid block.
  4. So you are sure your block is not being dropped.
1 Like
  1. The block that gets added more blocks onto gets included into the blockchain and the other one is dropped.

  2. A stale block is a block that was initially valid but gets dropped because another valid block that was mined at the same time had more additional blocks added to it.

  3. See 2.

  4. Because the block may still turn out to be stale.

1 Like
  1. There will be two separate blocks appended to the blockchain and the chain split into two. The block that the most miners recognise and add on to will win while the other block will become a stale block and be returned to the mempool.

  2. A stale block is a block that has been replaced by another block in the blockchain and it is returned back to the mempool.

  3. Stale blocks occur when multiple blocks are added to the blockchain as more that one miner solves the puzzle at approximately the same time.

  4. This is to confirm that the block is indeed accepted as part of the main blockchain, it takes 10 minutes for all the nodes to sync and confirm the new block. Hence, it is best to wait for 6 more confirmations to confirm that the block has not been dropped.

1 Like
    • What happens in the bitcoin network when two miners solve a block at the same time?
      A: Both are considered valid and other miners will begin solving the next block based on whichever valid block they recognize. As blocks get added the longer chain is recognized as the “truth” and the shorter chain’s blocks are dropped and considered “orphaned” or “stale” blocks.
    • What is a stale block?
      A: Stale blocks are blocks that, while valid at one time, get dropped from the blockchain in favor of a longer chain. The longest chain is considered the “truth”.
    • How do stale blocks occur?
      A: Stale blocks occur when a longer chain exists and the shorter chain’s blocks are discarded.
    • Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
      A: Because you don’t want to find out that the block containing your transaction has become stale and is discarded from the blockchain. Six blocks is the ideal # to ensure confirmation.
1 Like
  1. 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, two versions of the blockchain will temporarily exist in the network. One version has the first miner’s block appended to its end while the other version has the second miner’s block appended. The two versions of the chain will be propagated through out the network, and miners will compete to append a new block to one of these two versions, depending on which version eventually get communicated to individual miners’ nodes. Eventually, a new block would be appended to each of the two versions of the chain, and the system will choose the version that has the most proof of work as the “true” blockchain, and the other version that has less proof of work will be dropped, including the two blocks appended in the last and present rounds.

  2. What is a stale block?
    A stale block is a block that has been temporarily appended to the blockchain but is ultimately discarded because it belongs to a version of the chain that has less proof of work.

  3. How do stale blocks occur?
    Stale blocks occur due to the temporary existence of two legitimate versions of the same blockchain. The system has a protocol to resolve the temporary inconsistency for making the blockchain in every node of the system uniform again. Any block that has been appended to the chain during the period of inconsistency will become a stale block if it belongs to the version of the blockchain that the system eventually drops.

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    There is always a risk that the last block appended to a blockchain at any given time would become a stale block and got dropped; the same will happen to any block appended after the stale block. Therefore, to avoid a transaction to be discarded together with a stale block, it is more secure to wait sending or receiving transactions after more than one block is confirmed.

1 Like
  1. When two miners solve at the same time both blocks are initially accepted as valid blocks and enter the network. This starts the consensus and “competition” to be the chain that is accepted as a whole.

  2. A stale block is a previously accepted block discarded by the network due to a longer chain being accepted.

  3. Stale blocks occur when two miners solve a block at the same time. These blocks enter the network, go through consensus, and operate normally based on proximity to the respective miners. Eventually one chain will be longer than the other and be accepted as a whole over the competitive block.

  4. The importance of waiting for more than one block to be confirmed is focused around stale blocks. When a block is declared stale and discarded by the network, all transactions within that block (possibly chain) are declared invalid and processed accordingly. Waiting for more than one, ideally at least 6, mitigates this risk.

1 Like

1.) The block connected to the longest chain is chosen with the transactions of the rejected block is sent back to the mempool.
2.) A stale block is a block produced at the same time as another valid block was where the block connected to the longer chain cancels out the block connected to the shorter chain.
3.) To make sure a transaction has been validated you should wait for at least 6 confirmations.

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    The block chain with each respective block will be sent to the node closest to each of the respective miners, and different versions of the blockchain will be passed along until the next block appends to one of the versions, making that version the blockchain, and the other block will be invalidated, and transactions in it returned to the mempool.
  2. What is a stale block?
    A stale block is an invalidated block, which is no longer valid because a new block appended to another block that was formed at the same time as the invalidated block.
  3. How do stale blocks occur?
    Stale blocks occur when two miners create blocks simultaneously causing two versions of the block chain.
  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction? Because the block in which the transaction is placed, may be orphaned, and the transactions sent back to the mempool.
1 Like
  1. 2 valid blocks are created & propogated to nodes on the network thus creating 2 versions of the truth. With subsequent blocks being added to these the network will select the longest chain of these based on their PoW acheived.
  2. A stale block is any valid block that was outrun by a competiing block & therefore not added to the blockchain but returned to the Mempool
  3. They are left isolated from being not included in the successful blockchain
  4. The more confirmations received proves that more nodes on the network have achieved consensus on the transaction. This takes time.
1 Like

Thanks for the clarification :slight_smile:

1 Like

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

  • 2 valid chains are created for the moment
  • one of the blocks will become orphant or a stale block

What is a stale block?

  • a stale block is a valid block which was not in the longest path and therefore will be discarded

How do stale blocks occur?

  • a stale block occures when 2 miners solve a block at the same time
  • one of these 2 solutions will be discarded, that will be called the stale block

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

  • after a few confirmation you are sure the transaction is completly validated by the miners and is NOT part of a stale block
1 Like
  1. the longest blockchain wins and the other will be removed/dropped
  2. stale blocks is the block which was dropped by network due to lenght of chainblock.
  3. when two or more mines resolve the block in the same time but one miner have longer blockchain so the other blocks are dropped. dropped blocks are stale blocks.
    4.to get confirmation of transactions after more blocks are add to chainblock verifying truth of the blocks and transactions.
1 Like
  1. When two miners solve a block at the same time, both blocks are propagated through the network. As further blocks are appended to the network, the longest block (with the greatest proof of work) will be accepted, and the other block will be orphaned and its transactions returned to the mempool

  2. A stale block is a competing block that has been dropped from the network because it has less proof of work that the winning block

  3. Stale blocks occur when competing blocks are simultaneously appended to the network, creating two version of truth. Eventually one block will be accepted as having a greater proof of work, and the losing block will be dropped

  4. It is important to wait for more than one block to be confirmed because that block could be orphaned. After six confirmations it is infeasible that the block could go stale

1 Like

1 - Both blocks are initially attached to the blockchain. The chain will eventually grow longer from only one of them.

2 - A stale block is the one of those 2 blocks from which the chain is shorter.

3 - They occur when nonces in different blocks generates hashes that are valid at the same time. Which means that they also have good transactions from the mempool, although not necessarily the same.

4 - To make sure the transaction belongs to a block that will not become staled.

  1. What happens in the bitcoin network when two miners solve a block at the same time?
    Different Miner’s with valid blocks can be adding at the same time, but only the miner with the longest blockchain (the one with most PoW) will be rewarded.

  2. What is a stale block?
    Stale Blocks are blocks that once where on the blockchain, but got dropped because of another longer version of the blockchain.

  3. How do stale blocks occur?
    If other blocks are mined at the same time on the blockchain, we might run into the problem with Stale blocks.

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    You need 6 confirmations in order to be sure that your TX is confirmed or your TX will be sent back to the Minepool.

  1. There ends up being two versions of the block chain.
  2. Stale block occurs when one copy of a block chain loses out in favor of another going forward. The ‘new’ blocks on the discarded chain are stale blocks
    3.as above
    4.the more confirmations mean there were more blocks adding after that block containing your transaction. This means it s a longer chain and harder to become an orphan
  • For a moment there are 2 versions of the blockchain. When this happens it usually depends on the next miner and which version of the blockchain they try to append too. The version with the most work or the longest chain will be excepted by the network and the other version will be rejected. As will any transactions that do not appear in the excepted version of the blockchain. Those transactions are returned to mempool.
  • Stale blocks refers to the the blocks that are rejected by the network, even though the transactions are valid and the block is valid it is rejected because another block was mined at the same time and more work by other nodes on the network have continued on that chain further. Thus it is excepted a the true version of the blockchain and any blocks on the un-excepted version are dropped.
    *As above when two miners mine a block at the same time and the network has two different versions of the blockchain
  • Generally it is best practice to wait from 6 confirmations because the likelihood of your transaction being dropped as a stale or orphan block is next to 0% chance.
1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?

When this happens, two different versions of the blockchain are existing at the same time, till another miner picks one of them to add their new additional block, invalidating the other one. Why is that? Because the longest blockchain is the default option to be accepted by the network

  1. What is a stale block? A Stale Block (also called Orphan Block) is a block which has been invalidated - not chosen by the newcoming miner. It is just a casual choice, most probably due to the proximity of the nodes propagating that version of the blockchain. Sorry for your loss,miner! try again: you will be luckier!

  2. How do stale blocks occur? Stale blocks occur when two miners find the nonces and send their newly mined block to other nodes at approximately the same time, in order to be propagated through the network and a third block chose the alternative version of the blockchain.

  3. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    Because if you do not wait till 6 block are created there is always a possibility that some blocks become orphans therefore the transactions in the blocks would be parked back into the mempool and not validated.

1 Like

What happens in the bitcoin network when two miners solve a block at the same time?
You get two different (valid) reasons of the truth. Some nodes will receive truth1 first and some nodes receive truth2 first.

What is a stale block?
A valid block that was on the blockchain for some time but then gets dropped because the nodes receive another longer version of the blockchain (more PoW).

How do stale blocks occur?
When two miners solve a block at around the same time and propagate their block in the network > two versions of the truth exist but there can only be one version.
The next block will only be linked on one of the two versions, depending on which version the winning miner is using. One version will grow longer (more PoW) and gets accepted by the whole network. That means the other blocks on the losing version will be dropped (become stale/orphaned) and tx go back to mempool.

Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
Your tx may be dropped as one of those stale blocks, after 6 confirmations you can be sure your tx is really confirmed and on the blockchain.

1 Like