Neha Narula, a researcher in cryptocurrency and technology, writes on Medium about security flaws in IOTA and about diversity in tech.
HN commenters cite her analysis of IOTA's cryptographic vulnerabilities, especially its home-made hash function, as evidence against trusting the coin.
Heh, this article barely even touches on the full insanity of IOTA. https://medium.com/@neha/cryptographic-vulnerabilities-in-iota-9a6a9ddc4367 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…
A blockchain use-case is IMO only safe if everyone is OK with the data being stored there being readable by everyone. because sooner or later it will be. I thought about doing a "blockchain security risks" article yesterday and then realized everything that there is to say has already been said :) for example if you wonder if blockchain will "solve healthcare" check[0].
9/10 times the blockchain is NOT the right tool for the job, but somebody who has blockchain advocate in their job title probably won't tell you that
one of the bigger issues is post-quantum crypto. Despite the hype it takes years for functions to be considered safe. But on the other hand it will take even longer if nobody uses/tries these technologies in real life. Efforts are under way to solve the PQC problem [1][2]. Adoption will take ages. A typical example why things are not easy is IOTA. They are now back-peddling after rolling their own crypto called "Curl" trying to mitigate the fall-out from bad press[3]. And for those skeptical about "blockchain-on-everything-hype", here a recent RSA talk[4] on common attack vectors against BC and why it will not solve security as vendors have us believe.
[0] https://blog.andreacoravos.com/myth-busting-can-a-blockchain-save-healthcare-d398cdebf0c1
[1] https://openquantumsafe.org/
[2] https://csrc.nist.gov/projects/post-quantum-cryptography
[3] https://medium.com/@neha/cryptographic-vulnerabilities-in-iota-9a6a9ddc4367
[4]…
IOTA has been notoriously famous for rolling their own flawed hash function which allowed researches to develop a working PoC for hash collision attacks.
https://medium.com/@neha/cryptographic-vulnerabilities-in-iota-9a6a9ddc4367
The CEO of IOTA David Sonstebo tells his users it's not his problem if they lose money using IOTA because they're too dumb to understand the design flaws: https://np.reddit.com/r/CryptoCurrency/comments/7gwl38/hello_guys_i_have_lost_30k_in_iota_and_i_would/dqmpcb2/
Yikes.
IOTA also relies on a centralized sever owned and operated by David Sonstebo which takes periodic snapshots so transactions can be rolled back if the IOTA devs ever feel the want to. https://domschiener.gitbooks.io/iota-guide/content/chapter1/current-role-of-the-coordinator.html
Further reading:
Nick Johnson: Why I Find IOTA Deeply Alarming https://hackernoon.com/why-i-find-iota-deeply-alarming-934f1908194b
Daniel Rice: Why I Also Find IOTA Deeply Alarming https://medium.com/@thedrbits/why-i-also-find-iota-deeply-alarming-99d4f2da3282
Eric Wall: IOTA Is Centralized https://medium.com/@ercwl/iota-is-centralized-6289246e7b4d
Sidenote the founding developer of IOTA, Sergey Ivancheglo claims to have built a time machine http://come-from-beyond.com/about-me/
A flaw was found in the hash function they rolled themselves which doesn't build confidence there aren't more vulnerabilities to be found:
https://medium.com/@neha/cryptographic-vulnerabilities-in-iota-9a6a9ddc4367
https://www.forbes.com/sites/amycastor/2017/09/07/mit-and-bu-researchers-uncover-critical-security-flaw-in-2b-cryptocurrency-iota/2/#625c6bc042ff
To make things even worse than rolling their own hash function, they're claiming the flaw was intentional! This makes them hostile and untrustworthy to the open source community if this is true and further erodes confidence they know what they're doing if this is their attempt at PR spin:
https://hackernoon.com/why-i-find-iota-deeply-alarming-934f1908194b
> Next, and in my mind most damningly, Sergey Ivancheglo, Iota’s cofounder, claims that the flaws in the Curl hash function were in fact deliberate; that they were inserted as ‘copy protection’, to prevent copycat projects, and to allow the Iota team to compromise those projects if they sprang up.
The principles could be relevant (although I haven't verified (or read an independent review of) the proofs).
However, at least the execution is dubious: not only was a major cryptographic vulnerability found a few months ago[0], it highlighted that
1. they made their own unproven crypto hash, which is a red flag, (in production, you should always prefer crypto that has survived many years of cryptanalysis) and
2. they were really not up-to-date on cryptanalysis techniques, as being vulnerable to differential cryptanalysis is, as Bruce Schneier puts it, "a rookie mistake".
Worse than that, they seem to rely on security through obscurity, purposefully making it hard to analyse their systems by making it base 3 (instead of the obvious base 2 that all of practical computer science relies on).
Finally, their justification for the coordinator is also a red flag[1].
[0] https://medium.com/@neha/cryptographic-vulnerabilities-in-iota-9a6a9ddc4367
[1] https://medium.com/@ercwl/iota-is-centralized-6289246e7b4d
Not really deep into this, and haven't even read the whitepaper, but looking from the outside there are a lot of red flags around this project:
- Use of ternary logic [1]
- Writing their own hash function [1]
- Claiming that the flaws in the hash function were 'copy protection' [2]
- The Github issues page for their wallet client [3]
I've heard that the DAG approach has merit, but from what I've seen I would not trust this team to execute on it.
[EDIT]: Almost forgot the black-box closed source 'central coordinator' [4]
[1]: https://medium.com/@neha/cryptographic-vulnerabilities-in-iota-9a6a9ddc4367
[2]: https://gist.githubusercontent.com/Come-from-Beyond/a84ab8615aac13a4543c786f9e35b84a/raw/bb00cdf3625deba453d614f55c27f769b261df56/CFB's%2520letters%2520to%2520Neha%2520Narula's%2520team%2520during%2520their%2520analysis%2520of%2520Curl-P%2520hash%2520function
[3]: https://github.com/iotaledger/wallet/issues
[4]: https://www.reddit.com/r/Iota/comments/7c3qu8/coordinator_explained/