Heh, this article barely even touches on the full insanity of IOTA.
https://medium.com/@neha/cryptographic-vulnerabilities-in-io... has a decent rundown on some of it. It's centralized on a central coordinator because it fundamentally can't work in a decentralized manner. It used a homebrew hash function that was vulnerable to trivial attacks. It uses ternary math just-because of some extremely doubtful efficiency claims for a lot of things, including the mentioned hash function. (Some fun not mentioned in the article: They later replaced the homebrew hash function with SHA-3 ... wrapped in ternary.) Also, it's centralized. That means it has the downsides of a centralized service (entirely halts if the central authority server has connectivity issues, including from DDOS attacks, or if the company ever decides it's not worth it to keep running; central authority could also censor transactions) without any of the upsides of a centralized service (centralized service could work with dollars instead of an artificial currency; centralized services don't need to broadcast transactions to the entire network to work; no kind of mining at all needs to exist; basically think Paypal) because it's a weird frankenstein made somewhat in Bitcoin's image.
When the obvious vulnerabilities about their homebrew hash function came out, the responses on many cryptocurrency forums were disturbingly cult-like. Plenty criticized the people making the announcement as biased. There were many posts calling out people involved with other cryptocurrencies for spreading FUD because they're supposedly scared of competition from IOTA's "innovation". Apparently no one recognized Bruce Schneier; I saw posts calling him out as a small-time snake oil salesman. I've had at least a half-dozen people try to explain to me how IOTA is paving the way forward with ternary computation, optimizing their software for future ternary hardware. ... Man, if you thought general fandom sites were bad with blind frothing fans, then you should see what it's like when money is involved like this.
>My next step was to go to the GitHub repository and take a brief look at the source code. The IOTA source code is written in JAVA instead of C++ like most professional cryptocurrencies are. That did not instill me with confidence.
Heh, this is probably the only positive thing about IOTA I'd agree with. Using a memory-safe language like Java makes it exponentially harder for developers to accidentally write remote-code execution vulnerabilities, and makes it harder for malicious developers to hide remote-code execution vulnerabilities. Most cryptocurrencies are in C++ because they're forks of Bitcoin, which so far thankfully seems to have developers that can keep those issues out and review each other's work. (Granted, if IOTA were just a Bitcoin fork, they probably wouldn't have gone through the effort of making so many insane design choices of their own.)