Homework on Stale Blocks

  • What happens in the bitcoin network when two miners solve a block at the same time? Both blocks are put on the chain and both blocks propagate to other nodes. The block that gains a subsequent block first wins, as it becomes the longest chain and therefore the one most-trusted. The block in the shorter chain gets nullified by sending the transactions back to the mempool.
  • What is a stale block? A stale block is a block that did not WIN when 2 blocks get appended to the same blockchain.
  • How do stale blocks occur? Stale blocks occur when 2 valid blocks get posted to the blockchain, but one block gets a block appended to it and the other doesn’t get a block. The one that doesn’t get a block gets Stale, as it becomes the shorter, thereby the less trusted chain.
  • 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 and up to 6 blocks to ensure that your first accepted block does not become stale and therefore your transaction redistributed.
1 Like
  • What happens in the bitcoin network when two miners solve a block at the same time?
  1. One gets dropped/orphaned and one gets confirmed as the longer chain.
  • What is a stale block?
  1. It is a block that is confirmed but dropped/not accepted by the network possibly due to being mined too quickly to where another block has more node confirmations when the 10 minute update happens.
  • How do stale blocks occur?
  1. Stale/orphaned blocks occur when other miners have accepted another block confirming the same nodes and that other block is recognized as being the longer chain. Stale blocks vanish and nodes update with the longer chain block data.
  • Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
  1. To be sure that your block isn’t orphaned when the nodes update. 6 is the standard for confirmations however some exchanges my use less or more.
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    If two miners solve the hash at precisely the same time then the miner with more network connections to the bitcoin network or other criteria will get accepted by the network first. One will become accepted by the network and the other will be discarded.
  2. What is a stale block?
    A block that is part of an alternative branch in the blockchain and doesn’t belong to the longest chain. Stale blocks occur when the blockchain forks, but another competing block at the same height ends up parenting the new longest chain.
  3. How do stale blocks occur?
    when a block previous (parent) hash field points to an unknown block , meaning the orphan can’t be validated)
  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    One confirmation usually takes up to 10 minutes. But, since one confirmation is not enough to be confident about the validity of the transaction, users have to wait for each new block to be created and verify the information. Depending on the amount being sent, this may take anywhere between 30 to 600 minutes. Ten hours is a long time to wait for a transaction confirmation!

1.They both try to propagate the hash so other miners can start mining on that
2. Blocks which were successfully mined but were not included on the current blockchain because another block were mined at the same time but it had its chain extended first.
3. when the new block has being propagated through the network at the same time of another one, without knowing that another one exist.
4. It is importanto to wait until 6 confirmation to make sure that the new block is not a stale one or an orphan.

1 Like

Both blocks will be appended to the blockchain. But when a new block is mined, one of them will be rejected by the network.

A stale block is a block that is being dropped by the network because the longer chain is established on the other block that was mined at the same time.

Two blocks are mined at the exact same time.

To give time to the nodes to verify blocks and establish a longer chain, just in case there is a stale block created on the network. If there is a stale block, the transactions of that block will be returned to the mempool.

1 Like
  1. You get two chains, meaning two versions of truth. Until one of those chains get a new block faster than the other, both chains are valid.

  2. A block from one chain that was dropped because another chain has become longer.

  3. Because for a little while, there were two valid blockchains because miners solved a block at the same time. Eventually one of those chains becomes the longest chain and therefore the only version of truth, and the unique blocks from the losing chain will be dropped.

  4. Because such a fork can happen, and your tx may be in a stale block.

1 Like
  1. Until a 3rd miner adds his new block there will be two versions of the truth on the blockchain. The version with the most PoW (the longest chain) will be continuing and the smallest chain will be dropped.

  2. Stale blocks are blocks that once where on the blockchain but then got dropped because of an other (longer) version of the blockchain.

  3. Stale blocks occur when two miners have produced their new blocks at the same time and propagating them through the network.

  4. It’s important to wait for six block confirmation in case the block that has our transaction gets dropped and our transaction goes back to the mempool.

1 Like
  1. Longest Chain of blocks wins and the other gets dropped…stale or Orphaned.
  2. A block that is put in the Mempool because it was on a shorter chain or because less POW.
  3. Being dropped because of a 10 minute rule during the 6 confirmations
  4. Tx could be left orphaned or stale if there are less than 6 confirmations

  1. Both blocks are accepted to the network .
  2. Blocks which were successfully mined but which aren’t included on the current best block chain, likely because some other block had its chain extended first.
    QUESTION… Ivan mentioned Orphan block as well … I did found information that there is actually a difference and confusion between the definition. Orphan block is a block whose previous (parent) hash field points to an unknown block, meaning the orphan can’t be validated… How correct is this opinion ?
  3. Stale block its a block that was dropped and not accepted to the main chain . Its simply submitted to late when rest of the network moves on to the next block .
  4. To make sure you are sending transaction on correct main chain … Its a confusing question …
  1. When two miners solve a block at the same time, the blockchain can continue on both blocks, but eventually the longer blockchain will be kept and the shorter will be discarded, sending it again to the mempool.

  2. A stale block is a block that has been dropped to the mempool in favor of the longer blockchain.

  3. A stale block occurs when a fork in the blockchain is created and the shortest branch of the chain gets dropped or eliminated and sent to the mempool, these blocks become stale blocks.

  4. It is important to wait for more than one block to be confirmed when sending or receiving a transaction just to be sure your transaction is not on a stale block and gets sent back to the mempool.

2 Likes

1. What happens in the bitcoin network when two miners solve a block at the same time?
When this situation occurs, they the newly created Blocks will “wait in paralel lines” to be added to the Blockchain. In the same time, the Blocks are being propagated to the Miner’s closest Nodes.
The Block that will have more Blocks after, a longer chain, will be accepted in the Blockchain.

2. What is a stale block?
The Block that wasn’t accepted inside the Blockchain and had its TXs send back to the Mempool.

3. How do stale blocks occur?
There are situations when different Miners create Blocks in the same time and the newly created Blocks starts to be propagated to the Miners closest Nodes. In this situation the Blocks wait to be added to the Blockchain. However, only one Block will be added to the Blockchain. The Block that has more Blocks after it will be accepted to the Blockchain. The Blocks that weren’t accepted to be added to the Blockchain are called Staled or Orphaned Blocks.

4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
You need to have 6 confirmations. The confirmations are being represented by the newly added Blocks after the Block your transaction is inside.

2 Likes
  1. The blocks will be added to the blockchain. We have then two last blocks. Now it belonged to the next miner to choose from which block the blockchain will go forward.
  2. A stale block is one block from the solved blocks in the same time which was not choosen from the next miner. The blockchain will not be extended after this block the block is stale and the tx goes back in the mempool.
  3. If your transaction is in a stale block they will be send back to the mempool. It will be confirmed later.
    It is smart to wait 6 confirmation means 6 blocks later to give the system time to deal with stale blocks and update all notes.
1 Like

What happens in the bitcoin network when two miners solve a block at the same time?
The chains of the two miners gets propagated through the network and there will be competition between the two chains. One of the chain will get dropped and the other will be accepted. The accepted chain is the chain that got the most proof-of-work.

What is a stale block?
A block that has been dropped by the network. All the transactions inside the block goes back into the mempool only it is not present inside accepted chain.

How do stale blocks occur?
It happens when mined block does not propagate fast enough through the network before another mines the same block.

Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
To avoid that your transaction gets dropped by the network.

1 Like
  1. The longest block will win and the shortest will be orphaned or dropped. All transactions are returned to the mempool.
  2. A stale block is a dropped block, it was dropped because another block that was produced at the same time was longer.
  3. When 2 miners solve different blocks at the same time only one can be accepted that is the longer chain of blocks the other block is dropped and this is called a stale block.
  4. It is important to wait for 6 confirmations just incase the block your transactions are in are dropped.
1 Like

I don’t understand what you mean by ‘nodes mempools at the areas…’ Ect.

When a block is created, it already took transactions from the mempool and broadcasted this block to the network. So you can forget the mempool for a moment.

If 2 miners solve and propagate a block at the same time, you currently have 2 versions of the blockchain. Then it all depends on wich of those 2 blocks the next miner mines a new block on top (wich will become a longer chain than the other version) the losing block will go extinct and dropped from the network. (stale block)
all transactions from this stale block that were not included in the winning block will go back to the mempool.

Orphan, Stale and Uncle blocks in Blockchain explained

All these networks such as Bitcoin, Ethereum, Litecoin, Dash, Monero are distributed and there are miners all over the world. To understand uncle, orphan and stale blocks we must first understand how Blockchains work and how the blocks are produced in first place. A Blockchain is a formation of growing chain of blocks that records various transactions occurring on the blockchain. So how are all these blocks created and becomes part of the blockchain?

This is how it works: First all the unconfirmed transaction goes in to the Mempool. Then miners pick all these transactions, add it to the next block, mine it and compete with rest of the participants of the blockchain. The miner that wins; that is whoever that produces the Proof of Work solution the fastest will get their block added to the blockchain. For embedding a new block in the chain the miner will be rewarded based on the scheme.

Okay, so what happens if two or more miners solve the puzzle at the same time or almost simultaneously? Two different blocks that are totally valid to be the next block in the blockchain. However only one block will be accepted and the other has to be discarded. So which will be the successful block and which will become a stale, uncle, or orphaned block. It all depends on who mines the next block and it is not deterministic. Just keep in mind that the longest chain always wins in this kind of situation. So what causes the chain to split or duplicate blocks to be created? The cause of uncle, orphan or stale block are mainly due to network configuration or network lag or latency. Also as we said there is a big difference between them and we’ll see it one by one.

Stale, uncle and orphan blocks

Orphan Block / Orphaned Blocks

As the name suggests orphan is a child with no parent. In Bitcoin an orphaned block is a block that is not accepted or not part of the longest chain. It usually happens when two or more miners solve a block at a similar time. Just like any other blocks; orphan blocks are legitimate, verified, valid and it was originally accepted by the network at one point of time. However since they are no longer active and there is no known ancestor they are rejected from the actual blockchain. Orphan block can also be called as detached blocks as it is segregated from the main network.

So how does the network determines which block is valid and which to orphan? A block that has a greater Proof of Work will get accepted and the one with the lower share of PoW will be discarded. As a result the miner that is responsible for the orphan block loses their reward. In the Bitcoin blockchain network every day there will be few blocks that will get orphaned. Also note that a blockchain network with more orphaned blocks could potentially lead to dangers like 51% attack or double-spend attack.

Orphaned block

Stale Block

Most miners think Stale block and Orphan block are both the same. No, they are not and do not confuse them. Orphan block are blocks on the shorter chain and as its parent is not known it cannot be validated. Stale block is totally valid and it’s a successfully mined block but they are not active and is not included in the current blockchain.

stale block

image source: https://medium.com/@blockchain101/confirmation-times-stale-blocks-reverse-transaction-double-spending-and-the-51-attack-in-simple-bd65a32d32b3

To grasp this you must know this basic principle. If the Bitcoin network is presented with 2 different versions of blockchain the longest chain is the preferred version and the smallest chain will be rejected. Also in any given network the longest chain is the valid one and it is the king. That is where the majority of miners will be working on. At any time you or your pool may fork the network and with the higher hash power the main chain will overtake the side chain. Now the miners who continue to work on this block are called mining on stale block. Stale blocks are nothing but old blocks that are already discovered or mined. So anyone working on stale block is not eligible for rewards.

Uncle Block

Now Uncle block are similar to orphan block in Bitcoin but there are some differences. To understand the concept of uncle block consider blockchain as family tree. You, your Dad and his Dad are like “correct” blocks that forms the blockchain. Uncles are closely related to the family and they have their weightage as they are the “correct” next block in the blockchain. However they are not included in the longest chain.

In Ethereum network as well as other Ethash coins a Uncle is called as a block. So what’s an Uncle block or Uncle in Ethereum mining and what’s so significant about that. Ethereum protocol is designed in such a way that it encourages miners who find these uncle blocks (orphan). Why is that? In Bitcoin as we said the longest chain is the king and it is the main chain. However in Ethereum the heaviest chain is the main chain and these uncle blocks is what makes the chain heavier.

Due to faster block times in Ethereum there would be a lot of orphaned blocks and it will make the network ineffective. Instead of rejecting them the references of uncle block are stored in a new field in the header of each block. For this purpose the Ghost protocol solution from Ethereum incentivizes miners for finding uncle blocks. These uncle blocks contribute to the chain security and it additionally reduces the probability of potential 51% attacks.

Hope it helps!

Source:
https://coinguides.org/uncle-orphan-stale-blocks/

2 Likes

It has nothing to do with the speed of mining.
A stale block is a valid block accepted by the network, but because another miner at a different location, also successfully mined a valid block at the same block height. (so each miner successfully mined a new block on top of the same latest known block) there will be 2
Valid versions of the blockchain (fork). Then it all depends on wich if those 2 valid blockchains the next miner mines a new block. This chain will be longer than the other chain, because a new miner added a block on 1 version. The other block goes extinct and becomes a stale block. All transactions that were not included in the new block, will go back to the mempool

1 Like

You can watch a block explorer and see the latest blocks. Or watch your transaction on a block explorer (copy your transaction ID and paste in a block explorer) and watch how many confirmations it has. The number of confirmations means how many blocks are mined since your transaction in appended in the blockchain. If you see for example 6 confirmations, it means that there are 5 more blocks mined on top of the block containing your transaction.

I searched for another video for you about this matter:

What are Orphan blocks

Stale blocks explained by Ivan on Tech (couple years ago)

A stale block was accepted and confirmed, but because another block was successfully mined at the same time, only 1 of them will stay. (depending on wich of those 2 blocks the next miner successfully mines a new one wich will make it a longer chain)

  1. Two versions of an accepted blockchain exists until a longer stronger chain is made and the shorter weaker chain is rejected.

  2. It is a block that once was on the blockchain but then in some time that chain got rejected and so did thatblock.

  3. 2 miners mine a block at the same time, 2 versions of blockchain exist. Then one chain gets another block added and it is longer then the other one and computers(nodes) accept it as the true one and reject the other shorter one. And at that moment a block that once was on the chain is rejected after all and returned to the mempool.

  4. Because there is a possibiliy that somewhere another blockchain is existing and it is longer than the one your transaction is in and it may get rejected and returned to the mempool.

1 Like