Homework on Stale Blocks

  • What happens in the bitcoin network when two miners solve a block at the same time?
    The two blocks are validated , two versions of the blockchain is on going

  • What is a stale block?
    A dropped block from the blockchain

  • How do stale blocks occur?
    Following the two versions of Blockchain when a new miner comes after he has to choose one of the two versions. The block from the uncommitted version of the blockchain is removed , it’s called the stale block

  • Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
    It’s the only way to be sure that the block is not dropped out in the meantime

1 Like
  1. Each of them will have their own version of blockchain and will be competing to get the next block faster.

  2. Block which gets invalidated and its transactions are returned to the mempool.

  3. When a longer version version of blockchain appears, the last block in the shorter version is invalidated.

  4. To avoid risk of the last block being invalidated and therefore securing that the transaction will remain valid.

1 Like

True. But what is the reason we have to wait for this to be resolved? :slight_smile:

1 Like
  1. the blockchain with more blocks accepted after that occurence is the block that the consensus rule makes them accept as the version of true.
  2. a block that is left behind because although previsously accepted by some as the true, was not accepted by the majority.
  3. Because you guarantee that as a global version of truth due the consensus algorithm
1 Like

1.the nodes closest to each miner picks up the block, the chain that is longest after the network confirms wins, the other block is discarded.
2. stale block is a block that is not in the longest chain
3.see 1 answer
4. reduces the probability of having a stale block

1 Like

What do you mean? Is a stale block part of the consensus?

What about the 4th question? :wink:

1 Like

But why is this important from the user perspective that send/receive a transaction? :slight_smile:

1 Like

I think it also helps validate your transaction, the more confirmation there is the higher the probability that your transaction is secure, valid and complete.

1 Like
  1. Both of them broadcast their own new block through the network. Due to propagation delay some nodes will receive the new block from miner M1 while some other nodes from miner M2. In that case two version of the truth (the blockchain) start to coexist until a new block will find and attached to one of the two chain’s branches.
    “There is only one version of the truth”
  2. A stale block is a block, previously attached to the blockchain, dropped by the network because belonging to the shorter version of the blockchain.
  3. When two or more blocks are mined at same time and broadcast through the network, could come out different version of the same blockchain. Since has to exist only a version of the truth, each next block must be attached along one of the different branches. Once the longest version of the blockchain is choose by the network all the blocks belonging to other branches are dropped.
  4. Since each miner can choose which transactions put into a block we are not sure on the fact that our transaction will be inserted into a block that will be part of the longest chain. This is why it is important to wait until at least 6 blocks are attached to the one that contain our transaction. This ensure us that our transaction is into a block that belonging the longest chain
1 Like
  1. If two miners solve a block at the same time the block with the longest chain will stay and the block with the shorter chain will then become a stale block. The transactions in that block will then be moved back to the mempool.

2.Stale blocks are blocks that were once in the blockchain at one point but were then dropped.

3.A stale block courts when two miners both complete a block but one grows in length while the other becomes stale and the is dropped. And all the transactions are then moved back to the mempool.

4, It is better to wait for 6 blocks to be confirmed when sending and receiving a transaction. This avoids a a block being dropped and becoming a stale block.

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
    If two miners solve a block at the same time, only one of them will remain. This one will be the longer block determined by proof of work. The losing block will be removed and become a stale block. All transactions inside of a stale block will be sent back to the mempool.
  2. What is a stale block?
    When two blocks are produced at the same time, only one of them wins and is accepted by the network. This block wins because it is the longest in terms of proof of work.The other block will become a stale block and be removed.
  3. How do stale blocks occur?
    Stale blocks occur when two miners solve a block at the same time. The block that is the shortest based on proof of work becomes the stale block.
  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 to be confirmed so that you know that your transaction is not on a stale block. The rule of thumb is to wait for 6 confirmations. Waiting 6 confirmations basically ensures that your transactions are on the accepted network and won’t be returned to the mempool.
1 Like

What happens in the bitcoin network when two miners solve a block at the same time?
Ans - When two miners solve a block at the same time , eventually one one will win and other will go back to mempool . The block in the longest chain will win eventually .

What is a stale block?
Stale block is the completely valid block in the blockchain which was dropped and sent back to mempool just because there were another version of blockchain without having that block in it .

Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
Ans - Its important to wait for more than one block to be confirmed when sending and receiving transaction just to make sure that the block in which our transaction is present are being completely accepted in the blockchain without having chances of staled .

1 Like

Do you mean one of the two blocks has more PoW? Aren’t they the same since they were mined with the same difficulty?

1 Like

What I meant was the block that wins has the longer chain of pow because the network always chooses the longer chain. It’s not block vs block but chain vs chain.

1 Like

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

The chain forks temporarily then one block will be removed and all the tx of the removed block will be returned to the mempool.

What is a stale block?

It is block which no longer are part of the current best blockchain.

How do stale blocks occur?

Miners mining the same block at same time, and another miner chooses block over the other. The removing block is the “stale block”.

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

Reducing the odds of occur stale block.

1 Like
  1. Both of the blocks get accepted and you now have 2 blockchains.
  2. A stale block is a block that was validated at one point but then it was dropped.
  3. A stale block occurs when like in question 1 there are 2 blockchains then eventually someone solves another block and adds it onto either of the blockchains now that blockchain will be longer than the other one and the block on the shorter one will become stale.
  4. Because you never know if your transaction will be written on a block that can potentially become a stale block.
1 Like

1. What happens in the bitcoin network when two miners solve a block at the same time?
there will be for a short time two chains existing since two groups of miners might see a different block as the last one of the respective valid chain - it leads to two branches of the chain. the miner who first confirms a new block on one of the two branches makes the previous block of this chain the official block and the other one will be rejected.
2. What is a stale block?
the block which will be rejected because it sits on a branch of the chain which will not be further build upon (= dead branch).
3. How do stale blocks occur?
when two blocks are finished at the same time and for a short time two chains exist. the stale block is the one which is the “unlucky” one because miners simply first finish new blocks on the other chain. the stale block is not bad, wrong or contains wrong data, the block simply lost the race for the next block.
4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
the more blocks are confirmed after the block where your transactions is contained the harder it is to hack/change this block of your transaction. waiting 6 confirmations (= blocks) is considered as practice to be sure that the transactions is finite. after 6 blocks it becomes practically impossible that sth will be changed (due to the high amount of energy needed). however one block confirmation already prevents you that the transactions will be rejected because it was on a stale block. 6 block confirmations is simply saver.

1 Like
  1. What happens in the bitcoin network when two miners solve a block at the same time?
  2. What is a stale block?
  3. How do stale blocks occur?
  4. Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
  1. The one with the next block attached will survive and the other will be removed from the network. (The blocks with longer blockchain and more difficulties will be chosen by the network.)
  2. A stale block (Orphaned block) is the block which did not attached to the next block and dropped.
  3. When two different miners produced a block at the same time only one of the blocks will survive, and anther one will eventually have to be removed from the network.
  4. A case like stale block can occur and your confirmed transaction can be returned in such case. It would take more time for confirmation and might causes congestion on the network. The best practice is to wait for 6 confirmations to avoid this.
  1. What happens in the bitcoin network when two miners solve a block at the same time?

Both blocks are added to the chain but eventually the network will accept the block that is part of the longest chain - the chain with most PoW. The block that is dropped will have its UTXOs returned to the mempool.

  1. What is a stale block?

A stale block is a valid block - valid nonce with valid UTXOs - but has been dropped from the blockchain as a competing block was part of a longer blockchain and has thus been chosen as the single source of truth.

  1. How do stale blocks occur?

Two miners mine two blocks at the same time which creates a fork. The stale block is on the shorter chain

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

Your UTXOs may be part of a block that becomes stale. Waiting for 6 blocks is recommended.

1 Like

Why is this important from the users perspective that sends or receives a transaction? :slight_smile:

1 Like