- The network will accept the longest blockchain with most proof of work done.
- Stale blocks are blocks that were in a blockchain at one time, but then got dropped due to a longer version of the blockchain.
- They occur when there’s two versions of the truth being produced and the block will have a shorter chain, so the stale blocks will be transferred back to the mempool
- This is to make sure that your block doesn’t get dropped and sent back to mempool, the best practice is to wait for 6 confirmations.
But why can this be an issue?
If the blocks were the same, this wouldn’t be a problem the blocks that get mined are different but both are valid.
Miners start over as soon as they realize they are mining on the loosing chain. Why would a user have to wait in case stale block occurs?
Do you mean transactions?
-
Two equally valid blockchains emerge. The chain which is added to next will ultimately become the source of truth.
-
A stale block is a block that was once in the blockchain, but has been dropped
-
A stale block occurs when there are two competing chains. When the next block is mined, it will be on either block A or B. If block A becomes longer, then it is accepted over B, and the competing block on B is dropped and its transactions re-enter the mempool
-
It is a good idea to wait for more confirmations to ensure that the block has truly been added into the chain. There is a chance that a block could later become stale after only one confirmation.
-
What happens in the bitcoin network when two miners solve a block at the same time?
Two separate blocks get added to the blockchain. -
What is a stale block?
It’s a block that was dropped in favor of a secondary same block that was part of the longer copy of the blockchain. -
How do stale blocks occur?
They occur from blocks that were mined by two miners simultaneously, then are its transactions are put back into mempool due to not being confirmed by the majority of nodes on the network. -
Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
Because if it doesn’t pass at least 6 confirmations, it can be dropped from the blockchain.
- Whichever block gets the most node acceptance will be the one that is permanently added to the blockchain. It’s a race to get the most nodes. The loser will be dropped and it’s transactions returned to the mempool.
- A stale block is the block that loses the race in question 1 above ie. The one that gets fewer nodes and thus not part of the longer chain.
- Stake blocks occur when 2 blocks are mined at the same time. Both have nodes accepting them. Yet the one with fewer nodes accepting will not win the race to be added to the continuing blockchain and thus breaks off and dies.
- Important to wait to ensure that the transaction you are waiting for will be part of the block that will be added to the main chain and not part of the block that is stale.
Doesn’t the mining start all over again if the transactions go back to the mempool?
Homework on Stale Blocks
- What happens in the bitcoin network when two miners
solve a block at the same time?
The rule is the longest block chain always win, so if a third miner (next miner that have a block with the completed crypto puzzle) will try to append his mined block to one of the two, the one that miner pics will be the new link in the blockchain.
- What is a stale block?I
it’s a dropped block or orphan block as the network desided to take another path when creating next block in the chain, the transactions in the dropped block are reverted back to the mempool for some other miner to pick up.
- How do stale blocks occur?
As two miners can try to add a new block to the blockchain at the same time, where only one can win and get the reward, the other block is then dropped and the transactions is put back in the mempool
- Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
As the longest blockchain wins, even if a miner append a new block to the blockchain it’s not fully validated until the next block is added to the last created. To be sure that a new block not will be an stale block is best to wait on at least 6 blocks appended after it.
Well, kind of the miners that were mining on the now stale block construct a new block on the winning chain and start over
Hmm, interesting argument. But what if the majority on miners are connected to less nodes?
-
the next block added at whatever blockchain will become the accepted one and the other blockchain will be dropped.
-
a block that is dropped beacause another blockchain has more poW.
-
when 2 or more blocks are propogated to the blockchain at or near the same time and some nodes have one type of blockchain and some nodes have another type.
-
so you could make sure that your block is not a orphan block.
If the block gets dropped, it will be as if the transaction never happened
- Only one of the blocks will survive on the “longest” version of the chain that was selected by the network.
- A block that was dropped by the network.
- When multiple blocks are calculated at around the same time some could be rejected by the network, becoming stale blocks.
- That way you make sure the TX was not part of a stale block.
What happens in the bitcoin network when two miners solve a block at the same time?
The network then chooses the longer chain of blocks of the two chains, or if both chains are of identical length, whichever of the two chains becomes longer first, once another new block is added to that chain. At that point the shorter chain of blocks is invalidated and all transactions in the invalidated chain return to mempool of nodes to then be added to new blocks to be mined again.
What is a stale block?
A block that was part of a chain of blocks chosen to be invalidated by the network due to a mining solving-collision with another chain of blocks containing one or many of the same transactions.
How do stale blocks occur?
Two blocks containing one or many of the same transactions are solved at precisely the same time in the network by two different miners, causing two legitimate confirmations of the same transaction(s). Since propagation across blockchain networks is not instantaneous, two blocks containing one or many of the same transactions can propagate through the network resulting in a collision of confirmations.
Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
To ensure that the block the transaction resides in is not part of a chain of blocks that is invalidated by the network due to being in the shorter chain of two chains of blocks that are involved in a solving-collision.
The longest Chain will win, the other Chain will be dumped to the Mempool.
It is a dropped Block that returned to the Mempool.
It occurs after a Fork, it’s the Block with the shortest Chain.
You have to wait for 6 Confirmations to be Shure that the Block will get accepted in to the Chain.
What happens in the bitcoin network when two miners solve a block at the same time?
Both are propagated to the nearest nodes, and onwards.
What is a stale block?
A discarded block.
How do stale blocks occur?
It is valid, but another version of the chain, with more PoW, has been chosen as the correct chain, hence dropping this block.
Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
You want to be sure that your transaction is in a block that is not discarded as stale. By waiting for more blocks, the likely hood of your block being stale decreases.
-
There will be two chains separated by how “far” from eachother the miners are in terms of internet-travel time. After some time however, the two chains will with high probability have different sizes, so the miners will then pick the longest chain as the true chain.
-
The blocks in the shorter chain above are called stale or orphan blocks.
-
It’s when two or more chains are produced before the miners have agreed on only using the longest chain. The blocks in the other chains are the stale blocks.
-
This is in order to make sure that the block that the transaction is included in is in the final version of the chain and not in a stale block.
maybe I should have said the block connected to the longest chain will win
-
What happens in the bitcoin network when two miners solve a block at the same time?
R: When two miners solve a block in the same time both block will be added to the chain creating two completely valid versions of the blockchain. Blocks only from the chain with most PoW will be accepted and the blocks from the shorter chain will be dropped and the transactions will be sent back to the mempool. -
What is a stale block?
R: Stale blocks are completely valid blocks that was dropped from the shorter blockchain. -
How do stale blocks occur?
R: Stale block occur when two miners solve blocks at the same time. That will result in two different version of the blockchainin which other miners will add blocks. At the end the chain with the less PoW will get dropped. -
Why is it important to wait for more than one block to be confirmed when sending or receiving a transaction?
R: This delay is important because a transaction can be in one of the stale blocks and will return to the mempool.