Translated from coincorner.ch, December 25, 2017

IOTA is one of the fastest growing, but also one of the most severely criticized cryptocoins. Maybe it’s because IOTA promises a lot and does a lot of things differently than others. That arouses mistrust. Those who deal with the cryptocurrency will realize that the developers have certainly thought through the approach. But maybe not as much as the IOTA fans sometimes hope for …

I have to admit that IOTA is currently one of the hardest topics to write about as a crypto blogger. Not only because it’s extremely complex, and you actually need a lot of prior knowledge to write properly. But also, it quickly becomes poisonous.

On the one hand, it seems hard for the crypto scene to really take IOTA seriously; on the other hand, the IOTA community often reacts to genuine criticism a bit too aggressively.

The following brief Twitter dialogue between Litecoin founder Charlie Lee and IOTA developer David Sønstebø may well illustrate the point:

Why does Charlie tend to be patronizing, and why does David respond so overly angry and reproachful to a critical question? What is IOTA in itself that makes many in the crypto scene skeptical, but at the same time also attracts fans who react in part with fanatic anger to criticism?

We find almost the same pattern in a brief dispute between IOTA’s Dominik Schiener and core developer Peter Todd.

Why are IOTA discussions slipping so fast into such ugly depth? The answers to this question are complex. However, I hope that they help to familiarize ourselves a little further with the new cryptocurrency and to more precisely explain some of its properties.

Design Decisions

Why IOTA baffles many in the crypto scene is easy to explain: IOTA makes a promise that most consider irretrievable, and makes design decisions that may seem odd, even outlandish to outsiders.

The promise, in a slightly exaggerated way, goes like this: The Internet of Things will once consist of 20, or 30, or 80 billion devices, all of which are online. IOTA will be the backbone of an economy of these machines — the platform that allows things to receive and transfer money and data. Because IOTA can — in theory — thanks to the tangle “almost infinitely” scale. In any case, significantly better than the blockchain-based cryptocurrencies.

Anyone who even only takes a superficial look at the scalability of Bitcoin and Ethereum knows that this promise of high scalability is bold.

IOTA’s technical core, Tangle, eliminates blocks — and thus the latency that arises as the blocks are distributed across the network. Blocks are always clumps of data. At the same time, IOTA creates so-called “snapshots” through the “Milestones”, whereby the nodes can throw away all transactions that took place before the snapshots. This saves hard disk space and makes starting a new node easier.

The other factors in scaling the Tangle has apparently not improved. Bandwidth, CPU, and memory remain limiting factors. Here are the same, if not more restrictive, limitations as in blockchains.

Accordingly, many distrust the IOTA promise. It has — maybe — solved two problems. But parts of the community sometimes act as if IOTA is the complete answer to scalability.

Several design decisions at IOTA aggravate the mistrust: First, IOTA uses a post-quantum cryptography algorithm. That’s fine, but increases the size of transactions to just under ten times. What needs 160 bytes for Bitcoin needs 1.6 kilobytes for IOTA. If you want to scale, that seems counterproductive.

On the other hand, IOTA has neither a mining reward nor transaction fees. The system does not provide a reward for “honest” network nodes. And that is just one of the key innovations of Bitcoin.

And finally, IOTA uses a ternary rather than a binary system. The developers are convinced that this is necessary and correct, but many doubt it because the present day software infrastructure relies on binary systems. You do not necessarily make life easier with a ternary system.

To sum it up, IOTA wants to impose insanely many transactions on the full nodes, increasing the size of transactions tenfold — but deprives the nodes of their rewards.

Honestly? How should this work?

The answer could be enlightening.

Industrial Nodes

Why would someone operate an IOTA node? The demands on the CPU and the Internet connection is, sooner or later, enormous. For what reasons should someone invest in the infrastructure needed for the backbone of the machine economy?

If you ask such questions in the IOTA community, you will get, at times, insightful suggestions. The Nodes are, it is said, voluntarily operated by large companies. The incentive is not a block reward or fee income, but the ability to send and receive many free microtransactions.

If you follow this perspective, it suddenly makes sense. The assumption of IOTA is that there will be a need for machines to pay each other with microtransactions for data and services. That it is profitable for large companies — Bosch, VW, Telekom — to invest in a large node in order to participate in this machine economy.

If corporations want such a system, IOTA might be a good choice, perhaps the best that exists today. Technology companies do not want to risk being involved in an arms race of mining farms by Chinese miners. They also do not want to create money through new blocks or necessarily earn fees. The corporations do not want to become a bank — but simply send free microtransactions. And that currently offers only IOTA.

Another design decision suddenly makes more sense: bandwidth and CPU are very limiting factors in a network of hobby nodes. From a certain transaction volume, the traffic clogs the Internet line or lame a weak CPU. On the other hand, if you assume industrial nodes, bandwidth and CPU are no problem for a very long time. The first limiting factors will be the block latency — the time it takes for one block to reach all other miners — and the synchronization of new nodes. A test by Bitcoin Unlimited has shown that Bitcoin’s block latency should put an end to about 500 transactions per second.

The tangle and the snapshots become important assets in scaling.

No Glowing Performance

How does IOTA work in practice? Again, the cryptocurrency puts old bitcoin to shame.

It starts with the fact that IOTA is not yet completely decentralized. The tangle works by always confirming two previous transactions to confirm a transaction. The network works better the higher the load. At low load — as currently — the Tangle by itself cannot provide effective protection against double spends. There is a so-called 34 percent attack.

This is where the “Coo” comes in, the central coordinator run by the IOTA Foundation. It writes so-called “milestone” records and in IOTA wallets only those transactions are considered confirmed that are referenced by the Coo. A member of the IOTA community, slightly exaggerated, described this as follows: “The Coo makes IOTA a simple blockchain.”

Although the Coo should be shut down in the future — IOTA wants to work without it — currently IOTA still drives with central support wheels. The Tangle needs a centralized block chain of milestones to work reliably. And even with this help, the performance of the system has lately been rather average.

I have been watching IOTA now and then since about mid-September. Since then, there have been several incidents in which IOTA was temporarily down or almost down. Just last night, the Coo was temporarily canceled. In the meantime, IOTA has been extremely slow, there are dozens of reports of transactions that are not arriving, and of exchanges/wallets where credit is missing or not displayed, exchanges/wallets that do not connect, from full nodes that can not sync the tangle, and more. Some members of the IOTA community have entrusted to me that they are “inwardly scoffing at criticism” and are anything but satisfied with the developers.

I myself recently tried IOTA’s light exchanges/wallets and had no problems with transactions, transfers with amounts well below one cent went through without a hitch, which is impressive But maybe I was lucky too, and I was told which Full Node to connect to.

A node operator has told me that a public IOTA full node eats extremely many resources, and the client performs rather poorly. “Every computer game and chat program is more economical.” Other node operators say that a normal node does not need a lot of resources. It’s hard to say exactly what is going on, as IOTA’s information policy is rather sub-optimal, critical questions like the FUD are being chatted away, and the thing itself is rather opaque to non-insiders.

Some in the IOTA community say that the client is poorly implemented, others that there are spam attacks, and others that the relation between light and full nodes has gotten out of hand. According to various sources, IOTA currently processes about 0.1 to 1 real transactions per second. If the Tangle goes to its knees at this low strain, how will it ever become the backbone of the Internet of Things?

Beta

IOTA is, the developers emphasize again and again, an experimental technology. Both you and the community firmly believe that the tangle scales better than a blockchain. But they also realize that everything is still very beta.

The developers are very honest and transparent about it. One finds the hint in many places. Often, unfortunately, with the remark, “just like Bitcoin and Ethereum.”

Yes, bitcoin had the only downtime so far in 2010 (when a bug allowed a miner to mine billions of bitcoins), and Ethereum also ran centralized support wheels in the frontier phase (about the first year). But neither Bitcoin nor Ethereum are as “beta” as IOTA at the moment. And no other crypto currency does so much differently as IOTA does. The tangle, the snapshots, the quantum-proof signatures, the tertiary instead of the binary system — IOTA invents cryptocurrencies quasi anew and leaves no stone unturned.

Bitcoin and Ethereum were fortunate enough to survive their childhood illnesses at relatively low prices. Neither currency was worth anything like IOTA in the early, sensitive phases, which is currently putting well over $ 10 billion into the market cap and has already been worth more than $ 15 billion. These sums are different, and one may justifiably ask if the performance of IOTA has recently met this market value.

But can you really blame developers for liking the markets for what they do? Clearly the high price of IOTA is a blessing for the IOTA community. But when it comes to leading IOTA through tricky waters, it may well be a curse.

Solutions

Bitcoin and Ethereum are, of course, also beta. But IOTA is much more beta. Currently, the system cannot do what it promises to do.

But solutions are already planned for every problem. The coordinator will be abolished, a new client will improve performance, Flash channels will bring transactions and data offchain, the Nelson protocal will eliminate spam waves.

Some of these things are already in alpha mode and are being tested live on the network, others are planned for the future. The pace of new innovations presented by the IOTA developers is high. Only the day before yesterday, the new client was released, and according to community reports, IOTA since then runs like clockwork again.

You could catch up on each new innovation for a long time and write an article. At the end of this essay, I would like to delve into the topic of spam attacks. This highlights a particular aspect of Bitcoin, which may be the key to understanding the charm of this system.

Spam

For cryptocurrencies, spam is a kind of DoS — a kind of overload attack. One sends endlessly meaningless transactions in order to increase the load on the nodes in a decentralized network. All cryptocurrencies combat spam through a limit (such as blocksize) and/or base fees.

IOTA does not. There is neither one nor the other here. Spam only protects a proof of work, which is necessary to send a transaction. So whoever transfers money with IOTA, does not pay “nothing”. On the one hand, one confirms two previous transactions, and on the other hand, one makes a “work proof” by solving a cryptographic puzzle. At the core, it does exactly the same thing as the bitcoin miners. You could say that IOTA Mining is completely decentralized.

Spamming the Tangle costs CPU resources. And plenty of it. To send a single transaction, a typical computer takes about 10 seconds, an old laptop sometimes several minutes. If there is a spam attack, the nodes can arbitrarily increase the difficulty of the required work proof. Because with a Tangle, unlike a Blockchain, it does not matter who has confirmed a transaction. Transactions are often confirmed by many subsequent transactions, and when the Tangle runs hot, one can increase the difficulty of protecting its node from too many other transactions.

It’s complicated, abstract and very different than blockchains. But if you think about it, the Tangle should be able to fend off spam attacks with no fees. A victim of this solution are the small devices that are supposed to use IOTA to send or sell data. They should not really have the resources to do the work proof. The solution would be either a special — developed by the IOTA Foundation — chip that is added to the devices, or a design that the devices forward their transactions to a master mode, which will then provide the work evidence and feed the transactions into the network.

The more exciting question here is: Why are there spam waves? Reportedly, IOTA is currently groaning under continuing spam attacks that are fueling the nodes’ hunger for resources and making the whole network much slower. If you have confirmed a transaction in 10 minutes, you are currently delighted. How does it work?

The answer lies in invalid transactions. Someone gives a false proof of work and floods the Tangle. All nodes transfer these transactions, and someone making a new transaction has to validate and discard the bad work evidence. In this way you can almost spam at zero price IOTA endless.

With the Nelson Protocol, the IOTA developers want to ward off the spam waves. The Nelson Protocol is designed to allow nodes to blacklist other nodes when posting false work evidence. Or something like it, and more. I did not read it deeply enough to talk more about it.

I also suspect it would be too much of a good thing at this point.

Summary

There is still a lot to tell about IOTA. I’ve been leaked statistics from the node load, things about snapshots, milestones, and so on, explaining what the differences between ternary and binary logic are, and about the mathematics that will make Tangle safe beyond a certain threshold of transaction numbers.

In the end, many questions remain open, perhaps more than I could answer. I myself still have doubts whether IOTA can meet the self-imposed claims, and continue to think that various questionable design decisions has been made. I also think that both the IOTA developers and the community use an often very unprofessional tone when someone says they are critical, and they are too unreflective about their own promises.

Nevertheless, IOTA — and this is perhaps my conclusion of the article — is a fascinating technology. The concept of bringing PoW from the miners to the transactions has a charm. To write it off completely because it is still in an experimental stage, as J. Ratcliff probably does, is not fair. There is a very vibrant community, delighted with the technology of Tangles.

Therefore, one may assume that we will hear more from IOTA in the future.