CS251P - Lab 3 (10/19/2015) - Questions
To complete the lab, please answer the questions below.
What does it mean when we say that, “Bitcoin mining is progress-free”?
Mining is like a race where the fastest miner always wins.
Mining has no way to use old solutions to guess new ones; each hash has the same probability of winning as every other hash.
Mining is like the Tour de France where whichever miner can game the system the best always wins.
Mining is like television wrestling where all the major participants agree in advance who is going to win the next block.
Mining is like robot wars where whichever miner can survive the longest wins.
Please choose the two correct statements below about the differences between a soft fork and a hard fork:
The BIP34 soft fork could mandate the version number increase above 1 but it would take a hard fork to ever allow the version number decrease back down to 1.
You should not use a time-based (flag day) switchover for either soft forks or hard forks.
Satoshi Nakamoto was able to quickly implement soft forks on multiple occasions, so they aren’t a big deal.
Soft forks are implemented by increasing block version numbers; hard forks are implemented through blockchain voting by miners in coinbase transactions.
To implement a soft fork network-wide, only miners must upgrade; to implement a hard fork network-wide, all full nodes (including miners) must upgrade.
Based only on what you learned above, which of the following are limitations of the BIP34 soft fork mechanism that increments version numbers? (There may be multiple correct answers.)
It can only support one soft fork at a time.
It doesn’t allow for a soft fork failing to reach the 95% threshold, as any subsequent version number increase would activate the previous soft fork as well.
The exact time of the switch over is hard to predict because finding Bitcoin blocks is a probabilistic process rather than a deterministic process.
It can take a long time to reach the 95% threshold, on the order of tens of thousands of blocks (2,016 blocks should be two weeks).
At the switchover point, approximately 5% of the network hash rate will be producing invalid blocks that will not be added to the blockchain.
What can cause a Bitcoin Core full node to accept a block that it previously rejected for violating a consensus rule?
The hidden RPC command, reconsiderblock
Upgrading Bitcoin Core to different consensus rules
Restarting Bitcoin Core
A blockchain with more proof of work that includes the rejected block
What is the "best block hash"?
The header hash of the block on the blockchain with the most individual proof of work
The header hash of the block at the end (tip) of the blockchain with the most proof of work
The header hash of the block at the tip of the valid blockchain (according to your node) with the most proof of work
The header hash of the most recent block your node downloaded
The header hash of the first block on the blockchain
Never submit passwords through Google Forms.
This form was created inside of 21.