How can there be no transaction fees?

This is achieved through IOTA's unique approach to consensus. In IOTA there are no miners / validators to pay a transaction fee to, in order to have ones transaction validated and included in the next blog. Instead, consensus is completely decentralized with each network participant that makes a transaction, directly and indirectly confirming past transactions. Because of the effort required in this consensus (which is the tip selection and the computational requirements for a transaction), you have to pay no transaction fees.