Homework on Stale Blocks

  1. If two blocks are mined at the same time, nodes closest to to each miner will be sent different versions of the bock.

  2. A stale block is the block that gets rejected in the event that there are two blocks mined at the same time.

  3. Stale blocks occur in the network once the block(s) that follow a double mined block become longer in proof of work on one side or the other. The nodes will accept the longer block, and reject the shorter (stale) block. The transactions in the stale block will be sent back to the mempool.

  4. Multiple confirmations are important to be sure that a transaction succeeds in the chain without becoming stale and being returned to memool. The more confirmations a transaction recieved, reduces the possibility of rejection.

1 Like

Hi there!! So stale blocks occur when two miners solve a block at the same time, but as the information propagates throughout the other nodes, it will create two different and valid versions on the blockchain. Is up to the next miner to append a new block to one of the chains, causing the block on the other chain to become stale. That’s why we need to wait for the network to decide which version is going to continue, so we know for sure our transaction will be confirmed and included in the blockchain.

1 Like

Hi there! Actually, the miners don’t necessary need to mine the same block, as they will independently choose which transactions to include in the block, making them different. This does not mean that they can mine it at the same time, though!

2 Likes

Maybe not hash rate, but most PoW. This is related to the amount of blocks of each chain.

Blocks are mined at an average of 10 min apart, but, sometimes 2 miners can coincidentally find a block at the same time. So, its not about how fast, but when they happen.

2 Likes

Here we focus more on a user perspective, as we won’t want our transaction to be dropped because of a stale block. Imagine a merchant accepting btc as payment, only waiting for one confirmation when sending the product!

1 Like

We can say the longer blockchain, or the chain with more blocks!

1 Like

Hi there!

The 10 min is just an average of how often miners find new blocks. The propagation time depends on internet speed and how close other nodes are. So, 6 confirmation mean that we should wait around 60 minutes to be completely sure that our transaction is not dropped.

1 Like

Hi there!!

We say that both blocks are added to the blockchain so two valid versions are created.

Actually, both blocks are propagated to the blockchain, but some nodes get the information about one block before the other.

2 Likes

[quote=“ivan, post:1, topic:8434”]

  • What happens in the bitcoin network when two miners solve a block at the same time?
  1. Both blocks are temporarily added to the network until there is consensus which is the longest fork and then the block (and subsequent 5 or 6 blocks) on the shorter chain is dropped and they become ‘stale’ blocks, with the TXs put back in the mempool.
  • What is a stale block?
  1. It is one of the 5 or 6 blocks dropped as they were on the shorter chain/fork.
  • How do stale blocks occur?
  1. A Tx is really only confirmed after 6 blocks just be sure that your block has not been added to the shorter blockchain that will end up getting dropped. These 5 or 6 blocks that are dropped are called ‘stale’ or ‘orphaned’ blocks.
  • Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
  1. This is bc it takes time for the new blocks to be propagated into the network all around the world. All nodes need enough time to sync new blocks, validate new blocks and be ready for subsequent blocks, and hence, enough time to confirm which is the longer chain with more difficulty/more PoW.

Thanks for the clarification

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

Network will choose the longest block (with stronger difficulty) over the shorter one.

  • What is a stale block?

Stale block is a valid block with network chooses to not include to the blockchain also called Orphan blocks.

  • How do stale blocks occur?

When the block was accepted by the nodes closest to miner, and other block was created on this same time and another nodes pick it up and another block was added after that, then consensus was settled and Longest chain wins. Then abandoned block will became stale block.

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

Is important to get at least 6 confirmations, because after that we are sure that our transaction will succeed.

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    • if 2 miners solve the same block, they will create 2 truths and will split the chain.
  2. What is a stale block?
    • valid blocks are blocks that has been dropped due to another version of truth was selected as the longest.
  3. How do stale blocks occur?
    • Stale blocks happens when the network chose a winning chain.
  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    • this is important just incase your transaction was dropped by one of the orphan/stale blocks. So to ensure your transaction is included then you will need to wait 6 confirmation for best practice.
1 Like
  1. Their blocks would be added to the network and propagated through their nearest nodes, creating two versions of the truth. However, when a new miner comes and tries to add his block to the chain, whatever version he chooses to be his truth (whatever version has propagated through his network) will be the one that is elongated, since blockchain is dependent on the proof of work concept
  2. A stale block is when a block is dropped from the network
  3. It happens when two versions of the truth exist and the subsequent miner accepts one version of the truth because it is the version that is available on his network
  4. So that you don’t have multiple blocks trying to get added and getting orphaned as a result. Since the bitcoin network is a physical network, it takes about 10 minutes for the block to propagate throughout the entire network and sync properly.
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    Answer: The version of the chain which becomes legitimate is the one upon which the next valid block is solved.

  2. What is a stale block?
    Answer: A stale block results from the above process. The new block which was not followed by the next block becomes stale or abandoned.

  3. How do stale blocks occur?
    Answer: Stale blocks occur when the other version of the blockchain is validated first. The longest chain wins. The losing block becomes stale or orphaned and the information returns to the mempool to be taken up again and solved.

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    Answer: To make sure you are not following an orphaned or stale block version of the chain.

1 Like
  1. The block that gets the next block included using their hash will be kept in the blockchain while the other will become a orphan or stale block.

  2. Is a correct block that didnt get included in the blockchain because it didnt get the next block in time comprared to another block created at the same time.

  3. It occur when 2 blocks get mined at the same time.

  4. To make sure the block where your transaction is do not get orphaned or staled.

1 Like

blockchain splits having two ends A & B
2)
one of the two end-blocks where no further growth happens (B),
3)
due to eg quicker generated nonce for the next block on chain-end (A) only the (A)-path is valid and the B path is a stale block
and all it’s transactions will be moved again to the mempool. (Will Miner (B) still get a reward for it’s stale block?)
4)
Because your tx could be part of a future stale-block

1 Like
  1. They create two truths on the network

  2. A block that has been removed from the blockchain

  3. As a result of propagation lag, another copy of the blockchain exists with more “proof of work”

  4. To ensure the block has been adopted into the blockchain network and wasn’t “orphaned”

1 Like
  1. When two miners mine a block at the same time the chain splits

  2. A stale block is a block that gets discarded and all transactions go back to the meme pool.

  3. Stale blocks occur when 2 miners win a block at the same time. The chain splits and waits for next miner to add a block. Once the next miner adds a block to either of the split blocks the other block gets discarded because the longest chain always wins.

1 Like

Hi there!! I think there is a small confusion with the 5 or 6 blocks. This number is only a recommendation, as after 5 or 6 blocks are mined on top of a block that contains your transaction, there is a very small chance that the block will be dropped. Normally, stale blocks happen when two miners find a new block at the same time, creating 2 different versions of the blockchain, but once another miner finds a new block, it will append it to the version of the chain that he has. This is when the block in the other version of the blockchain is dropped (becomes stale).

Hope this info helps!

Felipe.

1 Like

Yeah, so basically we wait for 5 blocks to be added to the the block your transaction is on (total of 6 confirmations), so we know that your block won’t be dropped!

1 Like