What are the m-hash and Bitcoin identity fields used for in Factom?

The following was posted by Brian Deery on Discord:

Both the bitcoin identitiy field and the matroshka hash [m-hash] field are not used in the current system. We are not trying to push anchoring out to the federated servers at this point. It is a big enough job just getting the servers distributed. Getting the network stable then scaling the network will be the next big efforts.

The m-hash was supposed to be a way to add deterministic randomness into the system, so that it was not predictable which federted server would be the the one handling the chains going forward. Initially I was worried that the last server to close out the block would have been able to grind on the last entry. In early designs this would have enabled a single server, or set of servers to squat on a VM, hence maintaining sole control of a subchain. This would have given them the ability to indefinetely censor a particular chain, be it a particular data subchain or even the factoid chain. The system was complex enough to degug as it was, so the added complexity would have just made it way harder to debug. At this point, factom is just round-robin rotating the different VMs (thus chains within those VMs) through the different servers. There is no grinding that can happen in todays version of the system, so m-hash mitigations aren't helpful.