4

IOTA uses Hashcash in its Proof of Work mechanism, which uses the hash function SHA-1 to prevent spam in the network. The difficulty is currently 14 MWM (e.g. 14 trailing 0's in ternary ?) They say it takes a few minutes on a modern PC. Bitcoin uses a similar approach, but the hash function is SHA-256 and the difficulty is much higher and will probably rise as more specialized hardware joins the network. In both mechanisms a valid hash needs to be brute-forced.

As far as I understand, the PoW in IOTA is currently less expensive than in Bitcoin because its difficulty is not (yet) as high as in Bitcoin. And "a few minutes" is still quite a lot computation power, especially when we are computing on an IoT device. For SHA-1 people could build specialized hardware to create faster transactions (and spam) as well, don't they? So, where is the advantage in IOTA's PoW (as claimed in the docs)?

0

2 Answers 2

6

The POW in IOTA protocol isn't better or worse than the POW in Bitcoin. It is different in it's purpose. If you re-read the docs carefully you will see that the docs don't claims that the POW in IOTA is better than the POW in Bitcoin. It just says that the POW in Bitcoin is very expensive, while the POW in IOTA is relatively cheap.

From the doc :

IOTA uses PoW for spam protection, similar in spirit to the PoW used in Hashcash. This is a short computational operation, which should not be confused with the expensive PoW employed in miner-based ledgers such as Bitcoin.

In Bitcoin protocol, doing the POW is the way to receive the power to define the truth. It means that if you resolve a block faster than anyone else : this block will be the truth (of course after being quickly validated by peers).

In IOTA, the POW is just a way to prevent spamming. Finding a suitable nonce (i.e. doing your POW) allows you to attach your transaction to the tangle, it don't allows you to decide what the truth is.

With this key difference in mind, it's obvious that the difficulty of the Bitcoin POW must be far more greater than the POW in IOTA because it gives you far more power. The POW in Bitcoin is central point in the consensus. While in IOTA: the POW is just a protection mechanism having almost no impact on consensus (except that tx with higher difficulty should be handled in priority by fullnodes)

7
  • To add on to this, the more transactions IOTA handles, the lower the difficulty will get, because spam attacks need to be much larger in order to really harm the network. And should someone build an ASIC for IOTAs POW, the algorithm is simply changed to a different one, without affecting the consensus at all. Commented Mar 19, 2018 at 17:35
  • But if the difficulty is low then it would not be hard to generate many spam massages by many malicious individuals. And if IOTA changes its PoW, then everyone would need to update his software, e.g. this would be a hard fork. I don't see it as un-problematic.
    – TheCooocy
    Commented Mar 20, 2018 at 8:18
  • You are right on the fact than low difficulty facilitate spam. With coo: the MWM is fixed by the Coo. Without the coo, I don't know. Maybe an addition to the protocol will comes into the game to adapt the MWM
    – ben75
    Commented Mar 20, 2018 at 9:29
  • @SaintHill The POW prevent one single actor to flood the network with too many of it's own transactions. The consensus in IOTA comes from many independent transactions issued by multiple honest participants.
    – ben75
    Commented Jun 4, 2018 at 17:40
  • @SaintHill Transaction are ordered in queues. Look at Node.java and you will see that all queues implements NavigableSet ... and NavigableSet is an ordered Map. The methods pollFirst and pollLast take the first (resp last) element in the queue according the order specified on the NavigableSet
    – ben75
    Commented Jun 4, 2018 at 17:48
-1

From a philosophical point of view, it's better because it guarantees true decentralization by avoiding the posibility of having large amounts of hashpower in hands of a few companies. As we speak, more than 51% of Bitcoin HP is owned by 3 mining pools. This allows them to fork BTC by mining a longer chain in order to perform double spending. This 3 pools can literally do this if they want it.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

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