Updates & Forks - Discussion

A hard fork is when nodes of the newest version of a blockchain no longer accept the newest version of the blockchain; which creates a permanent divergence from the previous version of the blockchain. Adding a new rule to the code essentially creates a fork in the blockchain: one path follows the new, upgraded blockchain, and the other path continues along the old path. Generally, after a short time, those on the old chain will realize that their version of the blockchain is outdated or irrelevant and quickly upgrade to the latest version. You donā€™t need a certain percentage to fork.
you can fork the bitcoin blockchain on a certain blockheight and it will basically copy the history and utxoā€™s ect. so If you own 5 bitcoin before the fork happened, you will also have 5 bitcoin of the new forked version of the Blockchain. If you didnā€™t changed rules on the mining part, The difficulty will adjust to have an approximately of 10min blocktime.

3 Likes

Just to be clear for @TokyoCrypto, I think you meant to say:

A hard fork is when nodes of the legacy version (i.e. prior to the update) of a blockchain no longer accept the newest version of the blockchain (i.e. the one thatā€™s implemented the new protocol with the expanded rule set) :wink:

I think this would depend on the % that implement the hard fork and also on other market factors. I suspect that if the vast majority implement the hard fork, then what you say is much more likely to happen. However, when Bitcoin Cash hard-forked, Bitcoin didnā€™t end up deciding that it was no longer relevant and outdatedā€¦

Yes, that sounds right ā€” however, I think the %s will affect what happens after the hard fork, and the likely success of either chain.

In terms of % adoption, I think the important thing to note is that with a hard fork 100% of the miners need to implement the new rules in order to prevent a permanent fork in the main chain. However, with a soft fork, a permanent fork can be avoided with <100%, and my understanding is that anything >50% in terms of miner adoption is more likely to prevent a permanent split than lead to one. The Medium article you linked to here was a very interesting read in terms of how different % adoption splits affect the outcome of both types of forks, and definitely illustrates that the actual outcome depends on several different factors and community decisions.

I would assume that, theoretically, there is no limit to the number of forks and sub-forks that can occur. However, I imagine that practical and economic/market factors limit this in practice, as continual splits would inevitably mean that some of the sub-chains are out-competed and become economically unviable.

Iā€™ve often wondered how this works in practice. So, when there is a hard fork, do your pre-fork holdings (in terms of units of crypto) automatically get replicated for the new chain, and then it is left to market economics to determine the price of both cryptocurrencies (meaning that you may have double the units, but probably not double the value ā€” or at least to start off with?

3 Likes

I sold my BCH after the fork in August 2017. Using my 12 words of my hardware wallet (bip39 mnemonic seed) I could acces them. But because I compromised my 12 words online, I generated new keys on my hardware wallet and transferred my bitcoin to a new safe location. Supply and demand + adoption on exchange gives it value I guess. Bitcoin cash was about 600dollars and BTC 1000 dollars. We all know what happend next. The community decided wich from these two is Bitcoin.

5 Likes

If you sold your BCH and bought BTC with the proceeds at $1k per BTC, then you did very well, as the price of BTC was around $4k in August/Sept 2017!! Somehow, though, I suspect you just sold your BCH and didnā€™t exchange it for more BTC ā€” if so, what a shame, after what happened next!!

1 Like

I swapped it with a BTC/BCH pair, I have no clue how much profit I had, I just wanted to get rid of it for more BTC. If you had bitcoin where you own the keys at August 1, 2017 you should be able to claim your BCH tokens (even today).
I didnā€™t own BCH when BitcoinSV forked from it.

ps. I didnā€™t owned that much BTC, Iā€™m a simple guy :grin:
Dollar cost average is the best strategy, buy bitcoin once and a while (mainly the dips) and learn about it as much as possible.

3 Likes

Hi Filip

Can you please tell me whether the block consensus rules is vetted before mining or after mining but before they are appended to the chain ?

Thanks

If miners broadcast a block to the bitcoin network, It has to make sure that the block is valid according to the consensus rules. Otherwise the block will be rejected.

Points 1 and 2 in the following linked post might be helpfulā€¦

https://forum.toshitimes.com/t/how-exactly-do-bitcoin-nodes-validate-newly-mined-blocks-and-update-their-separate-versions-of-the-blockchain/9501/3?u=jon_m

Validation of blocks according to the rules is carried out by the nodes when they receive the new blocks, after they have been mined and distributed throughout the network, and before they are appended to the chain.

However, as @Fabrice suggests in his post, it is also in the best interests of the minerā€¦

ā€¦and if the block is rejected by the nodes when they receive it, then the miner wonā€™t receive the block reward.

3 Likes

Hi Ziomanzo

It looks from your feedback that before the mined block is adopted by the network, the nodes make sure that the consensus rule has been followed. Actually, I was initially under the impression that miners would have checked the consensus rule first before mining otherwise there would be so much hashing power wasted to find later that the block is non compliant. Thanks

Regards

Eric

Hi jon_m

Wow, what a thorough research on this matter! Appreciate your respond. Now I am clear but as I have indicated to @Fabrice I was under the impression initially that the checking on consensus rule was done previous to mining because otherwise a lot of wasted hashing power if later found out to be invalid block.

Thanks
Eric

2 Likes

Transactions are checked and validated by the nodes before they are placed in their mempools (so before mining). I expect miners have their own ā€œinternalā€ checking procedures prior to and during the actual mining because, as mentioned before, they are financially incentivised to only mine valid blocks and not ā€œcut cornersā€ so to speak. Maybe we could draw an analogy with a company, which continuously carries out their own internal checks and reviews during a financial year (like the miners mining a block), and then the definitive, external audit is carried out independently once the accounts are finalised after the year end (like blocks being validated by the nodes after theyā€™ve been mined ā€” except in the case of a blockchain, the ā€œexternal auditā€ is decentralised and not just carried out by one organisation, as company audits are).
Would you agree @filip and @Fabrice?

Hi jon_m

Makes more sense to be validated before - otherwise a lot of wasted energy!

Thank you @jon_m for going into more detail as always. I appreciate it

1 Like

But if you download the Bitcoin Core software and you are syncing the blockchain, Every transaction and block gets verified again (starting from genisis block) . So Jonathan is right that consensus rules are also checked after the miner successfully appends a block to the blockchain. Thatā€™s why full nodes are so important. Every full node is basically checking everything. (before and after)

Running a full node again/ first time means you are downloading a copy of the entire blockchain from other nodes to your local machine. I doubt thereā€™s any more verification because previous blocks are immutable.

1 Like

There has to be a final, decentralised validation of new blocks by the whole network, after they are mined and before they are confirmed as part of the main chain. By each node performing this validation separately, and only appending a block to its version of the blockchain if valid according to its validation process, this is my understanding of how the whole network sooner or later reaches consensus regarding the main chain.
If validation was only performed by the miner mining the block, before being distributed to network, this would make it easy for bad players to break the rules, as they are essentially checking and validating their own work, and so self-interest would win out over fair play.
I think that by only being rewarded for valid blocks that ā€œwin the raceā€, this in itself is enough to incentivise miners to mine according to the rules.

Yes, they do check transactions according to the consensus rules before they are mined. @ecbwong @jon_m.

But of course if a miner receives a newly produced block from another miner. It will check it for the same rules, and now that takes place after it was mined (by another node).

2 Likes

Thanks Filip

Looks as though the consensus rules are constantly reviewed- before and after mining!

1 Like

Hei Philip
in the Accidental forks video you said at 8.15 that if the block is being cancelled then the person will lose his money, but that was very confusingly described.
Yes, if you received money within that block then you will not receive it adventually, but if you paid for something then that transaction simply didnt happen, right?
So its not correct to say that one lost his money.

1 Like

This transaction from the stale block comes back to the mempool. But still to be sure, you better wait for couple comfirmations to be sure it becomes an immutable transaction in the blockchain. There is always a risk that a transaction in the mempool doesnā€™t get accepted by a miner. If someone paid you for something, and the transaction didnā€™t happen, you gave your goods or service for free.

1 Like