Homework on Stale Blocks

1. What happens in the bitcoin network when two miners solve a block at the same time?
If two miners solve a block at the same time they will each propagate their block to the nodes closest to them in location. The separate nodes will each confirm the block they receive as the truth, and both blocks will be accepted by each node and be totally valid in accordance with the rules. But, as soon as another miner links a new block to one as a continuation of the chain it will become the longest dominant chain. Whichever block has a new miner that adds a block to it first will become the main version of truth and the other block will be removed / dropped while all of the transactions will return to the mempool. The whole network eventually agrees that this is the main order of the blockchain and continues to mine the newest blocks as the one version of truth.

2. What is a stale block?
Stale blocks are the blocks that get dropped by the network. A block is dropped in the process described above. When this happens the transactions that were not included in the other block will be added to the mempool, and the rest of the data will be discarded. Stale blocks are also sometimes referred to as ‘Orphan blocks.’

3. How do stale blocks occur?
Stale blocks occur when two blocks are mined at the same time and it becomes dropped, while the other competitor block has the newest block linked to it and becomes the main version of truth to the network.

4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
Your transaction may be added to a block that will be dropped as a stale block. It may be the case that two blocks were mined at the same time as described above and some nodes in the network recognized your block to be the source of truth until the other block had the newest block linked to it first, and became the dominant chain. When this occurs your transaction is sent back to the mempool and is then added to another future block when the stale block is discarded. It is recommended to wait for 6 blocks to confirm after your block to make sure that your transaction is in the public ledger and has officially been confirmed.

1 Like

:joy: just love it !

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

    Both blocks remain valid in the network until the next block is linked to the blockchain. Depending on the one that is chosen, it will become the predominant. The other block will be erased from the network and it’s transactions returned to the mempool.

    This happens due to PoW , that establishes the longer chain as the accepted one by all the nodes in the network.

  2. What is a stale block?

    They are blocks that were in the blockchain at one time but got droped or erased, because of a longer chain that doesn’t have them in it.

  3. How do stale blocks occur?

    They occur when two blocks are mined at the same time and one isn’t accepted, since it’s not included in the blockchain considered true by the network, which is by definition the longest.

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

    It’s important to ensure that the transactions are being made by a dominante blockchain and not by stale blocks, this way increasing the network’s security.

1 Like
  1. Two versions of the blockchain will exist temporarily. The one with more confirmed blocks subsequently will stay as this chain is longer. The other one block’s transactions will be dropped and back to mempool.

  2. Stale blocks are blocks that were in the blockchain at one point but were dropped because another version of the blockchain is longer.

  3. When 2 or more miners solve a block at the same time, 2 or more versions of the blockchain are formed. As more blocks are added to these 3 versions, the one with the longest chain will stay and the blocks on the shorter chain(s) will get dropped back to mempool.

  4. To provide security that this is the best true blockchain and let the stale blocks to drop.

1 Like

Hi, Maki, thanks for precision: I hurry to correct in my mind too :wink:

1 Like
  1. Eventually the longest blockchain will “win”. For the “orphan” or stale block it will be sent back to the mempool.
    2.A stale block is a block produced at the same time as another, however since the other chain was longer(more POW) it became the winning block and thereby relegating tho other as the stale block, the loser if you will.
  2. When two blocks occur at the same time it is called a fork. They both can’t be valid so the program chooses the one with the most POW or the longest chain, automatically rendering the other block stale.
  3. Because its a big network sometimes you can have two blocks hitting target at the same time, and you need time to flush out, ie let the system figure out who the valid one is. 6 confirmations are required generally.
1 Like

Hmm I probably did not word this correcty. So waiting for 6 confirmations ensures that your block is valid on the chain. Is that correct?

1 Like

1. What happens in the bitcoin network when two miners solve a block at the same time?
• If two miners solve a block at the same time they will each broadcast their block to the nodes closest to them. However, as soon as another miner links a new block to one as a continuation of the blockchain it will become the longest and according to the rules, the longest blockchain wins. Therefore, the block that has a new miner that adds a block to it first will become the dominant chain and the other block will be removed and all of the transactions return to the mempool.
2. What is a stale block?
• A stale block is a valid block which is not part of the longest chain and is discarded/dropped.
3. How do stale blocks occur?
• Stale blocks occur when two blocks have successfully been mined (at the same time) in accordance to the rules but one is dropped, this happens because the block is not apart of the longest chain therefore not considered to be apart of the true blockchain.
4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
• This gives enough time for the nodes to verify blocks and establish the longest chain, there for limiting the possibility of a stale block forming on the network.

1 Like
  1. Both are valid blocks, but both cannot be accepted. The block successfully added to the blockchain depends on which blockchain the next successful miner uses. The longest blockchain has the most validity

  2. A stale block is a block which although valid, is not added to the blockchain as the network comes to a consensus on another blockchain. This is then removed and the transactions are added back into the mempool

  3. Two (or more) miners create valid blocks at the exact same time. They both share similar transactions but are not identical - only one of these blocks can be successfully added to the blockchain. The unsuccessful block becomes the ‘stale block’

  4. As your transaction may have been included in the stale block and not the current valid blockchain

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
  • both of them will be linked through the blockchain network but at this point, all will depend on the next node. Which of these two blocks the node will connect. We know already that the network always chooses the longest link, so one of these two blocks will be staled block or also called orphaned and he will be unlinked and all of his tx and nonces will go to the mempool until they go to a newly mined block again.
  1. What is a stale block?
  • stale block is a block that was unlinked by the network because of competition of another mined block that has a longer cryptographic link of blocks. This process leads to the following all the data, txs, and nonces of the staled block will go to the mempool until they are accepted by the network in a new block again.
  1. How do stale blocks occur?
  • the stale blocks occur when they have been rejected and unlinked by the network because of a new longer chain of minded blocks, they have been accepted once but everything is because of the timing, this stale block was created at the same time when some other blocks was created too.
  1. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
  • Because it can possibly become a stale block if at the same time two blocks are created, we can never be sure about that except if we wait for 6 new blocks and 10minutes per creating a new block.
1 Like
  1. they will both be available to build upon, and one will eventually get dropped
    2.a dropped block, no longer part of the chain
  2. when timing of uploading is the same, but then one chain ends up longer than another one, thus a stale block occurs as it was a valid block that got rejected
  3. to make sure that your block isnt the one that gets dropped and goes ‘stale’
1 Like
  1. Miners construct different chain forks
  2. Blocks that are not taked as definitive blocks in the blockchain and can be dropped if another chain formed is longer
  3. During period of confirmation and chain is the shortest one.
  4. Because it’s necessary for propagating and being accepted and confirmed for all the network
1 Like

1 The chain is divided into two and the longer end to which the next block is connected, thus winning.
2 It is a dropped fork from the block chain, its unconfirmed transactions will be returned to the mempool.
3 When miners extract a block at the same time.
4 To allow the possible occurrence of two chains. It is necessary to wait for 6 confirmations.

1 Like

Correct. :slight_smile:

  1. The block is propulgated to the nodes. Some nodes may receive block A and other nodes may receive block B. At this point there are 2 versions of the truth. When the next block is mined, that block links to one of the existing forks. At this point the network accepts the longest chain and the other block becomes stale.
  2. A stale block is one that is returned back to the mempool because another chain was continued.
  3. Stale blocks occur when multiple chains form. The subsequent longest chain survives and the transaction from the chain that die are sent back to the mempool.
  4. It is important to wait for multiple confirmations (6 is designated as safe) because nodes can confirm some of the blocks which may become stale and get returned to the mempool.
1 Like

What happens in the bitcoin network when two miners solve a block at the same time?
The blocks will be added to the blockchain. At this point one half of the network will see a different version of truth from the other half. This will be resolved with time as a subsequent block is mined and distributed across the network. The longest chain will then become the source of truth
What is a stale block?
A stale block is a block that was at one time in the blockchain on one or more nodes. However this block was at some point discarded as it belonged to a chain that ceased to be the longest.
How do stale blocks occur?
Stale blocks occur as a natural consequence of the consensus algorithm. When two blocks are simultaneously mined then inevitably some of the blocks will belong to a chain on the block that will later on be discarded as it ceases to be the longest.
Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
The transaction may be rolled back if the block to which it was added becomes stale and the transaction is released to the mempool in an unconfirmed state.

2 Likes
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    Ultimately, only one block can “win” and be added to the blockchain. Once one of these blocks has had another block connected to it, with more data, making the blockchain longer, the “losing” block will send all of its transactions back to the mempool to be mined.

  2. What is a stale block?
    Blocks that were in the blockchain at one time but got dropped because there was a different (longer) version of the blockchain.

  3. How do stale blocks occur?
    Two (or more) miners solving the cryptographic puzzle at the same time, creating two new blocks resulting in what would temporarily seem to be a fork in the blockchain. Only one will survive!! :slight_smile:

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    To ensure your transaction is not in what may become a stale (orphan) block and end up sent to the mempool to be re-mined. You would want to make sure you are legitimately confirmed before considering your send or receive truly complete.

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    Both the blocks start to propagate in the network, but sooner or later only one will be verified and the other will be given back to the mempool.
  2. What is a stale block?
    It is a block non-confirmed
  3. How do stale blocks occur?
    They occur when miners are able to generate blocks and start to propagate the to the network at the exact same time
  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    In order to avoid to have the transaction sent back to the mempool
1 Like
  1. If both blocks are valid and are spreaded through the network by nodes, two versions of truth will exist as long as another block is mined. The true blockchain is determined by the block that the miner takes as previous block. The other block will be dropped and becomes a stale block.

  2. A block that was once in the blockchain, but then dropped as the blockchain was continued with a different block

  3. Two miners solve a block at the same time. One block needs to be dropped as only one truth can exist. This block becomes a stale block.

  4. After 6 further blocks the tx is considered as safe. Otherwise it could be returned to the mempool as the block could still become a stale block

1 Like
  1. When two miners solve a block at the same time, two versions of the blockchain are temporarily created, with each version having either of the two blocks added to the end of it.

  2. A stale block is a block that was previously part of the blockchain but has since been discarded, and the transactions contained in that stale block have been returned to the mempool.

  3. Stale blocks occur when the network accepts a version of the blockchain that does not contain a particular block. This may occur when two competing blocks are added to the blockchain at the same time, thus creating a fork in the blockchain. Only one block can be accepted, and the other will become a stale block and will be discarded.

  4. It is important to wait for more than one block to be confirmed when sending or receiving transactions to ensure that the transaction has been validated and has not been returned to the mempool (i.e. the transaction was not included in a stale block).

1 Like