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?

  • when you set MWM higher, you will need longer for attaching transactions and therefore the transactions are less likely to be picked as tips by others. Apart from that, higher WM transactions are fully compatible (as it can happen that you get more zeroes even without increasing MWM) – mihi Dec 1 '17 at 20:44

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.

  • So the full-nodes validating a tx require a certain MWM for the tx to be accepted? – Akkumulator Dec 1 '17 at 16:26
  • 1
    Yes, Weight Magnitude is the calculation that the full node does on a transaction in order to accept it. Minimum Weight Magnitude is an option which is coded into the IRI software at the moment and set by wallet users as a target when creating transactions. Weight Magnitude must be >= than MWM. – Laurence Dec 1 '17 at 16:32
  • Awesome responses, here. So,why do four trailing 9 translate to a weight of 14 and five to 15. What is the formular here? – ralf Dec 13 '17 at 23:34
  • @ralf a 9-tryte represents three 0-trits. So five 9-trytes represents fifteen 0-trits. Whereas with fourteen 0-trits, that will show up as either a Z, 9, or A followed by four 9s. You can play around with this if you go to the Base10 to Ternary section of my IOTA Tools website (laurencetennant.com/iota-tools/index.html) and type in some 9's in the Trytes field. – Laurence Dec 15 '17 at 0:09

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.