It is coded in the software at what specific block height the hard or soft fork will take effect. All blocks up to that point are treated by the old rules.
I wondering how much of the actual computing is done by the computer and how much of it by the human who owns the computer. Do you need any mathematical skills? A
Also, whenever a transaction is being validated, is it a human person who is physically checking the transaction or is it the computer?
Finally, when it comes to rules and consensus, is the discussion taking place between computers in the form of code or actual discussion between people in the community?
Ehm, you can calculate hashes by hand, but you would do one calculation per minute or probably less. Computer does a few million calculations per second.
Transactions are validated by nodes (the software) in the network that is run by humans. Nodes also interact between them by their own without human being involved. A human can change the code to make the nodes interact in a different way.
Question: Letâs a miner drops the green block in the example. It then has to download blocks 5, then one it previously ignored, and block 6, the newest block. Assuming there is any added delay to this process, can it pose a disadvantage to that miner with regards to producing the next block? Is the green part of the network at a disadvantage at all looking forward? And if so, does it matter, does it grow over time, or is it easy to catch up with the network?
If the miner is not fully synced with the latest block it is at a disadvantage because it will mine a block on height 6 which already exists. So its spending energy for nothing.
Thanks Filip for explaining clearly about forks but Iâm still confused about hard folk . What happen to blocks that are valid in both forks when there is a Hard fork.
To take your example:if there is an expansion to the rules(2mB) and a block that is below 1mB is produced, is it not accepted by both folks? And if a block greater than 1mB is produced is only accepted by nodes that updated and this result to longer chain winning.Why is there a fork in this case?or it doesnât happen this way?
What happens to transactions that are confirmed and appended in both forks?Does it mean you spend/receive the same UTXO twice?
If there is a previous block that is larger than 1MB it wonât be accepted because the chain itself is not valid for the outdated node.
There is usually a specific block height set when the fork will occur so at that point the chain splits (usually by forcing a block that is not in rule with the previous rules) At that point there is no going back, one part of the network will remain on the old chain and the other will fork to a new one.
Yes because these chains have a common history, which means the UTXOs exist on both chains after the fork and can be spent separately.
I personally think that the question in the quiz - âHow does accidental forks happen?â has arguably two correct answers.
I answered. âMiners mine the same block at the same block height but with different contents.â
I would argue this is correct as in an accidental fork âMiners mine the same block at the same block height but with different contentsâ, yes they have to be different miners AND they have to mine at approximately the same time but these additional requirements do NOT make the answer I select factually untrue. Secondly, and this is what made me select the answer, blocks would always be mined with different contents.
Thanks for always contributing.
In the hard fork scenario is there a situation where a block can be produced that is valid in both chains e.g a block that is less that 1MB. In such situation what happens?
In the DAO hack was it an expansion of rule sets or contraction of rule sets?
To me its seem like it was a contraction of rules(previous valid block become invalid).Which should have resulted to a soft fork. why hard fork?
And in the Bitcoin chain, the Segwit rules seems to me like an expansion of rules(hard fork).Help me understand this.
Ok, so if we do a fork (hard or soft) and valid blocks become invalid or invalid blocks become valid: Wouldnât that break the complete blockchain at the time of the fork?
Or does the new ruleset only count for newly generated blocks?
Iâm sorry but I forgot what the answers in the quiz are. Your answer is correct two miners are bound to make a different block. If nothing else the coinbase tx would be different.
Can you post a screenshot of the quiz answers so I can investigate?
If there was a block mined that is 1.5 MB in size and the next block has 0.8 MB the block would not be valid for the old nodes because the block references a block that is not valid according to their consensus rules. Therefore the entire chain is invalid for nodes that didnât update.
Iâm not familiar with the details how exactly the hard fork was executed in the DAO hack. I would guess they changed some arbitrary number in the block hash calculation that made all blocks up to the block height invalid and had to be remined, while Ethereum clasic kept this rule in place and was able to carry on on the same chain.
In any case if you want to revert blocks to a specific point in time you must make a hard fork, that invalidates blocks up to a certain point.
Segwit kept the block size, but changed the way some commands in the script language of Bitcoin are handled. Old nodes can see them and will accept the transaction as valid. Explaining exactly how this works would make this tread a bit long. I would recommend you check the Bitcoin programing course on the academy that explains this in detail
Yes, it is set in code at what specific block height a fork will take place, so all blocks up to that point will remain valid.
Thank you very much ArleĹĄ!
Questions are above. I would argue that both C and D are factually correct. - If you change this question it should really be changed to âHow do accidental forks happen?â.
Itâs impossible to mine the same block as another miner. Because the content will always be different. For example the coinbase transaction for the blockreward will be sent to an address of the miner.
And if you are a perfectionist, you never can mine a block at the same time. It is in a range of time.
The answer is C, but I understand the confusion.
D is false because you wonât have an accidental fork if you mine on the same blockheight on a other day or something. Thatâs why it has to say âat the same timeâ
The issue with answer D is because it states they mine the same block at the same height but with different contents. One could think its the same block (with the same txes) and a different coinbaseâŚ
I agree its a bit misleading.
Yeah, Itâs just that it has to be around the same time. I could mine a block at blockheight 10 today but it wouldnât affect the blockchain because you need to have a longer chain
In this example wouldnât that create an issue where Bitcoin is adding 2 blocks to the chain every 10 minutes and burning thru available Bitcoin faster than intended?