Homework on Stale Blocks

1.- Only one of them will be confirmed and subsequently appended to the Blockchain.

2.- Is a block that did not evidenced sufficient PoW as a competing block.

3.- When a block does not receive the required 6 confirmations from the network and therefore is dropped within the 10 minute time-frame.

4.- To ensure efficiency of the network and reducing thus the number of stale blocks. It is also a synchronization mechanism of the network.

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

Answer:
The network will accept the longest blockchain, the blockchain with the most PoW (proof of work)

  1. What is a stale block?

Answer:
Stale Blocks are blocks that were in the blockchain at one time but then got dropped because of another version of the blockchain that is simply longer.

  1. How do stale blocks occur?

Answer:
When you have 2 versions of the blockchain compete and one of the versions of the blockchain that is simply longer will win, the losing chain will then be dropped
Causing the blocks in that chain to be Stale Blocks.

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

Answer:
You might have a confirmed transaction, but for best practice, you should wait for 6 confirmations after your block.
It might be the case that your transaction is in a transaction that might be dropped because of another block with a longer chain, which will result in your block being invalid.

2 Likes

1.) If 2 miners solve a block at the same time, the network will wait till the next block is solved and continue forward with the longer chain of blocks solved so the other block(s) will be rejected and the TX’s will be returned to the mempool.

2.) A Stale block is a block that was included in the chain that was shorter, (as above mentioned) and all the TX’s in that/those blocks will be returned to the Mempool. (AKA a Fork in the chain.)

3.) When 2 miners solve a block at the same time but are using different Nodes, (So when the nodes update with one another they realize they have 2 versions of the Blockchain and both are true.) The network waits to see which Blockchain will be next to solve another block 1st to decide which version of the Blockchain to continue forward with. The Network always chooses the longest chain of verified blocks.

4.) It is important to wait for more blocks to be solved/created before confirming a transaction to make sure that your transaction was not somehow included in one of these Stale/Orphaned blocks because if you are included in one of them your transaction will end up being rejected and returned to the Mempool.

1 Like
  1. when two miners solve a block at the same time, then there will be two versions of block chain in the network. Eventually one of them will be accepted by the network ( the longer one after new blocks are added ) and other version will be rejected by the network.

  2. A stale block / orphan block is a block which was there in the blockchain for some time but gets rejected while longer version of the block chain is accepted by the network. All the transaction in a stale block will go back to mempool.

  3. Stale block occurs when two miners add two different blocks to the chain at same time. both of the newly mined blocks will remain in the network in two different version of block-chain. After addition of new blocks the longer chain will be survived in the network and the shorter version of the blockchain will be rejected. Then all the newly added blocks in the shorter blockchain which are not common with the longer ones will become stale block.

  4. Because there is a possibility that more than one version of blockchain exist in the different parts of the network. In that case a newly added block in one version of block chain may gets rejected if the other version of blockchain forms longer chain than this block chain after addition of new blocks.

1 Like
  1. Both are valid blocks and the nodes in the network can accept either block, but not both at the same time.
  2. A stale block is a valid block which has been appended to the blockchain but eventually has been dropped and discarded from the chain.
  3. When 2 miners append a block at the same time, the network now has 2 chains / versions of truths. Since the bitcoin network follows the rule of the longest chain, the next block (the 3rd block) will determine which chain will be accepted and which block to drop.
  4. Since the transaction is not 100% confirmed after just 1 block it is recommended to wait for 6 more blocks to be mined before being sure a certain transaction has occured. If you wait for only 1 block then that block may be orphaned and your transaction may be dropped. 6 block confirmations is not a guarantee that your transaction occurs, however it is extremely improbable that it does not.
1 Like

Stale and Orphaned Blocks

In the case where two miners solve a bock puzzle at the same time, two versions of the blockchain are temporarily constructed. As each miner begins to propagate the other nodes with its version, there will result in a competition to see which node can create the longest chain in terms of difficulty of POW. Eventually one version of the chain will propagate and be accepted faster or with higher level of difficulty, and that chain will win and be appended to the chain. The result is that the other version of the chain will be rejected by the network, and the losing block and its resulting chain will be dropped.

This “Orphaned” or “stale” block will be invalid, and all the transactions within this block will be invalidated. This highlights the necessity to wait for six confirmations, allowing enough time to ensure that the transactions are in fact sufficiently confirmed and validated. If enough time is not allocated to await the “official” confimations and resulting appendage the transaction to the blockchain, the transaction might, in fact, fail, thus never being "officially confirmed.

1 Like

What happens in the bitcoin network when two miners solve a block at the same time? There will be a fork in the blockchain, where it is split into two different directions.

What is a stale block? It is a block that previously forked, but was later orphaned as a result of a longer chain forming and put back into the memepool.

How do stale blocks occur? A stale block occurs because it was left behind because a longer chain was formed that was established in the network.

Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction? This ensures that the block that your transaction was captured in is retained within the blockchain.

1 Like
  1. Nodes close to each respective miner broadcast different new blocks and move on to solve the next block causing a fork. This is resolved once the next blocks are mined. Nodes will ultimately accept the blockchain with the greatest POW or longest chain. The other chain will be rejected and transactions unsuccessful will reenter the mempool.

  2. A stale block is the block that was created at the same time as another, however the competing blockchain has greater POW and the stale block becomes rejected by the network.

  3. A stalr block occurs when 2 miners solve a block at about the same time.

  4. These accidental forks can take multiple blocks to resolve itself in the blockchain. It is best for 5 or 6 blocks to be confirmed before confidence the transaction has executed.

1 Like

6 confirmations is a rule of thumb its not a requirement. Each subsequent block mined is another confirmation therefore 6 confirmations last about an hour (10 min * 6). The reason a user is recommended to wait that long is to make sure his transaction is indeed on the right chain and that the block containing the tx won’t get dropped. :slight_smile:

1 Like
  1. At random one block will be accepted and the other will be orphaned and transactions will be put back in the mempool.
  2. A block that has been removed from the chain because another block was selected to be validate the following blocks.
  3. To make sure that the transaction is not on a Stale block.
1 Like
  1. the chain forks out momentarily

  2. the block that was dropped back into the mempool because another block that was produced simultaneously was part of the longer chain

  3. after the blockchain forks out momentarily, the block of the shorter chain drops out and becomes a stale block

  4. to avoid stale blocks

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    the block on the longest chain is verified and the other block is discarded or orphaned
    **2. What is a stale block?
    A block that gets rejected and gets sent back the mempool
  2. How do stale blocks occur?
    when two miners mine a valid block at the same time
  3. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    to make sure the longest chain wins and concensus is settled
1 Like
  1. They would create and append two different block to the network, making two versions of the blockchain competing with eachother.
  2. A valid block that is after network synchronization dropped out due to lesser length.
  3. Nodes and miners get the latest version of the blockchain from their closest nodes/miners and hence there’s going to be some time needed for the entire network to get synced. Meanwhile waiting for an update from another node/miner from some other part of the network, another part may carry on with mining blocks based on their latest version of the blockchain.
  4. To make sure that the transaction is not a part of a stale block and is registered on the blockchain with newer blocks added to that chain.
1 Like
  • What happens in the bitcoin network when two miners solve a block at the same time?
    Both are distributed into the network but the one what has more proof of work will be accepted and the other block dropped
  • What is a stale block?
    A block dropped from the network
  • How do stale blocks occur?
    When 2 miners mine the same block at exactly the same time. Then one is dropped by the network
  • Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    To reduce the amount of stale blocks
1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    In this situation essentially two blockchains exists. It depends then on the next block which
    chain will continue to exist.

  2. What is a stale block?
    A stale block is a block that stops to exists because the network decided that the longer
    chain is valid. A stale block or orphaned block will be returned to the mempool.

  3. How do stale blocks occur?
    When two blocks are mined at the same time and the network concluded that only one will
    be valid in the future. The other one is the stale block.

  4. Why is it important to wait for more than one block to be confirmed when sending or
    receiving a transaction?
    In order to reduce the risk that two blocks are appended to the blockchain at the same time.

1 Like
  1. In that scenario, they both add their blocks to the blockchain. The nodes near each other will have a slightly different version of the blockchain.

  2. A stale block is a block that has been dropped from the blockchain, probably because it belongs the the shortest blockchain version.

  3. Stale blocks occur when two miners mine a block at the same time.

  4. Just because that block could be added into the shortest version of the blockchain and therefore will be dropped from it. Best practice is to wait for 6 confirmations, meaning that 6 more blocks were added and it is now certain that the block will not be dropped.

1 Like

They are absolutely not random. There are precise rules in place that take care of these issues when they arise. Nothing in the blockchain is random (except the private key).
The rule that takes care of this is called the longest chain rule :slight_smile:

1 Like

Waiting does not solve anything :wink: but why would this be important from the perspective of the user that is trying to send or receive a transaction?

1 Like
  1. The chain forks
  2. a block that is ultimately not accepted for the greatest proof of work chain and the transactions of which are returned to the mempool
  3. if blocks are generated simultaneously
  4. to assure that the transaction does not become part of an orphaned block
1 Like
  1. One of the two block will be orphaned.
  2. A valid block that has been dropped from the blockchain.
  3. When two blocks are confirmed at the same time.
  4. So you make sure that your TX hasn’t been dropped.
1 Like