IOTA - The good, the Bad and the Ugly

IOTA is a cryptocurrency that replaces the traditional blockchain with an innovative DAG approach. In this article I will share the pros and cons of IOTA with you, from a more technical perspective.

The Misconceptions

"IOTA is great because there are no fees!!"

Indeed, you do not need to pay any tokens to have your transaction implemented in the distributed ledger. Validation is done through new transactions that reference yours, which is an elegant approach to transaction finality. There's only one issue here, the security of the network is directly proportional with the amount of PoW done per second. Thus each transaction does pay a fee, in the form of proof of work.

So each transaction does pay a fee, in the form of proof of work, you have to spend some computational power. For users like you and me this is perfect, our CPUs are idling right now anyways. But first of all, IOTA is made specifically for IOT where CPU resources are extremely limited (I'll come back on this in a second). Secondly, it's only a matter of time before ASIC processors are released for IOTA, these will make local PoW extremely slow as the difficulty (the minWeightMagnitude) will increase to keep a high PoW cost, in this universe you will have to use a cloud ASIC farm for the Proof Of Work (PoW can be externalized very easily).

One good thing that should be said about the tangle security is that the security is also proportional to the transactions per second, this means that the fee won't increase with the amount of transactions, but the security will.

"IOTA is great because IOT is the future"



Image by ncta.com

Indeed, the IOT market will continue to expand for a long time to come. Even if these devices require a decentralized economy, which is a big if (it's hard for me to come up with good use cases where machine to machine economy comes to use). In my opinion IOTA is NOT the currency for IOT.

First of all there's the PoW that all of these devices have to do, even with the rise of ASIC there's still a huge cost overhead due to the security relying on PoW. Having a cryptocurrency with security relying on PoS would decrease the expenses greatly and would prevent value from going out of the token (to electricity bills and ASIC processors).

Secondly and this is something I find extremely important, and so should you, the Tangle CANNOT support smart contracts as we know them from Ethereum, this is because transaction order is subjective to each node, which is much less the case with a blockchain. In the case of ethereum for example all nodes usually agree on the order of the blocks, with forks only happening occasionally. Forks would happen constantly if smart contracts were implemented in IOTA, and the interested nodes would have constantly validate all of the contracts transactions to validate whether they are actually valid. It's much easier for these nodes to pick a different transaction to validate, thus even if contract transactions are allowed, they would never get referenced by new transaction.

For most of the proposed use cases by IOTA, a smart contract cryptocurrency would be a huge advantage. Thus I strongly believe that once a scalable cryptocurrency releases that implements this (Maybe a shardable Ethereum/EOS), they can pop IOTA out of the market without having to blink twice.

The Good

A great experiment

IOTA is the first cryptocurrency that implements the Tangle concept. The tangle is interesting in many ways, for one it being more scalable: The IOTA foundation is partnering with universities to do simulations of more saturated IOTA networks, to see how the tangle natively shards. With a little luck the tangle will shard easily thanks to Swarm Intelligence, where each node only knows a small fraction of the tangle, but due to overlapping parts between nodes, the ledger will eventually be consistent.

This is awesome, Ethereum has been spending A LOT of thought on how to approach sharding, and sharding will be much more complex than in IOTA. This is why I think IOTA is perfect for human transactions: Paying a merchant, transferring money to family in one's emigration country, buying a coffee. So yes, it has a great future in these areas (yet I don't see this future in the trustless IOT environment).

Strong community

Something notable for IOTA is it's community as well, having a huge slack userbase new developers are able to find tons of experienced devs to ask questions to.

A lot of members in the speculation channel on slack are strong believers in IOTA. Mainly because the currency steps away from the blockchain and is 'feeless'. One of these two I kind of debunked earlier but the other is (as I said) 'a great experiment'. The DAG approach is by no means superior in all ways to the blockchain, especially when we're talking about transaction order finality, which is a requirement for smart contracts where order matters. Anyways, these community members will hodl no matter what, which may or may not be a good thing, depending on what you're doing.

Relatively strong organization

The company behind the token, the IOTA foundation, has a strong fund to empower IOTA research and development. It's actively partnering with new companies searching for a way to cooperate. We have learned from Bitcoin that the first on the market has a huge advantage, the foundation is doing it's absolute best to tie IOTA into the corporate world, the value of this should not be underestimated.

Quantum proof

Not a big pro, as quantum proof signatures can be easily integrated in existing cryptocurrencies (maybe even without a hard fork, due to the scripting language in currencies like bitcoin), but it's good that IOTA is quantum-proof by default. This means that a quantum computer does not have a disproportionate advantage compared to traditional computers in the attempt to crack an address/generate PoW.

The Bad

Proof Of Work

The tangle requires proof of work for it's security (except if you're willing to settle with the current coordinator solution, more on this later), this means that transaction generators will be spending money on electricity and chips, money that could be kept within the currency if it had PoS security. Proof of Work also requires each IOT device to have a 'work' chip on it (except if they use a cloud service for their work), this should not be prefered by IOT manufactures as it adds extra development costs.

No Smart Contracts

Well, actually there could be smart contracts, but not ones that require an order of transactions (which are actually most of the current smart contracts). Contracts that do not require transaction order finality, like a voting contract, could be implemented in the tangle, though there is little incentive for new transactions to confirm these more complex transactions as they require more computation to validate (compared to classical transactions). Obviously this last part could be solved at the protocol level, by incentivizing the confirmation of smart contracts somehow.

Unproven Technology

Scalability is a big plus of the tangle, but the tangle has yet to prove that it can maintain eventual consistency within a reasonable timeframe (eg. you can be certain that a tx is confirmed after X minutes) in a network that relies on swarm intelligence.

The coordinator

Though this is arguably a good thing for the time being, it is a cause of A LOT of controversy around IOTA. The coordinator is a node that signs a new 'milestone' every X seconds. All nodes will see the transactions under the milestone as confirmed. You could see this as a blockchain system with only one block issuer (the coordinator), which obviously draws a few centralization related questions. If this coordinator would not be here right now, it would be easy to attack IOTA with a 34% attack (due to the low tps).

Team has a weird ideology

After having followed a ton of discussions in the tanglemath chat, the team is quite arrogant and relatively closed to critique. For one they quickly confuse scepticism for FUD. A second weird thing about the team is how their arguments are often contradictory:

I'll give one example of this: When someone asked about IOTA not truly being feeless and IOT devices not being able to do this proof of work, they answered that IOT devices will communicate with a high end full node (the IOT devices are just light nodes). Yet when they talk about the security of the network, they take the low bandwidth IOT environment as a huge security benefit (disallowing attack transactions to propagate through the whole network), but if all full nodes are ran on high end networks, this is simply not true. I at least have the feeling that they are trying to protect their product against all forms of critique, which is understandable, but it's not transparent and induces distrust.

Conclusions

You should draw your own conclusions from this (a little more in-depth) analysis, I have sold all of my IOTA positions with a good amount of profit and am not planning to enter the currency again, due to it simply not meeting the IOT promise. Anyway, I've shorted IOTA at $1.05 which was quite profitable but right now I have no short open on the token, as I have no clue where the price could go, so all though this post is biased, it's not made to induce FUD out of an economical gain.

This account is brand new, if you like this analysis, I'd love to have you as a follower, I'll be releasing a post on EOS/Ethereum soon as well. Please also write a comment with thoughts/critique on my arguments.