I've been researching IOTA lately, and I've developed a list of 3 core questions that I'd like to have answered about IOTA.
IOTA is a cryptocurrency that was founded a few years ago and rose to prominence during the great crypto bull market of 2017. Its proponents bill it as an ideal distributed ledger technology for Internet-of-Things (IoT) applications, since it's designed to have no fees and to run well on small low-power devices.
At first glance, it's a deeply intriguing system. The designers seem to have based their entire work on the premise that blockchains are the wrong tool to use to build a decentralized ledger; rather, you should use a Directed Acyclic Graph (DAG). A key concept of a DAG-based cryptocurrency is that transactions aren't bundled into blocks. Instead, each transaction sits all by itself in the database. Apparently there is some work that's shown that DAG-based cryptocurrencies can have some advantages over blockchains; I won't get into any of that here.
In IOTA, the main database (network of transactions) is called the "Tangle." It's a web of interconnected transactions. See this figure:
Each box is a transaction, and note how each box has arrows pointing to the left to two other boxes. These arrows represent "approvals." Every transaction in IOTA has to choose two previous transactions to approve, and then you hope that eventually some other transaction will choose your transaction to approve. In the Tangle whitepaper, a lot of work goes into specifying how new transactions should choose old transactions to approve, and then there's a second technical paper that argues further about why users might choose a particular attachment algorithm over some other one.
Fundamentally, your transaction in the Tangle is considered to be confirmed if a lot of newer transactions approve it (directly or indirectly). "But," you say, "how many is a lot?" Well, this is where some people start being tempted to get skeptical of the Tangle's security: "a lot" means exactly that. "A lot." There isn't really a number; it's just that the deeper you are in a popular branch of the Tangle, the more likely it is that your transaction is considered to be "confirmed."
This could sound a bit flaky, but give it a chance: it's analogous to the concept of "confirmation" in Bitcoin. A transaction in bitcoin is popularly considered to be confirmed once 6 blocks have passed. However, there isn't anything magical about 6 blocks. A wildly lucky (or extremely wealthy) selfish miner could mine on a competing fork, outpace the chain that your transaction is on, and cause your transaction to un-confirm. But the deeper you are in the bitcoin blockchain, the less likely this is to happen and/or the more this attack would cost. It's roughly the same in IOTA: the deeper you are in the Tangle, the more likely it will be that your particular branch of the Tangle is irreversible.
Right now, the Tangle is being coordinated in a centralized fashion by the IOTA Foundation (IF). What this means is that every couple minutes, a special transaction goes into the Tangle that says "here is a list of all IF-approved transactions. You may consider these approved." Unlike many in the crypto community, I'm not a decentralization maximalist, so I don't think this is evil. But it does raise the question: Why is it necessary? Bitcoin didn't need a coordinator to bootstrap itself; why does IOTA need one? Marketing materials from the IF seem to indicate that eventually, the coordinator will be shut down and the Tangle left to evolve on its own. However, I haven't seen much that says when this might happen. Granted, I've only been looking into IOTA for the past week or so.
I'm a total newcomer to IOTA. I don't have a long or short position on it. If it's a good system, I want in; if it's not, I want to stay out. With that in mind, here are my questions. If they sound skeptical, that's because I'm a well-practiced skeptic -- it's not because I'm out to destroy IOTA.
Are there any IOTA fans here? What other questions should I be asking?
EDIT: I also posted the questions on the Iota subreddit: my post.