Homework on Stale Blocks

  1. Both blocks are valid until the next block will decide which chain will go on because its longer
  2. a canceled block (back to mempool)
  3. when two miners solve a block at the same time
  4. to make sure your txs are not in a stale block
1 Like
  1. The block with the longest chain and most difficult PoW wins, and the other block gets dropped into the mempool as an orphaned, aka stale block.
  2. A stale block is a block that was previously in the blockchain at one time, but got dropped because there was another version of the blockchain that is longer/more PoW.
  3. Stale blocks occur when two miners in different geographical areas generate a block around the same time.
  4. To ensure your transaction is validated and not dropped from the blockchain.
1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    There will be two version of the blockchain propogated to the nodes, one with miner A’s block and one with miner B’s block, both are equally true although only one can exist. This is determined by whoever mines the next block, if they used the hash from miner B’s block then all the nodes will accept this as it has greater PoW. Block A will be removed from existence.

  2. What is a stale block?
    Using the example in question 1, miner A’s block is a stale block. It is part of a blockchain with less PoW so nodes will ignore it and accept the chain with more PoW. The transactions in the block will be returned to the mempool.

  3. How do stale blocks occur?
    Stale blocks occur when there are two competing, equally true, versions of the blockchain where half of the nodes have one version and half of the nodes have another. One block must be chosen to continue the blockchain and the other will become a stale block.

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    Waiting for more blocks to be produced (best practice to wait for 6 confirmations from subsequent blocks) guarantees that your block is part of the blockchain with the most PoW.

1 Like
  1. The blockchain will break into to “paths” and the block with the longest path gets accepted and remain attached into the blocks due to the “Proof of Work” rule. The transactions into the non validated block, called Stale block, will return to the mempool.

  2. Stale or orphaned blocks are blocks which hashed correctly the nounce, were appended into the block but “lost the competition” so to speak, with another block due to longer paths. Those blocks gets not confirmed from the blockchain and transactions returns to the mempool.

  3. Since on blockchain there is only “1 way of true” and it cannot have 2 blocks converging into different sides, if 2 blocks were mined at the same time, the block which contains the longest chain and has more blocks appended remains in the block. The reason why the next block is appended to a particular block and not to the other, could be due to network distance or preference.

  4. Because the block which contains your transaction may become a stale block and your transaction will return to the mempool (unconfirmed tx). It is recommended to wait until 6 subsequent blocks to confirm your transaction is actually confirmed in the network chain.

  1. What happens in the bitcoin network when two miners solve a block at the same time?
  • The network resolves this problem by selecting the longest of the two chains. Those transactions that were removed due to their chain not being selected revert back into the mempool.
  1. What is a stale block?
  • A block in the blockchain that does not constitute the “favored” chain because it will eventually be returned to the mempool. This happens when two blocks are created about the same time, in this event only one of two chains will be accepted. The next miner that guesses the nounce correctly and is associated with either chain that association takes the winning role as the blockchain continues. The non-winner chain specifically the block that was produced at the same time as the now winning block-chain is said to be a stale block.
  1. How do stale blocks occur?
  • When two blocks are mined about the same time, the winning blocks are broadcast throughout the network and now one of those two blocks will become a stale block.
  1. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
  • Because that confirm could be an orphaned or stale block and the transaction might not go through as you think it has.
  1. Only one block will remain in the network, the orther one will be removed. The one that will have the next block appened to it first will remain.

  2. A stale block is a dropped (removed) block.

  3. Stale blocks occur when miners come up with multiple blocks within 10 minutes so both or more blocks can be simultaneously appended to the network. When the next block is appended to either of two blocks, it will leave the mined block to which it has been appended in the network, the other one without the appended block will be removed (stale block).

  4. Because if a transaction is not confirmed it is still not final meaning the block or blocks can still be removed. Only when other blocks are being added to the current block, the current block remains in the chain. New upcoming added blocks are called confirmations.

1.- The blockchain will be split into 2 versions of truth, and the block with the longest path gets accepted and linked to the chain.

2.- Stale or orphaned blocks are blocks which hashed correctly the nonce, were appended into the blockchain, but they are in a version of the chain that’s get replaced by another chain longer. Those blocks gets unconfirmed and the TX’s returns to the mempool.

3.- Stale blocks occurs when miners produce blocks at the same time

4.- To make sure your transactions is confirmed, not be dropped and becoming an stale block

  1. Some miners will choose one, some the other, and the longest chain wins.

  2. A valid block which was abandoned in favor of a longer chain.

  3. cf 1.

  4. Because there may be a longer chain surpassing the one in which our transaction was included.

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

You will have two blocks with their own version of the truth. Only one of the blocks will be accepted and this is determined by the next miner that continues the chain of either block. The block that is not accepted will be dropped and the transactions included will be returned to the mempool.

What is a stale block?

This is a block that has been dropped.

How do stale blocks occur?

One of the ways that this can occur is when the blocks are being mined too quickly. When there are too many miners the difficulty needs to be adjusted to allow time for propagation. Another case is two miners solving a block at the same time. One of the blocks will eventually be dropped while the other is accepted causing the dropped block to become stale.

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

You should wait in case your block is dropped after confirmation. Best practice is waiting until you have six confirmations just to be sure.

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

The miners propagate their version of the updated blockchain to the network, so the other miners choose which block to work on (based on which they receive first). at somepoint one chain will become longer than the other, this will then become the official blockchain that is stored on all nodes in the network. The blocks in the shorter branch are all dropped from the chain and their TXs are added to the mempool.

2. What is a stale block?

A stale block is a valid block that is dropped from the blockchain because it was part of the “losing” branch.

3. How do stale blocks occur?

Different miners choose to mine on different branches of the chain based on which version they see first. the branch that becomes longer than the other becomes the official chain, the blocks in the other branch are all dropped and become stale/orphaned blocks

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

The block your TX was in could be a part of a branch that could go on to become the shorter of the branches, leading to your TX being returned t the mempool.

  1. What happens in the bitcoin network when two miners solve a block at the same time?
    both will be valid for some time until miner picks one of them and will there another block. Then the smaller block will be dropped to mempool and only one prevails. just like highlander, there can be only one.

  2. What is a stale block?
    it is a loser block. Miner picked the other block and this one was dropped from chain.

  3. How do stale blocks occur?
    when two blocks are mined at same time. one of them will eventualy stay at blockchain, other one will be dropped.

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    because there is chance that our transaction was at stale block. we have to wait 6 confirmations that it stays there forevevr.

  1. The longest blockchain will win, The shortest will be orphaned.
  2. The block that gets orphaned and gets put back into the mempool in favor of chain with more PoW.
  3. They occur when a fork is resolved with a longer chain.
  4. Reduces the odds of occurrence of a stale block.
  1. The local nodes around them will accept their versions of the blockchain until one of the 2 chains returns a longer blockchain, becoming the new true version that gets accepted into the network. When this happens the other block (the stale block) that is part of the shorter chain is discarded by all nodes and the transactions within are returned to the mempool.

2)A stale block is when an block is accepted into the blockchain but is later discarded for not being globally accepted version.

  1. This happens when two blocks are created and accepted into the blockchain at two different ends of the network but one version is discarded due to the length of its chain.

  2. Its important to wait until your transaction is more than one block deep as your transaction could become part of a stale block and cause double spending.

  1. They continue to mine until the network chooses the longest block, resulting in the losers transactions to be dropped out of that old block and put back in to the Mempool.

  2. See Q1.

  3. After the fork is resolved

  4. Its important to wait for 6 conformations to make sure you’re transactions dont get dropped from the chain.

1- When this occurs, depending on when a newer miner attaches to whichever block this then becomes the longest chain with most proof of work thus the other block gets disregarded as it automatically becomes the shorter chain.The blockchain will then continue on that chain and the competitor block’s transaction then goes back to the mempool.

2- The dropped blocks from the blockchain but is not now in the longer chain of the blockchain

3- When blocks are coming onto the network at a faster rate than 10 minutes

4- The transaction could be in a block which then gets dropped off and the transaction goes back into the mempool. Best practice is 6 confirmations so that you know it is part of a confirmed blockchain transaction

  1. What happens in the bitcoin network when two miners solve a block at the same time?
    The miner who successfully solves the cryptographic puzzle with the correct nonce will stay on the blockchain, while other blocks get dropped and will be put back on mempool.

  2. What is a stale block?
    Stale blocks are blocks at one time, but got dropped because there’s another version on the blockchain that is simply longer without blocks in it.

  3. How do stale blocks occur?
    Stale blocks occur if there are two or more miners that are mining their block simultaneously. Only one block will be confirmed at one time, other blocks will get removed or dropped.

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    To minimize the issue of orphaned or stale blocks. If the block is coming out at a faster rate, the block will not be able to propagate through the entire network before a new block is out.

1 Like

1.then two versions of blockchain start to be propagated. next miner take one of this versions and this will be proper one. blocks from other version will be dropped and back in the mempool
2 completely valid block which was dropped from other version of blockchain, which at the end wasn’t chosen to continue on it.
3 they dropped out from the blockchain, which wasn’t chosen by next miners
4. because your transaction might be on block which will be a stale block

— My answers —

  1. Both blocks are propagated in the network at the same time, temporarily creating two different versions of the blockchain. Eventually a new block (or a longer sequence of blocks) is appended to one of the two chains, which makes the network assume it’s the real one and discard the other.

  2. A stale block is a valid block that ends up being discarded because another version of the blockchain (which had previously split) has received more confirmations.

  3. Eventually one of the versions of the blockchain receives more confirmations by appending more following blocks; when this occurs, the nodes that had kept a different version of the blockchain discard it and use the longer one instead. The leftover blocks are therefore discarded and the transactions that they had processed (and that hadn’t been validated in the other version of the blockchain either) are included again in the mempool.

  4. A transaction that appears to be confirmed might be part of an orphan block, so it might lose its confirmation state if the block is discarded. As a rule of thumb, 6 confirmations (in other words 6 following blocks appended) are enough to consider a bitcoin transaction as surely validated.

1,2&3. If two miners find a solution simultaneously the one belonging to the longest chain “wins” and is accepted.

The “losing” block is discarded and all associated transactions are returned to the mempool. That block is now classified as an “orphaned” or “stale” block.

  1. Waiting 6 confirmations before considering a transaction completed is a "best practice` that insures your not in an stale or orphaned block that gets dropped.

1.blockchain is divided into two possible options until one of them is extended by another blocks and approved by the network and the other is rejected-(stale block)
2 see 1
3.if two blocks were created at the same time it takes time for them to be able to reach all nodes so only one of them is approved,by adding a new block to one of these two divided chains, the network will choose the longer one
4.because your transaction can be in a stale block that can be droped by network