The Min Weight Magnitude determines how 'hard' the POW puzzle is. How does this work? What are the implications when setting a lower or higher MWM, how does it impact the consense and are tx with different MWM compatible?
IOTA's proof-of-work is formed by successively hashing the data in a transaction, including a nonce, and increasing the nonce until producing a hash which ends with a particular number of zeroes. This is hard to calculate, but easy to verify given the nonce. Here you can see the weightMagnitude of a transaction is simply a calculation of the number of trailing zeroes in its hash. Three zeroes equals a 9-tryte, which is why IOTA transaction hashes end in several 9s.
The minWeightMagnitude is the minimum number of zeroes that a proof-of-work output/transaction hash must end with to be considered valid by full nodes. Increasing it by one will mean it takes roughly an order of magnitude longer to produce a valid hash. This will make it more difficult to attack the network, but also more difficult for a legitimate device or user to produce a valid hash in time.
Transactions with different weight magnitudes are compatible. This can happen when the device doing POW actually produces a hash with more trailing zeroes than necessary. As long as it is above the minimum, it will be accepted by validating nodes.
Very interesting topic. I know the goal of MWM is to make more difficult to attack the tangle, but it is not clear to me how this works. In my understanding attackers are required to have more than 50% of the overall computing power, in order to mount double-spend attacks. How is this affected but MWM, since MWM is the same for honest and malicious players? I am certainly missing something but I would be very grateful for any clarification.