When you submit a transaction to the network, you have to perform some proof of work.
Bitcoin uses Hashcash and Ethereum uses Ethash as their PoW algorithms, but what does IOTA use, and in what way is it different?
When you submit a transaction to the network, you have to perform some proof of work.
Bitcoin uses Hashcash and Ethereum uses Ethash as their PoW algorithms, but what does IOTA use, and in what way is it different?
IOTA's Proof of Work is directly comparable to Hashcash, as it serves a similar purpose to prevent spam, and in our case, also to prevent sybil-attacks.
More about the Hashcash can be found on its wikipedia page.
Iota currently uses Curl hashing algorithm for proof of work. It was developed internally by IOTA team as a ternary (uses base 3 numbers, like all Iota, instead of binary) cryptographically secure algorithm, but was ultimately shown insecure for cryptographic applications (I don't know how it affects its performance as PoW, maybe some ultra-ASICBoost is possible with Curl).
I was unable to find a human readable description of the algorithm, but there are various implementations on GitHub, for instance, in JavaScript and Java.