Updates & Forks - Discussion

The transactions that are common in both blocks don’t get back into the mempool because they are already confirmed and if they would be sent again they would be considered invalid because the UTXOs are already spent.

In case of a hard fork the values exist on both chains so you basically have doubled your amount of coins that you can spend on both chains. :slight_smile:

2 Likes

@filip

Bitcoin Accidental Fork

When the network chooses the top chain because it is longer, what is the mechanism that the nodes use to discard a block and then replace it with the correct one?

How do they synchronize themselves to the winning chain?

Not sure what you mean. The mechanism is that they drop the block that they has as the truth at the moment and return transactions from that block back to the mempool and accept the longer chain. :slight_smile:

1 Like

Let me ask it this way (based up on the picture above):

How is the lower chain made aware that

  1. it’s block 5 and onward are invalid

  2. here is the correct block 5 and onward to use

Does the lower chain get only the correct block 5 from the upper chain and then calculate the rest of the blocks or does it sync from block 5 on from the upper chain?

Hello Filip,

In the video you discussed accidental forks, you mentioned something about the location of nodes and miners. In regards to an accidental fork, how important is it that nodes are placed near each other to propagate a desired transaction? I ask because I am thinking of a situation where a the majority of Miners are located closer together than other miners, wouldn’t that compromise the integrity of the blockchain network?

I hope I am getting my question across correctly.

1 Like

The chain is just blocks of data its not aware of anything. Full nodes always download the entire chain and they do that based on the longest chain rule.

If both blocks have the same PoW, they are both accepted because they are both considered valid at the time. :slight_smile:

There are a lot of parameters that influence how blocks get propagated through the network one of them being distance. One of the reason block time was implemented is so that blocks have enough time to propagate to most nodes in time.
If miners would be geographically located close together it would be an issue, but not because of block propagation, that would still function fine. The problem would be that mining power would be concentrated on a single place like for example a single country it would mean the network is centralized. :slight_smile:

Okay, thanks for the clarification.

I understand. Thank you for this clarity. Will we discuss the parameters of block-propagation in a course? It sounds interesting to me.

Are there any rules in the bitcoin community to combat the potential of proximity of miners?

Unfortunately no the P2P protocol in Bitcoin is quite low level stuff, might be interesting to describe it in the future in Bitcoin 201 maybe :slight_smile: you can fund resources about it online, but must of them are quite technical.
https://developer.bitcoin.org/devguide/p2p_network.html

Not really, this would probably require some sort of mapping of nodes and some of them use Tor relaying so its hard to determine where exactly some nodes are located. Also a majority of miners could be connected to one node so you would have to limit that node which would ruin the point of decentralization.

1 Like

I came here for this too! haha

what happens with the block reward when a block is dropped?

It gets dropped like any other transaction. Block reward is usually the first transaction in a block called a coinbase. :slight_smile:

1 Like

The blockreward is unspendable for 100 blocks, just in case your block becomes a stale block.
So the coinbase transaction needs to have 100 confirmations before you can spend it.

2 Likes

Hi Filip, not sure the conclusion of a Hard Fork in your video “Hard Fork”, when occurs a Fork when one chain have a block of 2MB and the other chain continuous with the 1MB rule, and less of 1% says that the 2MB is invalid, we will have 2 chains for ever?, if yes, in Bitcoin Blockchain we have parallel chains generated by this forks?

1 Like

Yes, it has happened a few times in history. One of the most well known today is Bitcoin Cash. :slight_smile:

3 Likes

Who actually decides on the new updates to consensus rules or can anyone propose a change? How do miners actively agree/disagree to the update or does it happen on its own? And who votes, the miners or anyone who has a node on the blockchain?
It would be great if someone could clear this up, cheers

1 Like

Updates get proposed by the community on the bitcointalk forum. The proposal then moves to BIP (Bitcoin Improvement Proposal) which is a design document that gets further discussed and if accepted it eventually gets implemented.

You either agree with the update or don’t by upgrading your node (or not) to the new version. When the update activates your node will start accepting the updated consensus rules. :slight_smile:

3 Likes

Ah, makes sense. Thanks :grinning:

1 Like

Hello! I had a question about this as I remember learning about the longest chain and the one that does the most proof of work will win which that means the blocks that lose will be added back to the mempool and be a failed transaction. So if thats the case then how are forks created from having 2 blocks at the same height if there can only ever be 1 winner and the loser will be added back to the mempool? I have only watched the OverView of Forks but I’m not sure if that will be discussed so I thought better to ask this now incase I get confused and hopefully someone can help me with this and if not hopefully the future videos will help me understand this. Thanks :slight_smile: