In order for a transaction to be approved, it needs to verify two other transactions.
So when you want to add a transaction to the system, you pick two other transactions at random, check them to make sure that their associated keys and balances are valid, then bundle them with your own transaction and a little Proof of Work. That bundle gets sent out to the network to be reviewed and verified by the next generation of transactions.
Proof of Work protects the network against spam attacks or sybil attacks. Both attacks require that the attacker issue a high volume of transactions. With Proof of Work in place, each transaction requires sacrificing some processing power. This means it’s a lot harder and less attractive to generate the number of transactions that an attacker would need in order to disrupt the system.
Cryptocurrencies that employ Proof of Work usually farm out the heavy lifting to miners. In return for contributing hashing power, miner’s receive rewards. So it’s noteworthy that Iota incorporates this processing as an element of a transaction. This system of distributing Proof of Work across the network helps to explain Iota’s most interesting features.
Iota does not require transaction fees. Because the network is set up in such a way that in order to participate, you must contribute, each transaction is essentially earning it’s keep through Proof of Work. The absence of transaction fees means that Iota should be very well-suited to processing microtransactions. Iota‘s original Proof of Work algorithm is known as Curl.