Homework on Stale Blocks

  1. Both blocks start to propagate among the nodes because are valid. However the next block will be appended to one of those blocks, this would make the “longer” chain in terms of PoW which means that this will be the “valid” blockchain causing the other block to be dropped.

  2. A stale block is a block that was once valid in the blockchain (was appended to it) but it was dropped or orphaned due to the situation above.

  3. I think I explained that in question 1 - there are two versions of the truth (two blocks valid) but then a next block will be mined and appended to one of them, making the other to go stale or orphaned.

  4. In the case a block gets staled or orphaned, to be 100% sure that the transaction is actually confirmed and will not be “dropped”.

1 Like
  1. It is possible that two versions of the block chain will occur, but the shorter one will inevitably be dropped in favor of the longer one
  2. A block that has been abandoned by the block chain
  3. There was a conflict between 2 versions of the block chain, and the stale block is the one that loses
  4. By waiting for a number of confirmations, we can have confidence that the transaction is truly official because newer blocks have been stacked on top of it, indicating that the block with your transaction didn’t become “orphaned”
1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    Both are accepted as valid blocks, but only one will be chosen as the “longest chain with proof of work”, and the other one will be dropped (along with the blocks in them: stale blocks).

  2. What is a stale block?
    Is a block of a validated transaction that ends up being dropped because another chain is longer.

  3. How do stale blocks occur?
    They occur when there are two / several different kind of truths on the blockchain, and the network ends up choosing one over the others –– the dropper blocks on the other chains after the branching happens are called stale blocks.

  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    To really make sure that the transaction has been confirmed, and the block in which that transaction is in ends up being in the chain that is adapted by the network.

1 Like
  1. In the bitcoin network when two miners solve a block at the same time what happens is that there is temporarily two versions of truth based on the two miners when they can be only one truth at any given time. The longest chain will ultimately win as the next miner’s block will be appended to one of the two first. The blocks in the other now shorter chain will be purged to the mempool.

  2. A stale block is a block that was on chain perhaps because of two versions of truth concurrently but then got discarded from the network once the version of truth was established with the longest chain.

  3. Stale blocks occur when multiple miners solve the cryptographic puzzle at the same time and both propagate their blocks on the network at the same time thus forking the network, the blocks that are no longer part of the established true chain get dropped.

  4. It is important to wait for more than one block to be confirmed when sending or receiving a transaction because it allows for global network synchronisation thereby a wait for 6 confirmations is required for this process.

1 Like
  1. Both of the miners will send their version of the blockchain to the other nodes. This will temporarily create 2 blockchains, until the next block is mined and the new and longer blockchain is sent to the nodes.

  2. A stale block is a block that was in the blockchain but got dropped.

  3. When 2 miners mine a block at the same time and start sending their version of the blockchain to the network. Dependant on which blockchain the next mined block is based upon, 1 of the 2 blocks will be dropped and becomes stale.

  4. There could be multiple blockchains at the time, but only one that will be completely validated. Which means that transactions could be invalid and added back to the mempool.

1 Like
  1. the blockchain will accept both blocks and you get 2 different versions of the blockchain that will be sent to all the nodes.
    2.Miners will compete for the next block and this can be attached on either of the 2 blocks in front of it. After the new block is attached to one of the 2 block in front that will be the longest chain. The other one of the 2 blocks becomes a stale block and these transactions will be returned to the mempool. The longest chain will be sent to all the nodes and it will overwrite the chains with the stale block.
  2. see 2.
  3. If only one block is confirmed this could end up being a stale block and then your transactions can return to the mempool.
1 Like

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

Each miner attaches their block to the blockchain, and that block is sent to network nodes. The transactions in that block are confirmed. This results in 2 different versions of the blockchain, which spread through the network. After more time has passed, another block will be added to the blockchain by a miner, with the miner adding it to the version of the blockchain which that miner has, at that time. As one or both of the two blockchain versions become longer, one version will be longer than the other version. The longer blockchain is the one with more proof of work, and not necessarily the one with more blocks. This system of defining the length of the chain prevents a miner from producing many easily made blocks (with easier problems to solve, and requiring less proof of work), and taking over the blockchain with a longer chain, but with less proof of work.

The network will accept the longer version of the blockchain (regarding more proof of work), and reject the shorter version. The transactions in the blocks of the rejected shorter version will be returned to the mempool.

What is a stale block?

A stale block is a block in a blockchain rejected by the network because that chain was shorter than a competing version of the blockchain.

How do stale blocks occur?

When more than 1 block is produced by more than 1 miner at the same time, or at very similar times, these blocks are added to the blockchain, and spread through the network. After more time passes, more blocks are added to 1 or more of these competing blockchain versions. The longest version of the blockchain is accepted by the network, and any other competing version is rejected. The blocks in a rejected version of the blockchain are called “stale blocks”. The transaction in such blocks are returned to the mempool.

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

Because an initial confirmation of a transaction might be in a block which is part of a competing version of the blockchain. Therefore the initial confirmation might actually not be complete, because it might be in a part of the blockchain which will later be rejected by the network. People often wait for 6 confirmations, to strengthen the reliability of the transaction’s confirmation, to a satisfactory degree. These 6 additional confirmations are 6 additional blocks added to the blockchain, after the addition of the block which the transaction is in.

1 Like
  1. The chain temporarily forks until the transactions are confirmed.
  2. Block that loses the race and drops and is forgotten.
  3. They are unused because they were not the block to succeed in getting the next confirmation into the chain.
  4. Reduces the odds of becoming a stale block.
1 Like
  1. they are both accepted by different closest nodes
  2. stale block is valid, but dropped block out of blockchain, because of “awkward double syncing” of blockchain which accepted 2 (or even more) similar blocks at nearly same time and the one, in shorter chain (not by number of blocks, but with less work engaged) is then dropped
  3. to be sure that block is not dropped
1 Like

when two miners solve a block at the same time each miner will write its version of the blockchain and when they get sent to the third block one will be dropped and one will continue

a stale block is a block that was rejected because another version of that block was created at around the same time but one shows more history on the blockchain

a stale block occurs when two miners mine the same block around the same time

it is important to wait for more than one block because sometimes the first block is dropped

1 Like

2 miners solve a block at the same time the longer block will be excepted and the other dropped

Stale block is block that was dropped for being shorter

Stale blocks occur when blockchain is shorter and the nodes keep on building on the longer one the invalidated block is dropped

You need to wait at least 6 confirmations to be sure your block is not dropped from chain

1 Like

1- Two different blockchain splitting occurs. Nodes select one of the blocks to add Tx’s. Blockchain continues from the longer chain. All Tx’s removed from the invalid block.
2- a stale block is, for a period of time validated by some nodes in the network besides one another block but eventually dropped due to next block added to another block.
3- let’s say there are 2 miners in the network adding Tx’s to block from the nodes. If some of the nodes make nonces to miner 1 instead of miner 2, they start 2 blocks at the same time. when the next miner, i.e. miner 3, chooses to add its block to miner 1’s block, then miner 2’s block become a stale block.
4- To make sure the previous block is valid, unless the new transactions will be removed if the recent block invalidated, due to another block started a chain with more difficulty or longer chain.

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    The blockchain splits in two block chains. When the third miner chooses one of those two chains, the chain with most proof of work will be considered as the true chain (most POW). The blocks that were solved with others chain POW will be cancelled and returned to mempool.
  2. What is a stale block?
    The block of the chain with less POW after the split of chain, and the one that will be moved back to mempool.
  3. How do stale blocks occur?
    Stale blocks occur when there is a fork in the network due to two miners solving the problem at the same time with different blocks and eventually the network rejects one of the blocks as new blocks have been mined without that in the chain.
  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    So that we make sure that our block is the part of the chain that will have bigger POW in case there was a fork done in the chain.
1 Like
  1. The chain forks temporarily and depending on the miner’s proximity to other miners, one version of the blockchain will be picked up and added to by the next miner and eventually the shorter chain will be dropped and all txs returned to the mempool

  2. A stale block is a block that was resolved by a miner at the same time as another miner but was not picked up in time to be included in the next block

  3. Because there can only be one version of truth and thus when two blocks appear simultaneously one must eventually be discarded/orphaned

  4. In case your tx was part of a stale block and was reverted to the mempool

1 Like

1.What happens in the bitcoin network when two miners solve a block at the same time?
A fork will happen and both blocks will be added to the network. It means both blocks will have the same previous blocks hash. After some time when new blocks are added to both the forked chain then the network will choose the longest chain depending upon the proof of work (large one) and will discard the other forked chain blocks and their transactions are returned to mempool where miners will choose them again for new blocks.

  1. What is a stale block?
    If fork happens then the network chooses the chain having done large proof of work and discard the other forked chain. The blocks which are on the discarded chain are known as stale blocks.

  2. How do stale blocks occur?
    When two miners solve a block at the exact same time. Then those both blocks are added to the chain or previous block . After some time new blocks are added to both forked chains. The network keeps the longest chain that have large proof of work and then discards the other chain. The blocks of the discarded chain are stale blocks which happens due to miners solving a block at exact same time.

  3. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    We should generally wait for 6 confirmation when sending or receiving a transaction because the block your transactions are in might get discarded as stale blocks and your transaction may return to unconfirmed stage.

1 Like
  1. The blocks will both be set on the blockchain but eventually the one with the shortest chain will be dropped (= stale or orphaned block). This one will be resend to the mempool.

  2. = a orphaned block
    = a block that was on the blockchain but not in the longest chain and therefor got dropped back into the mempool.

  3. see point 1

  4. To be sure that you tx is accepted by the blockchain and not dropped (= stale block)

1 Like

1, 2 ,3) If block A and Block B were mined at the same time, it would result in there being 2 copies of the blochcian across the bitcoin network. However, when a new block C is mined by a miner that had the copy of the blockchain with block A, block C will be appended to it, and will increase the length of the blockchain. Since the network accepts the longest version of the blockchain(based on Pow), everyone will agree on version A of the blockchain, and block B will become orphaned or stale, meaning that all its transactions will go back to the mempool.

  1. It is important since it prevents stale blocks from messing up the links of following blocks in the blockchain.
1 Like
  1. When 2 miners solve a block at the same time, a fork is created. Whoever’s block gets the most blocks at that difficulty level, will become the truth. The other one would return to mempool.
  2. A stale block is one that was put on a block but didn’t win a fork event and returned to mempool.
  3. Stale blocks occur by nodes picking up different transactions to process so that transactions are being verified on two different paths where only one path will be permanent. The other one becomes stale.
  4. It’s important to wait for few blocks to be confirmed so that you know there won’t be any fork situation causing your transaction to go stale.
1 Like
  1. Those two blocks will start to be added independently on the version of the network of the nodes closest to the miner who mined the particular block. The network will wait for confirmation of six blocks before consensus is settled and one of the blocks is officially recognized. The longest chain (the one with highest difficulty of blocks mined and therefore highest safety) will remain and the other chain disregarded (including the block competing to be added on the network with the winning block). The disregarded block is called stale block and all its transactions will return to the mempool.

  2. A valid block which was previously added on the version of the network of other nodes different to the miner of such block but was not in the longest chain chosen by consensus and is eventually disregarded by the network.

  3. Refer to question number 1’s answer.

  4. So the odds of blocks becoming stale blocks is minimized in great measure.

1 Like

2 versions of the block chain are created.

stale block is a blocked that was dropped from the network.

stale blocks occur when the 10min rule is violated or 2 miners happen to mine a block at the same time.

because your block might be dropped from the network.

1 Like