Homework on Stale Blocks

  1. Both blocks are propagated on the network.
  2. A stale block is valid block which once propagated to the network is subsequently sent back to the mempool because a competing valid block has been accepted on a longer chain.
  3. Stale blocks occur when more than one valid blocks are added to the network and propagation starts. The nodes on the networks then have different versions of the block chain in which case the longer chain with a higher level of difficulty is accepted over the shorter chain or a chain with a lower difficulty level. The valid blocks on the shorter chain or lower difficulty level are then sent back to the mempool as stale blocks.
  4. To ensure that the block is not stale and is in fact accepted on the blockchain.
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 the network forks by sending the two different versions to the nodes nearest to them, eventually when the next block is added to a particular block the other one will become stale blocks.

  1. What is a stale block?

The remaining block that is not added to the blockchain be considered a stale block and the transactions within the block will be added back to the mempool…

  1. How do stale blocks occur?

When a miner finds a block, it is important to get it out to as many peers as possible. In case some other miner finds a block at the same time, you would want your block to be heard about first. Other miners will usually mine on top of the first block they hear about and so if they mine on top of yours, it is likely that your block will make it into the official blockchain and you will collect the reward.

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

In Bitcoin, multiple transaction confirmations are required to achieve a good level of confidence that transactions may not be rolled back in the future and eventually a consistent view of transaction history is available to all nodes.

1 Like

6 confirmations means 5 additional blocks were mined on top of the block that contains the tx. :slight_smile:

1 Like

Blocks will be added parallel to the last block. These chains starts to “compete”. The longer chain wins. The blocks in shorter chain becomes a stale blocks and are removed. Transactions from removed stale blocks go back to the mempool.

Stale block is the block that was removed from blockchain because of the fork that occured.

Stale blocks occur when the fork is resolved by choosing longer chain.

It’s important to wait for more that one block to be confirmed in case of stale block occuring.

1 Like
  1. Two perfectly valid :ok_hand: newly blocks are to be added to the Blockchain :chains: and consequently grant the block reward :1st_place_medal: to the responsible miner.
  2. The decision on which block will be chosen :face_with_monocle: depends on all the other miners in the network. Eventually, the unchosen :see_no_evil: / dropped :hear_no_evil: block is called a stale block.
  3. Both blocks will be spread :rocket: over the network and different miners will add the first one they receive to their node :desktop_computer:. Immediately after, everyone will try to solve the next block. Depending on different factors :thinking:, soon a next block will be discovered in one of the two versions before the other. When the longest version starts spreading :rocket: across the network, miners who had accepted the other version will have to discard :triangular_flag_on_post: the one they were working on based on Proof of Work :muscle: (the longest blockchain always wins).
  4. It might occur that the block where the transaction was registered is discarded :triangular_flag_on_post: by miners in time :watch: before this transaction was confirmed. The transaction will be returned :leftwards_arrow_with_hook: to the mempool :card_file_box: for miners to consider them again include the transaction to another block. That’s why a transaction will be confirmed :white_check_mark: on the blockchain after :six: confirmations to make sure that the block that includes the transaction hasn’t dropped out :broom:.
2 Likes

I like the way you answer :grin:, it is fun to read​:ok_hand:.

2 Likes

1-The blocks will be added to the chain but in a branched fashion, fork, until another block(s) is added to either until the proof of work creates a longer chain that the network will accept and the other block, and any other blocks will be dropped.
2-The dropped block(s) are considered stale (orphaned) and will re-enter the mempool
3-A block that is not accepted by the network will be re-entered into the mempool. This block is stale.
4-As a miner, it would be important to wait 10 minutes, the time it takes to mine another block that will be added to the chain, to avoid your mined block that may not be accepted from being dropped and avoid losing the time and money invested.

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time? two versions of the blockchain exist until the next block is solved.
  2. What is a stale block?
    when there are multiple versions of the blockchain and eventually only one version can continue to confirmation. The transactions from the blocks that dont reach confirmation are sent back to the mempool to be processed again.
  3. How do stale blocks occur?
    miners solved two (or more) blocks at exactly the same time creating a fork and having multiple instances of the blockchain. Only one version will reach confirmation and the blocks from the others are considered stale where their transactions are added back to the mempool.
  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction? There could be multiple versions of the blockchain and if one transaction exists on both versions it could cause a double-spending issue. Waiting for 6 confirmations gives the network time to catch up and agree on the correct version of the blockchain.
1 Like
  1. A fork of the blockchain occurs until further miners build further blocks on one side of the fork. In this instance the other side of the fork becomes stale and the Tx’s used in the stale fork go beck to the mempool
  2. A block, which has not had further blocks added to it by miners and is consider now void by the network
  3. Stale blocks occur when they are dropped from the chain, when the other fork of the chain becomes longer due to added blocks
  4. To ensure that your Tx is not orphaned off on a fork of the chain, then it will become unconfirmed
1 Like

Thank you Maki :pray: for your support! :+1:
For me it’s necessary to understand :nerd_face: the curriculum :books:
Hope it helps :blush: & brings you good study :bowing_woman: vibes!
Judith :hugs:

  1. One of them is dropped out of the network.
  2. The block that is dropped.
  3. When a block is dropped because it was not chosen by the next miner therefore it cannot get confirmed.
  4. To make sure your block doesn´t get dropped.
1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    The block with the longest chain will be added as it typically has the most transactions.

  2. What is a stale block?
    A stale block is a block that doesn’t receive validation and its transactions are sent back to the mempool.

  3. How do stale blocks occur?
    A stale block occurs when two blocks are solved at the same time but only 1 can be added.

  4. 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 confirmation because it increases validation and creates a stronger chain of transactions with less chance of becoming stale.

1 Like
  1. There will be 2 versions of the truth, because the blocks are propagated through the network to the closed nodes therefore each miner will compete to have their blocks accepted by the network. In this case only one will get accepted. Network accepts the block with the longer chain and most PoW.
  2. Stale block is a valid block that is dropped by the network.
  3. Stale blocks occur when a third miner comes in and propagates his block on one of the first 2 miners chains, therefore one will be dropped from the network creating a stale block.
  4. To reduce the amount of stale blocks (dropped blocks in the network) and have your block accepted and propagated through the network.
1 Like
  1. Two separate chains are formed, among which the longest one with most difficulty will be selected by the blockchain.
  2. Stale block is an orphaned block that contains invalidated transactions that are moved back to the mempool.
  3. Stale blocks occur when different nodes contain different information regarding the entire blockchain and miners try to append different blocks to the blockchain as they have two different versions of it. Since this cannot continue one of the chains will be dropped and the blocks in that chain will be invalidated (orphaned / staled).
  4. Waiting for more confirmations reduces the risk of stale blocks being created and transaction being invalidated due to this reason. After multiple blocks are formed it is unlikely that the transaction will be included in a stale block anymore.
1 Like

If miners stopped mining because there might be a stale block in the network then nothing would be done. They continue mining on whichever block they receive first.
The reason why the user that is making the tx should wait is in case his tx is part of a stale block. :slight_smile:

Waiting doesn’t reduce the chance of stale blocks it merely insures it was resolved and your tx is not part of it. :slight_smile:

  1. What happens in the bitcoin network when two miners solve a block at the same time?
    The Block Chain splits into (2) diff chains where the next miner that places a block on the chain can choose either one…
  2. What is a stale block?
    It is the chain that is shortest chain
  3. How do stale blocks occur?
    Because miners choose the block to follow at random so stale blocks are those that go back into mempool
  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    so that a bad chain or false chain doesnt create faster blocks just tzo make theirs longer …
1 Like

1, one of the blocks will cancel out
2, the block that gets cancelled out
3, two blocks being solved at the same time
4, to ensure your block doesnt become stale

1 Like
  1. Both miners will propagate their version of the blockchain, eventually the blockchain with the most POW will be accepted by the network.
  2. A block that was in a previous version of the blockchain and got dropped out.
  3. Stale blocks appear when blocks are created by miners almost at the same time, eventually the blockchain with the most POW will be accepted by the network.
  4. To make sure that the block doesn’t become stale and txs are returned to the mempool.
1 Like
  1. The network will except the longest blockchain with the most proof of work and the competing block will be dropped and the transactions will be returned to the mempool.
  2. A block that was in the blockchain but got dropped because there is another version of the blockchain that is longer.
  3. Stale blocks occur when blocks come in at a fast rate and cannot propagate through the network before a new block comes in. They are competing with each other.
  4. It is important to wait for 6 confirmations because there might be a case that a transaction is in a stale block that will be dropped.
1 Like