Homework on Stale Blocks

2 confirmed block will be linked in the same time to the blockchain creating from that moment 2 separate blockchain

Is a valid block that is then rejected from the network as not present in the longest of 2 blockchain .

When two miners solve a block at the same time , both their valid block are connected to the blockchain in parallel way , after that a third miner will eventually connect to one of the 2 valid block, The block now in the shortest of the 2 parallel blockchain will be the stale block, this block will be rejected and the transaction in it will ends in the mempool

To ensure that your transaction is confirmed in a irreversible way(without possibility to end in a stale block) , with less than 6 confirmation would be possible that your transaction ends in a stale block and so after that would be back in the mempool waiting to get picked up again from a miner.

  1. It was create two separate chains temporarily, one would win out and the other block will be orphaned.
  2. A block that returns its transactions back into the mempool due to miners using other chain
  3. When miners use different forked chain(longer chain)
  4. To insure your transaction is not in a stalled block
  1. Both blocks will be validated and put on the blockchain. Whichever block the next block is added to will become the longest blockchain and the other block will be removed.

  2. A stale block is a block that was removed from the blockchain because there was another longer blockchain that all other nodes adopted as the truth.

  3. Stale blocks occur when 2 blocks are mined at the exact same time. Both blocks are valid. One of the blocks will turn into a stale block, the other will get another block added to it and it will become the true blockchain.

  4. It is always possible that your transaction was in a stale block. Once the network recognizes this, it will drop your block and your transaction will be sent back to the mempool.

  1. What happens in the bitcoin network when two miners solve a block at the same time? The longer block will win. The transactions from the stale block will be sent back to the mempool.

  2. What is a stale block? A stale block is the block that was discarded from the blockchain.

  3. How do stale blocks occur? Stale blocks, or orphanged blocks, occur a block is mined at the same time, Since there can only be one version of truth (even though both blocks are valid), the longest block continues and the other is dropped.

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction? It’s important, because the block with your transaction could be a dropped block.

  1. When two miners solve a block at the same time the network chooses whoever has the longest copy of the blockchain to win.
  2. A stale block is a block that was once part of the network but was eventually dropped.
  3. Stale blocks occur when two miners propagate different transaction data to different nodes during the 10 minute block times. Eventually the network accepts only one version of data and the other competing data set is dropped from the network.
  4. It’s important to wait more than one block, 6 is recommended, for sending and receiving transactions because it is always a possibility that the block your transaction is in might get dropped by the network.
  1. Miner A and B will start broadcasting their block to nearby nodes who add the block to their version of the blockchain. The nodes will continue to propagate both competing versions of the blockchain. Eventually, there will be a new Miner C that uses the hash from Miner A or B in their block and broadcasts their new version of the blockchain out into the network. The network is designed to only accept the blockchain with the most proof-of-work. The more difficult (lower) the target value in competing versions of the blockchain, the stronger the proof-of-work.

  2. A stale block is a block that was in a version of the blockchain with less proof-of-work than a competing blockchain, and as a result, gets tossed out and whose transactions return to the Mempool.

  3. Stale blocks occur when the multiple versions of the blockchain are in the network and one becomes invalidated due to lack of proof-of-work compared to a competing version of the blockchain.

  4. It is best practice to wait for 6 blocks to confirm (roughly an hour) because it could be the case that your transaction is in a block that could be tossed, thus your transaction could end back up in the Mempool.

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 block in the longest chain is selected by the network and the other block is put back in the mempool.

2. What is a stale block? A stale block is a valid block that is not accepted by the network.

3. How do stale blocks occur? Stale blocks occur when valid blocks are rejected by the network because they are not part of the longest chain.

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 at least 6 confirmations to make sure that the block your transactions are on is not dropped from the chain.

  1. Nodes closest to each miner pick respective solutions then over time the longest chain wins and the other is discarded.

  2. Shortest chain whose version of truth has not been accepted by the network.

  3. When two or more miners solve blocks at the same time and propagate both through the network too quickly.

  4. To ensure your chain has been accepted the network and reduce chances of stale blocks.

Hi @ivan, on the topic of stale blocks, there has just now been mined an empty block (block 629 463) just a couple of seconds after another block. While this miner must have been very lucky to mine a block so quickly that they did not even have time to put transactions in it (at least thats how im interpreting it), I would expect one of these blocks to have become stale due to network propagation time. Or am I missing something obvious and this is not unusual at all? Maybe both blocks can be included when the two miners were (physically) close to each other within the network?

  1. Nodes closest to both miners will receive the blocks, so there are two versions of a block circulating around. It depends on the next miner which block will he select to produce a new block based on the previous block. The block he picks will be added to the blockchain, and the other one will be ignored (dropped) and all the transactions from the dropped block will go back to mempool.

2.Thats a block which is valid, but it was simply dropped because the other block got accepted.

  1. They occur when there are two or more blocks produced in approximately the same time.

4.To prevent that your block gets dropped (stale block)

  1. When 2 miners solve a block at the same time the block in the longest chain wins and the other block is discarded and considered a stale or orphaned block. All the transactions are returned to the mempool.
  2. A stale block is the block that was in the blockchain but then dropped because another block that was produced at the same time was part of a longer chain.
  3. Stale blocks occur when a block was valid for a while because 2 were produced with the same version of the truth but then dropped because the blockchain continued on another block.
  4. It is important to wait for 6 confirmations to be sure that the block your transactions are in is not dropped from the chain.
  1. The longest chain wil win, the other block with transactions will be unconfirmed.
  2. The block that is not accepted bij the network.
  3. After a fork, its the block with the shorthest chain.
  4. You better can wait for 6 more blocks. Because than you know for sure that your block has accepted.

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 and place their blocks on the blockchain, a block height of two arises(fork).

2 -What is a stale block?

A stale block is an unconfirmed block on the blockchain.

3 - How do stale blocks occur?

When two miners solve a block at the same time and place their blocks on the blockchain, a block height of two arises(fork). When one of the blocks is confirmed, the other returns to the mempool.

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

One should wait for at least six confirmation because one of the forked blocks will be returned to the mempool.

  1. If 2 miners solve a block at the same time they will both be accepted into the block chain but once another block is added to one of those blocks the other one will be dropped and transactions added back to the Mempool

  2. A stale block is a block that has been dropped by the block chain.

  3. Stale blocks occur if 2 blocks are accepted by the network at the same time and one of those blocks has had an additional block added. the one without the additional block becomes the stale block.

  4. It is important to wait until 6 or more confirmations because there is a chance that your transaction was added by a block that may become a stale block and send back to the mempool.

SIDENOTE: What would happen if your transaction was added in both the blocks that were accepted? Will there be 2 transactions? What I mean is that I know 1 will be dropped but it would go back to the mempool or is there something that i will check that it is in the existing blockchain before sending it back to the mempool?

PS. If someone could answer my question that would be amazing. just curious

  1. If two miners produce a block at exactly the same time and they propagate their blocks into the network, the nodes closest to them will receive them first. Half the network has one version of truth and the other another version. Both blocks have nonces that are valid and below the target, all transactions are ok, we have two versions of truth. when another miner now enters their next block, depending on which version of truth they choose and continue on that chain, the other block that wasnt chosen will be dropped and transactions returned to the mempool.

  2. A stale block is the version of truth that was not a long enough chain to be chosen by the network as the version of truth that will survive and is subsequently returned to the mempool.

  3. When two blocks are produced at exactly the same time, one will be chosen by the miners as the next block that they will build on and the block that isnt chosen gets rejected from the chain.

  4. A confirmed transaction is one that has received 6 confirmations, six more blocks to come after your block, to ensure it isnt orphaned-stale or invalidated.

1.One of them will win , the other one will be droped . The network choses the longest chain.
2. Stale block is a valid block which was droped by the network
3. Two miners produce each one block in the same time . An other miner starts producing his block , so choses one of the two previous blocks and this new block will be added . Network chose the longest chain , so the other block will be removed .
4.To minimize the problem with Stale Block . If you confirm very fast , the block could be removed by the network .So you vait unthil the next 6 blocks will be added .Best practice - 6 confirmation.

There are temporarily two different ending blocks attached to the previous block of the blockchain
A valid block that turns out to be in a shorter version of the blockchain, therefore gets rejected
A valid block that was added to the chain, but then the consensus went with a different block, so was no longer in the longest chain
In case the block it was in becomes a stale block

When two miners solve a block at the same time the one with shortest chain will be orphaned and all transactions will be returned to the mempool.
A stale block is the block that is dropped from the blockchain because a block created at the same time became the longer chain.
A stale block is discarded because it was not in the longest chain and the longest chain always wins.
It is important to have six confirmations to insure no stale block will occur.

1 Like

Correct. But the process goes as follows. First there will be 2 versions of truth. Both blockchains are equally valid until one of the miners find a new block. One chain gets drooped and therefor 1 block goes stale, while the other one gets accepted worldwide.

When two miners solve a block, the bitcoin blockchain is in a sense forked into 2 chains. Its at this point that there are 2 versions of truth, as they are both follow the same rules. This needs to be resolved, and it happens when a new miner finds a new block from one of the chains. Its important to see why this is not a good thing and why satoshi nakamoto chose the 10 minute block time and its size limit of 1mb. If the blocks are mined really fast there would be a lot of chain splitting which could branch really fast. At that point the network would never resolve itself and we would not know what is the legit chain anymore.

1 Like