I report below here some questions which I have received about the final project and mu answers:
1.
- Q: What does it happen if a miner M receives a confirmed block B from the network containing some transactions belonging to the block it is currently mining?
- A: M modifies its copy of the blockchain by adding B, stops the mining of the current block and discards all the transactions belonging to B. Then it starts a new mining process (the new block will not contain the discarded transactions). In the project, a block is only a list of transactions chosen by the miner (no PoW), so it is sufficient that the miner deletes from the transaction list the confirmed transactions.
- Q: Let us suppose that a node N receives a mined block B, with an identifier different from the identifier of the previous block. This may happen because N has not yet received the previous mined block, due to network latency.
- A: N stores B in a temporary buffer till the previous block of the blockchain is received, the blockchain remains unchanged. N does not notify B to the neighbors because it does not know whether the block is valid.
- Q: from the text of the project "The Oracle performs its choice of the next miner at regular intervals of
time whose frequency is defined by a probability distribution". What does this mean? - A: this means that the Oracle picks a value for the interval of time from a distribution (for instance a Gaussian distribution) to decide the next instant of time when a block is mined.