Mining process in Multichain

+1 vote
Main question: I read the Multichain whitepaper about mining, I wanted to know if each node holds the 'spacing' variable that is computed based on mining diversity. If a node goes rouge and changes/resets the spacing value by modifying source code, how is this handled? (is it possible?)

Related: Where can I read in detail about the mining and consensus process followed by Multichain apart from the whitepaper? I found some answers in the QA but each one seems to answer only parts of the process,I wanted to know if there is an alternate source that gives the overview of the entire flow; including selection of next miner; fork handling; block validation (and since there's only one block validator, how can discrepancies be resolved) and so on.
asked Jun 1, 2017 by amolpednekar
edited Jun 1, 2017 by amolpednekar

1 Answer

+1 vote
 
Best answer

The spacing variable is derived from the blockchain's parameters and the actual state of the chain, so it's a consensus rule. If any node goes rogue and decides to use a different value as part of its block generating procedure, other nodes will simply not accept its blocks, like with any other violation of the consensus rules.

We don't have any more detailed write-up of the MultiChain consensus process at the moment, though it's on our roadmap to do this in future. But you'd do well to read about how bitcoin works, since MultiChain is quite similar structurally, but with proof-of-work replaced by mining diversity. Forks can occur just like in bitcoin, and are handled in exactly the same way, although the mining-turnover parameter lets you tune things to make them unlikely, to optimize performance.

answered Jun 1, 2017 by MultiChain
selected Jun 1, 2017 by amolpednekar
...