Bitcoin Mining and Security
At least 100 words.
1. A bitcoin fork occurs because of incompatible rule changes, splitting the Bitcoin network into Network A and Network B. Network A has 90% of the hashing power and Network B has 10% of the hashing power. Before the split, new blocks were added every ten minutes on average. Immediately after the split, how long will it take for Network A and Network B to each add a new block? If Networks A and B are not adding blocks every ten minutes after the split, will they ever add blocks every ten minutes?
2. Blockchain Source Code Review
Review this sample implementation (not of industrial strength) of a blockchain system. Please read through the source code.
The implementation (in Python) is available via the following link:
https://github.com/bitbat-io/learn-blockchain-by-creating-one-in-python/blob/master/blockchain.pyLinks to an external site.
For your review, focus on lines 1–181. For these lines do the following:
i. Mention the main components of the system. These components can be identified by looking at the parts of code that start with the keyword “def”. For example, in lines 20–33 a component is responsible for the registration of a node. In addition, mention the dependencies between the identified components, e.g., the functionality of component X is based on component Y.
ii. Identify the consensus mechanism(s) that is/are employed and mention its/their purpose.
iii. Identify the part of code where the Proof-of-Work is implemented and mention its functionality.
iv. Which cryptographic hash function is used?