Hacker Newsnew | past | comments | ask | show | jobs | submitlogin
IOTA: A tangled mess (codesuppository.blogspot.com)
353 points by wglb on Dec 17, 2017 | hide | past | favorite | 234 comments


>The IOTA source code is written in JAVA instead of C++ like most professional cryptocurrencies are. That did not instill me with confidence.

This made me lose any confidence in a person's capabilities in evaluating the coin. If anything, Java is way more (or any language with modern memory management) robust choice than C++ where security is concerned.

In any case, I am highly skeptical of the IOTA as well.


Before I read the blog post, I thought that this was a nit-picky complaint, but it speaks to the entire structure of what's he's written. The lede is horribly buried, and the road to it is paved with mild but somewhat aggrieved snark. It has the virtue of being a chronological account, but his preliminary comments are not very informative and do not sound particularly well informed. (i.e., "…something called a directed acyclic graph." Indeed.)

This is unfortunate, because the factual reporting he can offer, located towards the bottom of the page, describes a situation wildly contrary to the claims made on IOTA's behalf, and is suggestive of a code base that is unready, fragile, and teetering (at best) on the edge of fraud.


Sure. The problems the author mentioned with IOTA are definitely there. But as a developer, I just couldn't let that one slide.


Me too. He may well have valid points but, as someone who has written mission critical software systems in Java, this destroys the credibility of the article for me.


On top of that, all of his technical issues with IOTA turned out, by his own admission, to be using the network wrong. Not understanding that buying 1,000s worth of an obscure cryptocurrency is going to come with a heafty dose of RTFM is a fool's errand. Instead of realizing this, the denial in him turns this into "victim blaming."

that said - he's right about IOTA. If that type of use is what it takes to make everything work, it has a long way to go.


Using it wrong...would you not try using it exactly as described with $28,000 depending on it? He raised extremely valid points about labeling this 'user error' but the 'correct' use case seems pretty kludge to me and highlights the crypto's shortfalls.


The scary thing is that IOTA is considered a top 10 cryptocurrency.

The worst thing is that I can't find a useful alternative crypto currency that can be used stand alone (ie without converting to BTC) for e-commerce.

Only choices are BTC with its high fees and to some extent BCH.

Even Litecoin which is easy to use doesn't have many uses.

Dash, Monero and Zcash make bold claims but aren't particularly useful at the moment.


I was just researching currencies with fastest transfer time and verified that Ripple works fast and with low fee. Curious if you've taken a look at it for your use case? I bought a small amount recently but am mostly just curious about which of these thousands of coins are actually useful for practical purposes.


Forgot to mention Ripple which is an interesting case with its mission to "The world’s only enterprise blockchain solution for global payments".

However, searching for useful things to do with Ripple as an individual leads to nada. All the use cases are provisional.

All the top 20 google results are for how to buy Ripple itself(in order to speculate).

I've started and stopped mining various currencies since BTC in 2011. Each time I stop because I do not see meaningful progress in usability.


> The world’s only enterprise blockchain solution for global payments

Marketing speak there as all blockchains support global payments.


Have you looked into any other DAG tech, besides IOTA? ByteBall and Raiblocks are excellent, functional and mature examples in my opinion that lack IOTA's downsides (likely because they are intended primarily for p2p payments, not IOTA's intended use case as m2m first, p2p second).

In full disclosure, I own a little bit of both. I first stumbled upon them after being disappointed with IOTA, and they deliver on a lot of what my initial expectations of IOTA were. I just want to be able to buy coffee with my crypto and not wait an hour for confirmation times!


He may be biased, but you may be too. Are you a Java developer (or android)?

That said, I know some great software can be produced in Java, ElasticSearch been one on top of my mind.

If Security is the goal, nor CPP nor Java is great. Proven Haskell or Rust might be more of a valid option.


Different tools have different advantages and Java is as suitable as many others. IOTA needs to prove that protocol is sound, so it doesn't matter if it's in Java, Rust, Go, Python... This point makes the author much less credible in my eyes.

That said, I steer clear of IOTA too. Relevant search terms for me are "IOTA roll your own crypto", "IOTA ternary logic" and "IOTA hash collision". And their whitepaper is indecipherable. Red flags all over the place, IMHO it's a scam.


AFAIK Cardano (ADA), which is booming (passed IOTA and became the 6th largest coin this week), is implemented in Haskell.


A coin "booking" doesn't imply technical strength- that's the problem here.


*booming


What I don't get about Cardano is that it has almost NO use at all. The number of transactions per MINUTE can be counted using only your hands (every so often you may need to include your toes):

https://cardanoexplorer.com/

I'm having a really hard time reconciling that with the fact that it's got a market cap in the billions at this point...


Cardano is a cryptocurrency written in Haskell with the goal of conforming to "high assurance" standards. Looks pretty promising, but like all 3rd gen cryptocurrencies, it is still early days (seems more functional than IOTA though.. no pun intended)


I wonder if something like OCaml would be a good choice. It's a safe language with good performance plus it gives you an easier route to formally verify the important parts of it. Cross platform is going to be trickier though.


That's what Texas is supposed to use but it's wrapped up in lawsuits at the moment.


Tezos, not Texas, auto correct...


Hmm, interesting. I wasn't sure if they were only name dropping that formal verification was possible but they say their developers have backgrounds in it. People mention about making Ethereum more secure using formal verification for example but it's not something you can just do as an afterthought.


I read your comment before reading the article. I expected the article to be a technical overview of IOTA.

Instead, it's a story of all the ways IOTA simply does not work.

Java vs C++ is irrelevant. Maybe the author is wrong, maybe not. Either way, it's probably a bad idea to take two sentences out of context and claim the author loses all credibility for an offhand opinion.


I had the same reaction as well, though. Sometimes one foolish thing that someone says really can make you suspect everything else they're saying.


I don't agree with your "way more robust" argument per se, but I also didn't buy that point in the original article. It's unclear to me why the choice of programming language -- unless it was a very obscure and rarely used one, or one that's specifically used in one (unrelated) domain -- should be of any significance.


> It's unclear to me why the choice of programming language -- unless it was a very obscure and rarely used one, or one that's specifically used in one (unrelated) domain -- should be of any significance.

I'd rather use a language where e.g. a buffer overflow couldn't be turned into a remote exploit that would let you steal coins from every client on the network. Mistakes in cryptocurrency code has the potential to be very costly so you'd think minimising mistakes at all costs would be worth it.


Most likely it's that the majority of experienced crypto devs (aka people who have been around since it was "fork bitcoin and change PoW algo + logo") will be familiar with C++, so a Java implementation is an odd choice that strongly hints that it was written by a lowest-cost contractor - or at least someone unfamiliar with cryptos. Since there is an awful lot of trust in devs to provide future support/improvement, both are bad.

(Lot of "write my dumbass cryptocurrency" requests on Upwork, so I assume this is very common.)

As for technical superiority, maintaining consensus is critically important. If one set of users (miners) requires a high-performance implementation, it makes a lot of sense to use that implementation everywhere.


> Most likely it's that the majority of experienced crypto devs (aka people who have been around since it was "fork bitcoin and change PoW algo + logo") will be familiar with C++, so a Java implementation is an odd choice that strongly hints that it was written by a lowest-cost contractor

If you're an experienced developer writing a new cryptocurrency that's radically different from Bitcoin, why would you want to fork from Bitcoin and why would you find Java code harder to make safer than C++ code?


It's an explanation of why a Java client would be suspect as an "investor" - experienced dev teams don't release them. Most of these projects are primarily marketing ventures ("look, we're the next Ethereum!"), a lot of code is outsourced, and the average "investor" expects a handwavy explanation of how it's The Future with lots of big words that that they trust is correct. Making odd/different choices (DIY crypto, Java reference implementation) hurts that idea.


Yet, the original author finds it fishy that IOTA is not implemented in C++.


The article doesn't make much sense. It starts with the author saying the IOTA whitepaper was indecipherable, that the language choice was a bad idea, the code is undocumented etc. and then (ignoring massive red flags like the IOTA devs creating their own hash function) the author bought into and sold out of IOTA multiple times while experience major issues.

Personally I think C++ is a bad choice. A safer language that is easier to verify is preferable when small bugs have the potential to wipe out a cryptocurrency. Imagine Bitcoin got hit with a bug that allowed wallets to be emptied or took down the network such that a hard fork was required to fix it; it would wipe out confidence if this happened enough times. Maybe I'm missing something beyond the developers being very disciplined but I'm impressed this hasn't happened yet.


What's even more bizarre is that with C and C++ it can take many years for these kinds of bugs to unravel.

Anyone remembers Heartbleed?


Ethereum has a Go implementation. The Java argument is BS obivously. The protocol needs to be valid, not a single implementation.


Single implementation is important for consensus systems. Look at e.g. the spurious dragon hardfork.

The problem with multiple implementations is that if there is a tiny difference in behavior between them, you can only find out after damage has been done to the network via a split/fork.


You can have the exact same problem with just different versions or even configurations.


I think the idea is that the protocol is resilient to differences in implementation. A bad actor, could for all intents and purposes, manipulate the implementation to their advantage. An implementation, reference or not, is merely a convenience for users who do not want to write their own clients (which is essential for adoption).


In fact, last year an attacker launched a denial of service on the main Ethereum implementation, and the network barely hiccuped because people just switched over to one of the others.


To be fair, Ethereum also has a C++ and a Rust implementation.


Sure, just wanted to make it clear that not all cryptos completely rely on C++.


Yes, that was a very silly thing to say, but the rest of the article has interesting criticism.


You should just evaluate his points instead.


What about the mining code? Is it still in Java? JNI?


When you do a transaction, you must "mine" two others. This is WebGL for some reason and puts my workstation with only an Intel graphics card to its knees.


Not saying this is the case but to me Java looks like the choice of someone who's fresh out of school. Nobody would start a new project in Java if he had the choice.


Really? Plenty of experienced people start new projects in Java by choice.


IOTA is the only big cryptocurrency that seems extremely fishy to me. The trick is that even a fairly technical person (like me) cannot easily refute it based on the whitepaper, because the whitepaper is intentionally indecipherable, and does not have enough information to evaluate the project anyway. The average person sees such a whitepaper, and is amazed by the complicated scientific formulas. A good engineer/scientist on the other hand gets uneasy about it I think. I don't understand how a huge network of full nodes, nodes which are small indusrtrial devices can scalably reach consensus in a fast way. Even storing the full state is impossible, not to speak about history. It is independnet on whether we use the DAG or blockchain. That is why scalability plans on other networks go into the direction of sharding, or have a smaller number of powerful nodes, or use layer 2, etc...

Crypto communities fight each other (BTC vs. BCASH, DASH vs. Monero, Ethereum vs. EOS) but these are all serious projects. The whole community should speak up about IOTA instead.


> IOTA is the only big cryptocurrency that seems extremely fishy to me.

BitConnect is in the top 20 market cap, doesn't get much fishier than that.


We try but there is an army of IOTA shills that drown us out.


Interesting... My first reaction to your post was "meh - surely he's exagerrating". But reading other replies to GP that were posted later made me reconsider. Very unconstructive replies, trying to bully the well articulated opinion... I have never seen anything like it on HN (though that's just my observation of course, maybe I was just lucky).

Do you think the people behind this are truly convinced of their cause or are they paid "web-fighters"?


I just don't know. I think some are paid and some are just IOTA holders with a great financial incentive to squash any valid criticism of IOTA. There really isn't much difference between the two groups when you think about it.


>the whitepaper is intentionally indecipherable

I decided to see whether this statement is justified.

  Before starting
  ---------------
I am about to read the whitepaper now, but before I do, I want to set up some standards for how I will judge that it is "intentionally indecipherable". First, I want to think of examples of intentionally indecipherable language.

I have these examples in mind:

1. We have many examples from marketing. If marketing just doesn't want to answer a question but does want to write a response to something.

2. There are examples of nonsense. I have in mind this one: https://en.wikipedia.org/wiki/Turboencabulator This reads:

>The original machine had a base plate of prefabulated aluminite, surmounted by a malleable logarithmic casing in such a way that the two main spurving bearings were in a direct line with the pentametric fan. The latter consisted simply of six hydrocoptic marzlevanes, so fitted to the ambifacient lunar waneshaft that side fumbling was effectively prevented

This is intentionally indecipherable, yet seems quite serious. It's a good example to bear before us.

3. There are times that important technical facts are deeply obfuscated. While I don't have a specific example, I think if you think of white papers on deeply unpopular features, you will get a sense of what I mean.

4. Because you add the word "intentionally" we don't need to include crank science in this judgment. That relieves us of a HUGE burden, as we will be evaluating a white paper possibly outside of our experience, and it is very difficult to tell the difference between crank and real science, totally outside of our domain.

Okay, so the above are the standards I have in mind. How will I evaluate whether the white paper is "intentionally indecipherable"?

  "Intentionally indecipherable" criteria, selected before reading paper
  ----------------------------------------------------------------------
1. Does it use words that simply do not exist? For example, having zero Google results, and not being decipherable from their stems and construction of the word. Does the author offer definitions in these cases?

2. Does the author appear helpful at any point? For example, are there simplifications, or "other ways" to think about something offered? Do tricky points appear to receive careful attention?

3. Are there any clear jokes? Intentionally indecipherable writing does not contain clear jokes, because the author is "on edge", using all of their mental capacity to keep from accidentally communicating anything.

4. (a big one): Are multiple synonyms used for no reason? The intention of the indecipherable author is to keep from passing on any knowledge. If the author can use 4-5 syonnyms, that greatly reduces the chance that the reader accidentally looks up the word in question. On the other hand, landmark papers use the same terminology consistently, rather than reaching for synonyms: the author wants to convey something about concepts, and goes to great lengths to talk about it. Papers that are decipherable have high repetition of key words. Papers that are indecipherable have very low repetition (to keep from communicating.)

5. Are there vague references which are avoided being mentioned directly? This is common in marketing spin, but also in case of wanting to keep from communicating something. If something is included by reference without taking a parenthetical two words to explain what will be included there, this is another good indication of intentional indecipherability.

Okay, now I've set up the standards. Let me dive in and read the white paper!

  Reading the paper
  -----------------
I am using this link:

https://iota.readme.io/v1.2.0/docs/whitepaper

Oh, I forgot to add but clicking that link reminded me: if it seems that sentences are made more tricky by editing after the fact, i.e. if they are not a natural way to form a sentence but seem specially edited for greater complexity, that seems a good indication. (This will be criteria 6.)

The whitepaper is linked with the words:

> The IOTA Whitepaper which describes the main technology behind IOTA - the Tangle - is available to read online. It goes into greater detail about the structure as well as the security of the Tangle.

This seems extremely focused on imparting real information. It is written in an extremely accessible, simplified style (failing indecipherability criteria 1 & 2). It does not seem unnecessarily complicated (failing indecipherability criterion 6). It actively mentions something rather than alluding to it, by mentioning "the Tangle" within dashes -- failing indecipherability criterion 5. It seems to fail criterion 4 as "the Tangle" is already mentioned twice. This sentence is written in an extremely simplified style, containing no jargon at all. It does not seem to contain any joke or lightheartedness, though it is only two sentences.

On to the paper! I clicked "http://iotatoken.com/IOTA_Whitepaper.pdf" to read the paper.

I did not need to read more than 2 pages to arrive at a judgment. My judgment based on the criteria selected beforehand, is that it is absolutely clear that the whitepaper is not intentionally indecipherable.

The author goes to extreme lengths to impart knowledge. The entirety of the Introduction goes to very carefully convey real knowledge. The author repeats himself again and again:

>The genesis transaction sent these tokens to several other “founder” addresses. Let us stress that all of the tokens were created in the genesis transaction. No tokens will be created in the future, and there will be no mining in the sense that miners receive monetary rewards “out of thin air”.

There is a measure of humor, such as the naming of the word "an iota". But the discussion is extremely serious, the author is extremely earnest. Not only does the author not use any made-up words, but goes to extreme lengths to enable the reader to read them.

See footnote 26, for example:

>This is a consequence of the so-called Large Deviation Principle. See the general book [13], and Proposition 5.2 in Section 8.5 of [14] for a simple and instructive derivation of the upper bound, and Section 1.9 of [5] for the (not so simple) derivation of the lower bound.

It is heart-breaking that the author goes to such incredible lengths to attempt to convey knowledge, they are doing everything physically possible, only to have someone who does not understand them fail to apply the principle of charity and claim that it was "intentionally indecipherable."

  Concusions
  ----------
My conclusions, with the above methodology.

1. We set out to judge whether your statement was justified when you stated the paper is "intentionnally indecipherable." It is absolutely not a justified claim. We thought carefully about judgment criteria before we ever opened the paper. The paper failed every crtiterion for "intentional indecipherability" that we could think of.

2. More to the point, I feel you should have started by applying the principle of charity. Rather than saying "I could not follow the paper" or "I found logical inconsistencies", you made the claim that it is intentionally indecipherable. This goes too far. It's, in fact, heartbreaking, when it is clear that the author put so much time and effort into making the presented work accessible. This included finding footnotes to instructional concepts that the author felt there was any chance would not be understood.

We can go farther. This claim that a lovingly crafted paper that was read, reread, and reread, with an acknowledgment section reading:

>The author thanks Bartosz Kusmierz, Cyril Gr¨unspan and Toru Kazama who pointed out several errors in earlier drafts, and James Brogan for his contributions towards making this paper more readable.

would be "intentionally indecipherable" shuts down science and progress.

On a personal level, it makes me question whether I would ever publish anything under my own name and for a wide audience, when no matter how much effort is put into it, even the best communities on the planet will have someone come forward and say that my careful work is "intentionally indecipherable."

So we have completely rejected your statement. It fails every criteria that I carefully set up to evaluate it. You should not make such statements in the future, about anything.

(Please note that when I started this comment, I was prepared to write the opposite opinion, and agree with you.)

-

[EDIT]

- I lightly added the above

- In addition, just to be clear I have absolutely no relationship with the project or white paper. I haven't evaluated it besides deciding whether it is intentionally indecipherable.


The author describes the database the nodes maintain, and the consensus algorithm in great detail (which is much much more complicated than the consensus algorithm of any blockchain in the industry), but does not say a word about scalability. You know: absolutely basic stuff, like are nodes full nodes? Is the history maintained in each node? How much storage a node needs? How fast a transaction is confirmed? No word about it in the whitepaper of a 10 billion project. I would not need it to be included if it were trivial. But it is not trivial. In interviews they claim that it is almost infinitely scalable. Followers spread the information that it is faster as there is more usage on the network. They say that millions of small embedded hardware nodes can participate and the network enables microtransactions, which requires incredible scalability. These are ridiculous claims, and it is incredible that there is nothing about it in the whitepaper, or any easily accessible document. They intentionally don't want to explain the technology in clear and structured fashion. Yes I did'nt spend a week of my time to try to understand the technology. Maybe a week would be enough to browse the source code and have answers to my questions. But I don't have that much time for IOTA. And yes, it is fishy, that no one tries to explain it in a way that experienced engineers could have a grasp of it.


Do you mind if a write a version of the comment you've just written (making it a bit less harsh) to the author of the white paper, and quote here any replies I receive?

(I also notice you list a contact in your HN profile, so I'm happy to include you on CC - but I think we should share any eventual response to your questions in this thread after we get it.)


Yes go for it. A well articulated communication on technical details of IOTA scalability is needed, and I think the whitepaper need to be upgraded with such information.


in case anyone is reading this thread later: per the above, I wrote the author a lightly edited version of nadam's question and a summary of this thread. He replied as below, offering to connect with people who know more. I asked nadam if he was interested but didn't receive a reply. So I didn't follow up except to say "thank you" and let the author now I've copied his comments into the thread.

Author's reply:

------

Hi,

thank you for reaching out to me, and for your interest in IOTA. You are right about the Tangle paper - I've put a lot of effort in it, and also tried not to overcomplicate it. But, well, it's "make things as simple as possible, but not simpler" thing - nothing comes for free, and so IOTA is really much more complicated than traditional cryptos, one simply cannot understand it without investing some effort first.

Regarding your questions: first of all, I'd like to stress that that paper is more about the Tangle - an idealized mathematical model, than about concrete details of IOTA's implementation. In view of this,

- are nodes full nodes?

In the paper it doesn't matter, there the nodes are just entities that sign the transactions and (more importantly) choose where these transactions will be attached.

- Is the history maintained in each node?

In principle, yes. Note, however, that the tip selection algorithm only uses the recent history of the system (that cumulative weight calculation only depends on this). This opens possibilities for periodic snapshotting: for the system to work, a node should know that recent history, and the account's balances before.

- How much storage does a node need?

- How fast is a transaction confirmed?

This depends too much on the concrete details of the implementation. Unfortunately, I'm not an expert there, I'm too much a "theory" guy. Should I connect you with someone more qualified?

Best regards,


I read the paper yesterday (except some parts of section 4). Some of the math was too much to understand for a quick read. It is a good paper. I could follow everything (despite late hour). My problem was that the paper only discusses tangle-technology and finishing it I still wondered how IOTA uses the tangle and how it works. Maybe I should read more about cryptocurrencies first. Or there should be a more general paper about IOTA.


For some reason, my comment objecting to someone calling it intentionally indecipherable is now at -4.

You wrote "It is a good paper. I could follow everything" -- would you agree with me that it's not purposefully written to be obfuscated and indecipherable?


Without criticizing you or the validity of your intention for posting the above comment, I can tell you that said comment comes across as extremely spammy.

Why? In a heated space, such as critiques of certain cryptocurrencies often evolve to, certainly with lots of vested interests ($$$ that is), posting such a huge amount of text under the top-rated comment while adding little information, but basically pushing all other arguments below-the-fold is destined to evoke ones fishiness tastebuds.

Whether or not you intended to push critique out of view, it definitely calls for HN to introduce some sort of folding/auto-truncate feature.


You know, woodpanel, the reason I chose the structure I chose is because when I began to write it, I thought that I would be able to find that the whitepaper easily meets the criteria I selected beforehand for intentional indecipherability. In other words, I thought I would be able to show that it is just fishy.

For this reason, I decided to be very thorough in my review methodology, so that I wouldn't be accused of cherry-picking. After all, no paper is perfect. That's why I set up criteria beforehand. I had never read the paper.

As you can see, the paper actually (to my surprise) totally fails the intentional indecipherability criteria I picked.

The top-level comment in this case was totally unwarranted.

This is not the conclusion I expected to come to when I did the review. It would not be honest of me to hide my actual results.

(In addition to myself, you will notice that another person wrote "It is a good paper. I could follow everything".)


You would be better off writing a blog post and linking by to it.


I don't think I would have read his thoughts if it had been a link to a blog post.


>would you agree with me that it's not purposefully written to be obfuscated and indecipherable? Yes, but with one exception. It is possible to obfuscate by ommiting information. Assume there is a flaw in IOTA which is not in tangle-structre itself. One could obfuscate the flaw by writing an honest paper about tangle and refusing to talk about IOTA. From the introduction: "The concrete implementation of the iota protocol is not discussed."

I don't say (or think) there is an obfuscation. Just that my feeling was that I got too few information to judge about IOTA (or even tangle) from that paper.


> I only read 2 pages.

So you are evaluating the quality of a 28 pages paper by reading only the introduction ?

Are you intentionally retarded ?


I didn't evaluate the quality of the paper. I only evaluated whether it's intentionally indecipherable.

I did glance through some more of the paper, though I did not read it carefully.

I didn't find anything that tripped any of my criteria, mentioned beforehand, for whether it's an intentionally indecipherable paper: did you see anything like that?

Please note that this is not an endorsement of the paper.


What is BCASH? Do you mean Bitcoin Cash?


Yes.


I read the first few pages of the IOTA whitepaper, including some of the math parts. I have basic undergrad math ability and although I'm not familiar with many of the concepts, most parts make sense to me and are quite thorough. It sounds like OP is trying to manipulate the market.

People who own a lot of crypto like OP generally aren't the kinds of people who would write articles for the public interest.

It sounds like OP sees an opportunity to bring the price down in order to get a better deal on their next purchase.


You don't think the concerns he listed about the instability of the network, current centralization of nodes, and the fact that one of the founders offered to buy his silence are legitimate complaints?


About centralization: IOTA is not any more centralised than Bitcoin where a very small number of people control most of the miners and exchanges.

The difference between IOTA and Bitcoin in that respect is that Bitcoin can only get worse whereas IOTA can only get better.

I don't believe that the founder of IOTA would buy OP's silence in such a blatant way. There are tons of people bashing IOTA all the time - The founder would go bankrupt if he tried to pay everyone off to buy their IOTA... And why would the founder want to acquire IOTA if it was in fact such a toxic asset as claimed by OP? It just doesn't add up.


The cult like behavior of crypto adherents is really off putting. You guys are going to be in for a hard fall when the wheels come off.


What was once friendly enthusiasm has become hard lines and jagged edges with organized shilling campaigns from all sides. It's quite off putting as someone who spends a lot of time in these communities. It's hard to even ask technical questions or address concerns without being named a "FUD'er", and I don't think it's changing anytime soon.


IOTA wallet is full of really bad bugs, just look how bad it is on first pages, the more pages you skip, the worse it is. It still doesn't work on Linux, for many users wallet crashes or shows green screen and nothing more. Doesn't work through Wine either. https://github.com/iotaledger/wallet/issues

Issues on github have no responses from developers since early November and there were no commits since than, what's surprising, there were a lot of blog posts on their domain and many subreddits how great they are (!!??)

BitFinex two week ago had problems paying out IOTAs, payouts were cancelled without any reason. Didn't try again since that time.

A lot of domains explaining how to buy IOTA look dodgy, like they were made by 14yo in '90s. There are dozens of domains like supportiota, forumiota, iotasupport.com, howtobuyiota.co.uk ? Why do they all exist and duplicate content?

Watch out out there.


I have never seen a GitHub issues page quite like that.

Pages and pages of issues ranging from; "Somebody stole thousands of dollars from me" to "My money is stuck and I can't get it out".


I've also read that the devs have seized funds from users. Specifically, if you use the same address twice in IOTA (extremely common habit in cryptocurrency), you reveal your secret key, and the devs will take your money.

Among many other wallet related issues.


Citation for your claim? The story I've read is that the IOTA Foundation will hold your funds so you can reclaim them.


The system is clearly not decentralized, if one organization can hold your funds for "misbehavior".


The idea that they'd let you reclaim your funds is also ridiculous. Your private key was compromised, they have no way to identify you.


This is radically inaccurate. If you send from an address, trash that address and never use it again. You can receive to an address as many times as you want but once you send from it you gotta move to a new address. The desktop wallet does this automatically so no need to worry about doing it yourself.


"All tokens which will ever exist were created on day one and pre-distributed to people who signed onto the project very early." It sounds to me like they are pretty up front about their intention to take all of your money. That is how they started. Same for Bitcoin, only Bitcoin hides it behind a schedule of mining fees so it is more Ponzi scheme while this is more television priest.


> It still doesn't work on Linux

What are you talking about? I haven't used the wallet on anything but Linux, and I've had no problems.



As far as I know there are no bugs in the wallet it's just not completly self explaining. tbh from my view there are just the wrong people in the whole space... 95% of the people are here to get rich quick and not for the developement and it's excatly these people who have problems with Key reuses and so on.. the people have to do their research in such a young space..


If your software is expected to have bugs then you shouldn't allow people to put money in it. You should be setting the expectation that the chain will get regular resets while you work out the kinks. You should be discouraging exchanges at every opportunity and shouting loudly at the world not to put money in your alpha release software.

It doesn't appear that IOTA is doing any of those things.


>95% of the people are here to get rich quick and not for the developement

You're saying that application and developers came completely unprepared for the market?


No, the market was unprepared for an application that is still in alpha.


Still in alpha but accepts real-money deposits in the tens of thousands. I think the market was unprepared for anyone being that brazen.


Who is accepting deposits, and why tens of thousands? Real money is deposited into exchange accounts to buy crypto assets. No one is making fiat deposits into an IOTA organization.

You should examine your reality if you think developers of alpha software have any obligation to provide non-technical folks with a way to use it. It's open source, nothing is stopping you from building your own wallet if you want something better. But they don't owe you anything on the basis of the protocol simply existing. Ask yourself, why do you expect that?


Why do people persist in the idea that a deliberately deflationary currency is a good idea. It might be a good investment, but as a currency, it doesn't promote commerce and trade, it just promotes hoarding.

Much of crypto-currency holders today either seem to be people seeking to get in at the top of the ponzi pyramid and sell before collapse, or people who need to avoid some legal issue, be it capital controls, drug laws, etc. Many people are using it as an investment vehicle mainly, and rarely as a exchange of value mechanism for payments, except where they actually need to. But would pay Uber with BTC, or buy a coffee? Why? if you simply way a few days, you'll make a lot more money not spending it.

A deflationary currency to replace fiat currency or centralized banking and credit seems like a contradiction. I mean, if my cash is growing at 10%-1000%, but my Visa fee is 3%, and my inflated USD is 2% inflation, I'm gonna go with the fiat currency or Visa fee.


The deflationary aspect is the number one reason I’ve never bought into a crypto currency. I have serious ethical and moral issues that prevent me.

In addition to hoarding, deflationary currencies (like gold) cause people to spend lots of money and effort trying to get other people to buy into them too. For me, it’s a very sad thing to watch unfold. It’s like when the ‘buy gold’ commercials started appearing on Fox News, and I saw my grandparents buying gold.

If someone has to spend lots of time and money advertising how useful something is, it’s probably more useful to them than me.


I don't understand why that's an ethical dilemma. Do you not have a problem with disproportionately increasing the cost of living for the poor[0] or forcing the mddle class to subsidize big corporations [1] or creating an economy where corporate survival is tied to consumption, leading to innovations in "disposable product strategies"?

[0] let's say you're spending 90% of your income on cost of living and there's 10% inflation. That's way worse than in you're spending 20% of your income on necessaries and there's 10% inflation.

[1] in order to preserve wealth in an inflationary regime, the middle class is encouraged to put money into the stock market, which basically becomes a mechanism to socialize the costs of corporate r&d while the Lions share of the gains go elsewhere (the scraps are thrown back at the middle class, enough to keep them from seeing the inherent problem with the system)


You appear to be making some big leaps and also assuming several things about my beliefs and politics. I try not to do political discussions ($$).

But, if you're seriously and genuinely interested in my perspectives, let's talk more. I've been thinking of economics, currencies, labor, income, and wealth for probably 25 years. It's a huge hobby of mine. I've been enthusiastically monitoring crypto-currencies ever since Bitcoin emerged and have been thinking about them for even longer. I could probably write 100s of pages on my thoughts. But, HN is definitely not the place to start that type of in-depth discussion.

($$) Political debates (especially online) are rarely productive. A person's political views are built on so many low-level things that it's a very personal thing. I used to love political debates when I was younger - it just felt so good. But, I've learned that people's politics don't budge much. So, while interesting, it's ultimately not useful.


What you did is point out a few real problems in our current economic reality of which inflation is one part. In no way does this say anything about how deflation solves any of them, or even leads to worse scenarios.. Think about the issues you mentioned - wage stagnation, unsustainable expectation of growth in corporate profits, systemic inequality etc. - Now ask yourself "how will removing monetary inflation and replacing it with monetary deflation affect these systemic issues, in which direction will it drive them, how and why?" If you still come out on the pro-deflation side, I'd be happy to hear your perspective.


real wage stagnation is a social policy, not an emergent phenomenon. Politicians are concerned about unemployment numbers, and there is this bogeyman that "sticky wages" of lower classes gets in the way. The prescribed way around this is to decrease the real value of money and incrementally dislodge the liability of employing lower classes.

Systemic inequality is generated, by deliberate inflationary policy[0], it is not a "universal constant of the universe".

https://krugman.blogs.nytimes.com/2010/02/13/the-case-for-hi...

"Even in the long run, it’s really, really hard to cut nominal wages. Yet when you have very low inflation, getting relative wages right would require that a significant number of workers take wage cuts. So having a somewhat higher inflation rate would lead to lower unemployment, not just temporarily, but on a sustained basis."

[0] I do, for what it's worth, think that liberal economists aren't acting in bad faith, they're just clueless, mostly because if you're a liberal economist (or almost any economist, really) you've probably never been poor.


The two issues are separate. Isn't there a lot of sound finical advise telling people to put money into the stock market? But isn't the stock market widely a greater fool game these days? Companies don't pay dividends anymore, voting rights are being reduced, and many companies are far too large to send a chance at being acquired.

It would be a terrible deal if 90% of the population wasn't accumulating stock via a 401K


90% ? I would expect it to be much lower


I'm very curious on your stance. Would be able to elaborate further?


See my comment above.


Yea, it’s better people just hoard houses to escape inflation.


I've never really accepted this argument. If your money is inflating, that's incentive to spend because you know it's losing value. That's a terrible reason to spend money.

If your money is deflating, you are still going to spend it because there are things that you want to accomplish. Whether it's eating food, sustaining a hobby, or making a difference in the world, people will continue to spend a deflationary currency.


I think the point is more to do with savings: in a non-deflationary environment, you have the incentive to invest your savings in potentially productive use. In a deflationary environment the incentive is simply to hide your money under your mattress, which doesn't help anyone.


This isn't true. If you are hoarding Bitcoin and not putting it into productive use, you are reducing the supply. Thereby with constant demand the price should increase. In doing this, you have increased to wealth of others in the economy (of the currency) who can then put that into productive use where they believe they can generate gains above the rate of return of the expected deflation.


The trouble is, right now there seems to be a lot of savings sloshing around compared to the potentially productive uses they could be put to. So the price of every investment from houses to shares to made-up internet money is going through the roof as people look for somewhere, anywhere, they can put their money where it won't be eaten away by inflation.


Yes, but you'll still want those things in a month, or six months, or a year. Given the expectation that your real purchasing power will grow, and you'll be even to afford even more of that hobby if you wait, you'll decide not to transact now for many discretionary expenses. Unfortunately, this puts the store or vendor you would have transacted from in dire straits--and then they decide to consume less.

Summed over an entire economy, this sort of behavior will reduce aggregate demand and the velocity of money enough to damage productivity and growth: it's called a "deflationary spiral."


Summed over an entire economy, inflationary behavior will result in stealing from the poor and middle class to fund the wealthy and overconsumption and ecologic destruction.


You could always switch to Dogecoin, which is similar to Bitcoin, but has very high inflation. You could even fork Bitcoin and make a Federal Reserve Board including yourself that could decide to issue more currency based on economic statistics. You could call it KeynesCoin. That's the great thing about Crypto. It's all open source, so do whatever you want.


Making them deflationary is more of a political statement than anything else I think. The crypto-currency crowd has this libertarian streak and of course those people believe that inflation is the devil, used by governments and banks to rob productive businessmen of their hard earned money.


and it's not?

Inflation harms fixed wage earners and pensioners far worse than "businessmen"


Deflation also helps creditors and hurts those in debt, so it swings both ways.

Often the Libertarian/Austrian-econ crowd posits a false choice between deflation and hyperinflation, both are bad, and ignores the third option which is an inflation rate that's non-zero, but low and stable.


> I mean, if my cash is growing at 10%-1000%, but my Visa fee is 3%, and my inflated USD is 2% inflation, I'm gonna go with the fiat currency or Visa fee.

Think really hard about what you’re saying here.

You’re currently very clearly working off some broken heuristics and not anything remotely resembling a rational or economically sound approach.

A couple rhetorical questions:

Would you prefer to use e.g. Zimbabwe dollars instead of US dollars? After all, if the depreciation of the US dollar is beneficial somehow, surely the ZWD is even better. If this isn’t the case, please explain your criteria for optimal depreciation.

Let’s say you kept 99% of your money in stocks. Expected growth is 10%/yr. Your car breaks down, and you don’t have enough cash to cover the damages. Are you going to sell some of your stocks?

The dollar is good for cash because it’s fungible, divisible, easily transported, widely accepted, and a few other useful properties. The fact that it depreciates over time is incidental and only tolerated because it has so many other positive qualities. No one with an ounce of sense keeps a large position in dollars, however. If you can create an asset that has the beneficial properties of dollars (fungible, divisible, transportable, etc.) and doesn’t depreciate, there’s no rational reason to continue using the dollar.


Your argument has multiple fallacies. The first is an either-or fallacy, that your only choices are deflation, or hyper inflation, when most OECD countries have had fairly low stable inflation rates over the last two decades.

Secondly, the idea that the response/benefit curve from monetary growth rate is linear, and therefore you can just extrapolate linearly that more is better. Our economy depends on a goldilocks region, where the extremes are bad, and the desirable area you want to inhabit is inbetween.

When currency is deflationary, no one wants to spend money, and you face an economic stagnation from a huge pull back in spending, no different than the Paradox of Thrift. There's no need to even make a philosophical argument here, we have a century of empirical evidence that deflationary causes a spiral, hell, Japan has been stuck in a deflationary spiral for 20 years.

Sure, eventually you have to eat, so you'll spend your BTC if the alternative is to starve, but is that how you see the economy being run? The only thing people spend money on are the absolute necessities? That's a very austere world, and once in which most people are unemployed because there's much lower demand for everything, except emergency car repair and basic necessities.

Likewise, you don't want hyperinflation, because it makes planning for the future impossible, wipes out investment, and induces hoarding of real assets.

But low levels of inflation, from 0-3%, do not cause such problems, and gently induce people to spend or invest money, rather than keep it under a mattress. For the same reason, something like a Land Value Tax is good because it induces people to stop hoarding land and not doing anything with it.


> When currency is deflationary, no one wants to spend money,

“When stocks are deflationary, no one wants to sell stocks.”

That’s not how human market preferences work.

> hell, Japan has been stuck in a deflationary spiral for 20 years.

This is almost certainly due to Japan’s imbalanced age distribution.

> eventually you have to eat,

Or eventually your time preference on whatever product you want to buy will exceed whatever bitcoin’s risk-adjusted expected growth rate is, just like happens for literally any other asset class. The idea that people will just never buy things is clearly nonsense if you have a grasp of how pricing and arbitrage work; there’s no such thing as an asset that has such a high risk-free growth rate that no one buys anything else. Any such opportunity gets arbitraged away instantly.

You are also aware of the fact that any bitcoin sale has two sides, yes? For every bitcoin someone is buying, some other person decided the price of bitcoin now pushes it above their risk-adjusted expected growth requirements.

Read about portfolio pricing theory. There are some good lessons there that I think will help you make sense of why it’s silly to worry about a turbo-asset that trumps all other possible purchases.

The hypothetical endgame here is that as bitcoin’s associated risk decreases, its price would rise until its growth rate fell in line with the rest of the market, closer to run-of-the-mill securities or commodities investments. If you believe that a small depreciation is fine, you should probably agree that a small appreciation is fine as well.


> This is almost certainly due to Japan’s imbalanced age distribution.

The main issue is very similar to the US 2008 financial crisis, because of a huge asset bubble which encouraged Japanese banks to create a huge debt overhang. This turned most of Japan's banks into zombie banks, liquidity dried up. A textbook debt crisis.

Debt overhang and risk averse banks, leads to a pull back in propensity to spend or invest, which lowers demand and triggers deflation.

Yes, demographics can alter the long term tendency, but there was a step-function change in 1989 and in 2008, it wasn't like people suddenly became old. The common theme was a huge debt crisis, banking system collapse, followed by anemic response by the Japanese until Abe.

Greece had a huge deflationary spiral at the same time their debt crises hit, you think that's a coincidence? You think demographics explains the deflationary spiral in the Great Depression, which was mirrored in the US and UK? There was a 30% deflation in 1930-1932.

Let me quote Friedrich Hayek, the patron saint of the anti-inflation Austrian brigade: "I agree with Milton Friedman that once the Crash had occurred, the Federal Reserve System pursued a silly deflationary policy. I am not only against inflation but I am also against deflation. So, once again, a badly programmed monetary policy prolonged the depression."

A deflationary currency is simply a bad idea for a currency, it has a built in penalty against borrowers -- and regressive in that regard -- and would put downward pressure on demand. Couple that deflationary currency with one that is highly volatile, whose issuance can't be controlled, and you have a recipe for an future economic disaster.

I'd go one further, if it some point in the future, SHA-256 is cracked or some flaw was found in your crypto-currency, you've managed to centralize a flaw whose scale of attack is world wide, and nearly instantaneous. If such a currency replaced all other currencies, you'd in effect, have detonated a virtual electro magnetic pulse over the world economy, making trillions worthless overnight.

Do we really want to put the store of value of the entire world under something whose value could be erased in a nanosecond if there's an undiscovered flaw?


If I want an Uber or a coffee, sure, I'll spend BTC. I could make more money by waiting, but I can't live without coffee or transportation.

Why do you waste your dollars on coffee when you could invest them in a deflationary cryptoasset?


Same reason I don't put my money on the ponies. I have no experience at speculation and no confidence that I could do a good job of it. I'm pretty confident that every cryptocurrency bubble will burst in the near future, but I have no idea when this will happen and no confidence I will get my money out in time.

And I have serious moral objections to all existing cryptocurrencies. I'm not going to support something I consider immensely harmful as a get-rich-quick scheme.


Maybe it isn't the worst thing in the world to force people to think twice about opportunity costs before engaging in wanton spending?


There's a game theory problem which is that if you have a choice of cryptocurrencies at an early stage to play with, and you think they have a similar chance of success, it makes sense to invest in the cryptocurrencies with a limited supply. The fact that this will make them bad in the long run as a medium of exchange is not of interest to the early stage speculator.


> The crypto-currency crowd has this libertarian streak

I wish they did. Unfortunately the buyers who owned bitcoin the past few years are all in just coz the price is growing up. They are not in bacause the believe in anything.


The problem is not just deflation but uncontrolled issuance. Ie miners produce too much or too little coins to keep them stable.


Because it's literally impossible for people to rationally 'invest' in a inflationary currency. Therefore there is no incentive to make one popular.


If it is useful, then it does not need to have an inflating price. That people think the only reason why a cryptocurrency would ever be popular is if the price rises is a huge problem with the community.


Isn't Ethereum inflationary and popular ?


Yes, until they switch from proof of work to proof of stake. Which could take another year or two.


it won't stop being inflationary after they switch.


If it weren't for the fact that the U.S. charges capital gains tax on every little purchase, I'd happily spend my cryptocurrency and just replenish it as I go. Trading between currencies makes this a non-issue.

Also, if you're really convinced a cryptocurrency will go up, your same argument suggests you should buy the cryptocurrency rather than spending dollars on anything else. If you're not doing that, it indicates you're not totally certain of the future after all, so you can just as well spend your cryptocurrency.

There's also the macroeconomic effect of deflation to consider, but that's only an issue if there's only one currency. What we're actually getting is the competing private currencies advocated by Hayek. It doesn't matter so much if one currency deflates as long as the total money supply is sufficient.


There's really only three things people spend cryptocurrencies on.

1. Other cryptocurrencies 2. Fiat currencies & precious metals 3. Contraband


> it doesn't promote commerce and trade

The problem is that our existing financial system probably had an intention of using inflation to encourage commerce and trade, but over the past 40 years, that focus shifted from using debt for the funding of productive enterprises to debt being used for the bidding up of fixed assets like houses, but also stocks. The only thing that mattered to this bidding process was capital growth. The solution to these bubbles wasn't to reign in debt creation, or to force the targeting of debt creation to productivity, but to simply increase it. Bubble after bubble after bubble, crisis after crisis after crisis. But not only that, a death in productive capacity, which is all too apparent to the middle-income demographic.

Because of this irresponsibility of the finance world, crypto-currency technology was developed to allow people to park their productive gains in inflation resistant financial instruments. So in order to get these people to part with their inflation resistant instrument, you will have to convince them that you will give a better return than inflation, and that means by increasing productivity. You can no longer just create more debt, because the only thing that will do is increase the value of the deflationary asset, by decreasing the value of the inflationary one. That means if you want to survive as a national currency, you better start working on education and building productive capacity, because you'll no longer be able to fleece your populace whenever banking execs are looking to buy a new bentley.


Fun fact: Bitcoin is designed as a hyperinflationary currency that begins to slow down inflation as more users join and time passes.

Why?

To control the supply early and exploit later speculators.


> hyperinflationary

I don't think you understand what this word means.


It's forever part of Bitcoins orgin story that it begin as hyperinflationary and has since slowed the minting of more BTC.

The irony is the mythos of bitcoin being "deflationary" is not historically accurate and the supply is inflating every 10 minutes.

What Bitcoiners conveniently omit from explanation in Satoshis protocol is the initial "dump" of the supply to the first few users who ran the software. This is a malicious design decision intended to control the supply early.

Any user who joins the network must than attempt to psychologically exploit new users by selling their asset previously generated for less effort/work/watts as the protocol increases in difficulty to any new user.


"This is a malicious design decision intended to control the supply early."

Cmon dude, really?


Some estimates have Satoshi owning around one million BTC.

That's 5% of all the Bitcoins that will ever exist.


Yes, but many believe Satoshi to be dead or to have lost the keys. I'm not arguing that the wealth distribution is good, I'm just saying it's a little ridiculous to assume that the choice was malicious.


It's clearly malicious.

Satoshi could have used a linear growth curve. Instead he used a log curve, giving himself and the smallest user group possible (first users to run the software within the limited timeframe where the hyperinflation took place) control of the majority of the supply for the least amount of work possible.

All users entering the system late beyond users before them are needlessly exploited.


If you find it exploitative, you are free to create and use your own crypto instrument without these properties that you take offense to. All of the code is available for you to modify as you see fit, as it is open source. If you believe it has value, all you need to do is to convince others of the superior nature of your implementation, and surely they will adopt your solution for their crypto needs.


> deflationary

? It is deflationary because it is known what the total number will be, and coins will be permanently lost over time.

> Any user who joins the network

They do this out of free choice do they not? No one is coerced into acquiring bitcoin. There isn't even a coordinating body, like a company, that controls the issuance or exchange of tokens. I would encourage any person that invests in anything to understand what they are investing in before they commit their funds to it. Bitcoin is extremely unforgiving if you don't manage your security well.

None of this has anything to do with your incorrect usage of words though. You can't just invent new definitions of words because you don't like something, and you think it would be nice to assign that word to it. You don't like it. Fair enough. Don't invest in it.


Bitcoin is inflationary until the year 2140, and assuming no fork changes that sooner.

If you actually understand Satoshis algorithm and history you'll take notice at how the supply was intended to benefit the first few users to run the software during the brief phase of hyperinflation and production for minimal work, while later users are punished merely for running the same protocol and offering the same computational work equivalent to prior users.

If you consider how easy a linear curve could have been chosen by Satoshi instead of the reverse log curve, you'll understand the manipulative nature of how Bitcoin exploits new users.

The supply inflates every 10 minutes, this by definition is inflation.


The coin supply goes up until 2140 but unless it goes up faster than demand it will be deflationary.


You presume that the future was predictable in 2009. Satoshi had no way of knowing whether the Bitcoin experiment would truly work or not. How many times have we thought, "Bitcoin is surely dead" due to some Mt Gox / Silk Road / China ban scandal? It's crazy to call the people who stuck it out and believed in the coin "exploitative" when they lost 90% of their value time and time again and still did not sell.


Production costs of 50BTC per every 10 minutes has historically been a fractions of or a few pennies. Only for later users has the cost gradually increased.

The way you and many others approach Bitcoin as a tool to horde and sell to other rubes is indicative of the manipulative design where unsuspecting new users don't understand the history.


Historically? 50BTC every 10 minutes for pennies? Those prices haven't been seen since 2012 or earlier.

If you don't like Bitcoin's model, choose another altcoin to back, there's dozens of them and some of them even have inflationary models. No one is forcing anyone to buy into anything.


> The supply inflates every 10 minutes, this by definition is inflation.

Well, it's inflation of the money supply, but (while certain fringe groups confuse the issue) that's not what “inflation” alone normally refers to, which is instead price inflation, which is approximately inflation in the ratio of money supply to the utility-weighted size of the market.


>The supply inflates every 10 minutes, this by definition is inflation.

Precisely, I see BTC being called deflationary all the time, when really it's just not exponentially inflationary, but logarithmically.


I think cryptodogemoon is talking about monetary inflation, not price inflation.


I've been tracking the IOTA controversy in the LinkedIn 'IoT Security' group in this thread[¹]. The centralized nature of the technology is a worry especially because they position themselves as a decentralized solution for IoT.

Many other currencies suffer from implementation problems (buggy wallets, etc) but at least in BTC the used cryptography is well tested. In IOTA's case they managed to both reinvented the crypto (e.g. "Curl" / "Kerl" hashes) in a broken way AND made some very dangerous assumptions in the meaning of "decentralization".

[¹] https://www.linkedin.com/groups/4807429/4807429-634451121504...


As I understand it, the problem with IOTA is that — in order to execute an attack — attackers just need to verify more transactions than all honest participants combined.

So, in other words, honest participants have no incentive to verify more transactions than required (because they don’t profit from it) while attackers have an incentive to verify more transactions, in order to successfully double spend.


And to deal with this problem, they have "trusted supernodes", with a promise to turn them off when the network is self sustaining.

It introduces a high degree of centralisation - and we don't know the how network shapes up as a consequence.

And the second problem is obviously the unaudited,"quantum resistant" function.


> And the second problem is obviously the unaudited,"quantum resistant" function.

Don't forget the ternary SHA-3.


> And to deal with this problem, they have "trusted supernodes", with a promise to turn them off when the network is self sustaining.

I don’t see how the network can ever become self-sustaining if attackers only need to create more transactions than everyone else combined. Sure, as usage increases, the number of transactions an attacker would need to produce increases as well, but so does the attacker’s potential reward — since there will be more IOTA users against which he can double spend.


Could an attacker not create lots of transactions between wallets they own so the attacker is given more transactions to verify as well?


Yes, but I think what parent was pointing out was that an honest network user has no reason to do so.


Yes, but attackers being able to create transactions that they themselves can verify would make the situation even worse. What defence does IOTA have against this? It seems an obvious exploit.


I went to the IOTA meetup in Chicago, which was hosted and presented by the IOTA team.

Never before did I see an entire audience be wowed by a women engineer.

They ignored the whole Microsoft partnership idea; anyone that asked just was given the answer "it'd be explained in a future PR release."

The drama was IOTA lied about microsoft partnership and deemed hosting on azure == partnership with microsoft. In talks with different microsoft teams == sending support tickets on azure for different services.


> The drama was IOTA lied about microsoft partnership and deemed hosting on azure == partnership with microsoft

I wonder if this is a recurring theme in "crypto". At one point I followed NEO, and they pulled the exact same stunt.


>Never before did I see an entire audience be wowed by a women engineer.

What do you mean?


Whenever she talked, the crowd went "wow!" sort of like the laugh track on a 90's sitcom.

The crowd was 99.9% men. I'm a man too, and I will admit she is attractive. But what she demonstrated was nothing new, about the Tangle network which was discussed in the whitepaper, on youtube, bitcointalk, 4chan /biz/ and reddit.

Seeing IOT devices communicate by sending and receiving packets is nothing new or that exciting.

It was the same as if someone was showing you a bitcoin transaction. Literally, some tech babble, look at the pretty picture (girl in this example) and go wow.

When someone took a picture of her,a public figure of the IOTA team, other men with dates decided to white knight and tell the guy off "Don't take her picture." It almost escalated when one white knight went for his phone. Guy in question was taking pictures of presenters all night long yet no one complained.

I'm not an expert in any of these matters, but just witnessing the crowd reaction was really depressing as it goes to show Cryptocurrency is now mainstream (Good), alot of gender bias still exists (bad) and people do judge intelligence/authority on gender and age (double bad.)

Still the IOTA team is blah for lying about the MSFT partnership and the audience that night in which I was able to witness was double blah.


Microsoft claimed the partnership with IOTA -- not the other way around: https://blog.iota.org/iotas-data-marketplace-setting-the-rec...

The quote that set off this confusion:

> We are excited to partner with IOTA foundation and proud to be associated with its new data marketplace initiative. This next generation technology will accelerate the connected, intelligent world and go beyond blockchain that will foster innovation real world solutions, applications and pilots for our customers. --Omkar Naik, Microsoft


It's difficult to trust that Microsoft claimed it when you only provide a link to iota website.


IOTA made the announcement on their official blog, so as far as I know it's the source. If you're saying you don't trust the devs, then I guess we're talking about something different than I thought.

Here's the quote from the Microsoft guy involved, that caused the confusion:

> We are excited to partner with IOTA foundation and proud to be associated with its new data marketplace initiative. This next generation technology will accelerate the connected, intelligent world and go beyond blockchain that will foster innovation real world solutions, applications and pilots for our customers. --Omkar Naik


“IOTA clarifies it has no formal partnership with Microsoft”: https://thenextweb.com/hardfork/2017/12/12/iota-partnership-...



The update from IOTA was included in the linked article from The Next Web.

The IOTA founders' statement is: "We have never stated that there was any formal partnership with Microsoft, and instead always referred to them as a participant to the marketplace."

You can link to a Twitter thread where they threaten to sue someone, but that doesn't mean anything. (If anything, it's another black mark against the IOTA team that they'd use this technique straight out of the Donald Trump playbook -- threaten to sue, then never follow through.)


Maybe the best strategy for designing a cryptocurrency today is actually to make it really stupid? It's kind of like the scam logic, where you only want to get good marks in the door from the start.

If your cryptocurrency is really stupid, then only the true believers buy in, and then they all hodl. You don't want anyone too influential, and you definitely don't want people to say "okay I was tricked, I fodl".


The new UCL wallet is even worse. It’s supposed to be launched within the next few weeks. It made me lose $2000 worth of iota because of a loop in the code that resent transactions if you put the app in a background state. You know, a violation of the one canonical rule of using iota, I.e reusing an address.

The iota foundation is a nefarious and bad intentioned bunch of crooks.


One of the developers for the UCL wallet here. Can you elaborate more on how did you lose money using a wallet that is not released publicly yet and is available only for a closed group of alpha testers who all have been instructed not to use the wallet with their accounts holding significant amount of iotas?


Why would you use a wallet that is in active development and has an alpha group working on finding bugs and huge issues like this with your REAL seed/account?

This sounds like either you were tricked into using this wallet because someone said you would be better off, or you just went against all the warnings the devs have repeatedly made.


Do you have any transaction hashes to prove claims of such a magnitude? Why did you use $2000 on a wallet in alpha testing despite being warned against doing such a thing?

> that resent transactions if you put the app in a background state

This is absolutely false. There is no resending in the background. As a developer who asked to work on the project AND had access to the repository, I'm surprised you don't know the difference between reattaching and resending. Without the transaction hashes to prove your loss of such a sum, your claims are considered fictitious.


Also, I happened to take a look at the TestFlight statistics. You’ve logged the 4th most sessions for this build, which you installed Dec 8. Why would you use a wallet 101 times in the past 10 days if it caused you to lose money?


So then it goes without saying that you reported this bug, before calling people nefarious, bad-intentioned crooks?


It's pretty understandable that fanboys are badgering skeptics on social networks. If I had a few hundred thousand pop out of the blue from a cryptocurrency fad, maybe I would be doing it as well. And that's a big problem, because mainstream journalists are guilty of that as well.

MIT Technology Review, to pick one example, wrote an article about IOTA, mentioning their partnerships with mainstream companies, even though IOTA refuted the partnership notion the same day. Clearly, the author didn't reach out to any of those companies for confirmation.

I can't help but think that many of those articles are written by people, influenced by their own cryptocurrency assets. In fact, this conflict of interest for journalists could be one of the key driving forces of the bubble.


Bruce Schneier had this to say about IOTA:

> In 2017, leaving your crypto algorithm vulnerable to differential cryptanalysis is a rookie mistake. It says that no one of any calibre analyzed their system, and that the odds that their fix makes the system secure is low


How is it vulnerable to differential analysis?


Google "MIT finds vulnerability in IOTA".


While I agree with the majority of the criticisms of this post (I also posted a criticism here[1]), one has to recognise that it's perfectly possible that a cryptocurrency requires no-address-reuse. This may not be a bug but a limitation which is a consequence of its design. I know other cryptocurrency that suffers this problem: Mimblewimble. But I sincerely hope the wallet developers of mimblewimble are smarter enough to never expose addresses, in order to prevent the user to make this mistake (yes, it can be done requiring QR-code-pairing everytime you want to both send and receive funds).

To finish, let me state that I'm not defending IOTA, which I still think is a joke. Maybe I'm wrong but I cannot tell if I'm wrong or not until they shut down the coordinators (the very thing that makes IOTA centralised).

[1] https://news.ycombinator.com/item?id=15860046


Mimblewimble doesn't have addresses [1]

[1] https://github.com/ignopeverell/grin/blob/master/doc/grin4bi...


Well, see? mimblewimble developers hid this characteristic in a "no addresses" fashion, because they are smarter than IOTA devs. When they say "transactions have to be built interactively, with 2 (or more) wallets exchanging data with one another" this is what I meant when I mentioned QR codes for every amount reception/sending.


> as if this was a JavaScript some 12 year old was writing for his homebrew website.

Who can tell the difference?

> Look, let's be very clear. IOTA is a live cryptocurrency with a market cap in the billions of dollars. Real people have large amounts of value tied up on that network. It is hosted on several exchanges.

This is a naive misconception, and one of the most dangerous aspects of cryptocurrencies right now - these are NOT FINANCIAL ENTITIES, there are no bank guarantees or fiduciary rules, no technical standards or oversight, no clear liability (especially when authors/network owners may just be virtual characters). There is 100% risk involved and nobody to blame but yourself.


I'm missing what the misconception is in this quote? I don't see him saying they are regulated / guarenteed or anything like that, only that people have poured a stupid amount of money into this thing.


He implies that being “live” with “real money” and a billion dollar market cap means something. It doesn’t. He says:

“You do not release financial software to the general public in such a buggy state. You do not blame the victims for your software failing to function.”

When in fact, you do _whatever the hell you want_. This is not “financial software” in the original sense. The fact that people put significant amounts of cash in these altcoins is astounding. You only have [some] guarantees where the system itself enforces them, like BitCoin, and even then no one entity is liable for your losses because of de-centralization.

I own bits of four cryptocurrencies, and take the risk of 100% loss as a real possibility.


There's still no misconception, and you can't redefine "financial software" on the fly. He didn't state anything about there being a regulation against it, he's just implying an ethical "can't release in a buggy state".

I'm not sure why you're arguing with him though, you seem to be in agreement!


I also recently wrote an article about IOTA and got a crowd of negative flak.

https://medium.com/@thedrbits/why-i-also-find-iota-deeply-al...


There is an army of trolls connected to IOTA. You can find them very easily because they cannot defend their position. Here in HN there are plenty also.


> So… Your response to why I’m wrong is that you’re going to change everything in the future?

Well, you got a reply from Come-from-Beyond who wrote the damn thing. You've got some attention from the developer and you couldn't handle your emotions, so I'm not sure what your angle is here. Do you mind if I ask, why didn't you engage them and evaluate your own understanding? Why did you resort to a snarky one liner?


The post mentions the psychology today article but I’d like to say it’s actually a pretty okay article:

https://www.psychologytoday.com/blog/mind-in-the-machine/201...

(Author should disclose if he owns IOTA however)


That's an interesting article into the psychology and mind-tactics of crypto fans.

Not sure why you've been downvoted but the article is worth a look.


I think this is so much more interesting than all the yelling about these currencies that are not even being used like currencies. Why do people feel so personally and emotionally invested?

I mean here in this thread l’m running around trying to correct toxic misinformation, but what’s making me doing that? And what’s making the guy who brought up Cardano casually mention the rankings on coinmarketcap as if that means anything except to instill FOMO. I hope we see more articles on the psychology and sociology behind fear cycles in crypto.


The article does make some good points but it also comes over as a fluff piece for IOTA while tiptoeing around all IOTA's serious issues and implicitly labelling any criticism as "FUD".


Thanks for highlighting this, I'm going to share with all of my friends investing/thinking of investing in the crypto space. Always good to get a reminder to take everything you read with a grain of salt. Also rarely get to see these almost short-term post-mortems, which give the (seemingly) whole picture of what happened with the price increase and following decrease.


From the white paper:

“As a transaction receives additional approvals, it is accepted by the system with a higher level of confidence. In other words, it will be difficult to make the system accept a double-spending transaction. It is important to observe that we do not impose any rules for choosing which transactions a node will approve. Instead, we argue that if a large number of nodes follow some “reference” rule, then for any fixed node it is better to stick to a rule of the same kind4. This seems to be a reasonable assumption, especially in the context of IoT, where nodes are specialized chips with pre-installed firmware.”

Is this for real?


These days it's absolutely impossible to get any serious conversation about any of these cryptocurrencies. Maybe you can do something with Bitcoin and Ethereum, but for any of the others all the foruns and chats are just flooded with crazy people.


Tell me about it. I need to follow the tech and communities as part of my job, and sometimes it's seriously hard to have any discussions e.g. in IOTA's Slack channels.

On the contrary, Monero uses IRC for their communication and maybe because of that I've seen more adult discussions in their community. Of course lots of money being on the table, things can get pretty sour everywhere.


It's a shame, quality conversation can help a coin project in the long run. But it's clear that right now IOTA is in the pump-or-you're-a-fud-shill phase and communication is impossible.


Communication is possible if you talk to the right people. Keep in mind that the people who are actually working on the technology itself or it's adaptation and implementation are not hanging all day around on reddit or #speculation channels. I'm running an iota network statistics page, so people assume i'm more educated about iota and I receive clarification, technological or simple development questions on Slack on daily basis. I do answer all of them as best as I can, a lot of them have been evolved in pretty long discussions and I have received the same attitude from other iota community members.


I can just totally agree with the author. I had more or less the same experience.

IOTA is totally immature in terms of development, technology and PR (see fake partnerships and absence of public statement for the network status).

Apart from this it just look like a nice and interesting white paper but that does not actually work in reality yet


Honestly this article tells more about crypto currency investors in general than about this particular crypto currency.


> RULE 3: ALWAYS wait for a transaction to be confirmed before sending anything else.

> Rule #3 is just another admission of a broken network. Really not much else to say.

It sounds like an admission of vulnerability to double-spending.


Not really. This isn't an actual vulnerability of the network to double spending, it's just a wallet (or wallets) issuing multiple transactions for the same coin (he may actually just mean the same address rather than the same coin, so that you don't come a cropper of the private key issue). This is possible in pretty much all cryptocurrencies, and their mechanisms for dealing with it (ie only honouring one of the transactions) is one for the core functions of any cryptocurrency.


Perhaps the downvoters can explain why that isn't the case.


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.)


> 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.

Weeell...In currencies like Bitcoin it's crucial that everyone have the most efficient implementation. Otherwise nobody will bother mining, if they can't do it efficiently.

I guess IOTA doesn't depend on the proof of work in the same way. But then again, IOTA seems hopelessly broken?

As I was reading the article and the "promises" of IOTA, I was thinking, "Okay so they must not be using Satoshi's solution to the consensus problem". It's not surprising to hear they don't have a solution. Sure this means the software might not have to be efficient. But that's cold comfort if it doesn't, you know, work.


>Weeell...In currencies like Bitcoin it's crucial that everyone have the most efficient implementation. Otherwise nobody will bother mining, if they can't do it efficiently.

Parts that have very critical performance, especially proof-of-work code, can be in native code. (And if it's modularized well-enough, that code could be sandboxed to contain the damage of any vulnerability, so any remote-code-execution exploit can only corrupt the mining process with nonsense without being able to get to private key data.) Or a safe-and-performant language like Rust could be used.


"IOTA is deflationary (has a fixed number of tokens, there will never be any more, and has no inflation at all, no issuance schedule for new tokens). All tokens which will ever exist were created on day one and pre-distributed to people who signed onto the project very early."

Yeah, I'd push that pretty hard, too.


What about the other DAG technologies like the one used by ByteBall? I’m not crypto-intelligent enough to analyze them but could DAG be a credible replacement for the blockchain? Iota is just a very well marketed option in that space. Their execution seems shoddy.


I love ByteBall, but also likely the required crypto intelligence. But AFAIK they are a relatively mature DAG tech, with oracles and smart contracts already working (P2P UFC betting being a relatively popular example). XRB is another promising DAG tech (which I currently own), as mentioned. I suggest you look into both if you're interested.

I'm big on DAG tech as I see it being the only form of crypto currency that I can buy my coffee with, without waiting so long for confirmation that it isn't worth it. Whether it can be a suitable replacement to blockchain though I don't know, it may be an apples to oysters type of comparison and one may have strengths where the other has weaknesses.


disclaimer: I own some of these so I'm not without some bias.

Thus far I've been pretty impressed with Raiblocks (XRB). Near instant (1-5 seconds depending on the wallet in my tests so far) and fee-less.

I'm pretty keen to check out the other DAG projects after this one.


The whitepaper (https://raiblocks.net/media/RaiBlocks_Whitepaper__English.pd...) is actually very readable, I really like it. Too bad it's almost impossible to buy right now.


The author is also a LLVM engineer who's worked for Qualcomm, Dell and AMD.


why would you dump $2,000 dollars into a crypto coin you don't understand


The author dumped a lot more than $2,000 into IOTA.

They mention buying 26,000MI at $0.85, which would be a $22,100 investment. Just 5,600MI was worth $28,000 at $5/MI.

Why anyone would put that amount into a cryptocurrency they don't find trustworthy is beyond me.


> Why anyone would put that amount into a cryptocurrency they don't find trustworthy is beyond me.

The richer you are, the more likely you'll consider 5k small change. Same reason why the big bet poker tables have non-experts sitting there.


There's a dead reply here that mentions a very, very good point.

There's a HUGE sum of money out there that people made as early bitcoin investors. For various reasons, large portions of it are being gambled in other cryptos. The nature of cryptoexchanges make this easy to do, and it's without question inflating other coin markets.

It's been this way since forever, but now BTC is worth so much that the effect is much more prominent.


Because then people will say - he is an outsider so his opinion is FUD or maybe he is jealous because he missed out the rally to $5 and trying to tank the price.

There is no winning this debate in cryptocurrency, is it? Damned if you buy and damned if you don't.


Because you don't understand any crypto coin, but know or have heard of people who have dumped large sums into some coin and brag about their returns, so you want in on the gold rush.

FOMO, essentially.


Let's be fair, the author did do more research than 95% of other investors before buying...


True but he’s still playing with fire. No one knows when the bull market will dry up but lots of people will end up losing money.


He's not playing with fire if he invested what he can afford to lose, he's just having fun like people do when they bet on horses or similar gambling (as longs as it's done responsibly obviously).


This is possibly the best bug report of all time.

https://github.com/iotaledger/wallet/issues/762


Pardon for off-topic, but the arguments he makes about double-spending (the third "rule" from that linked forum post) made me realize I have some gaps in my understanding how Bitcoin handles overlapping transactions.

Suppose I have an address with 0BTC balance. (i.e. I have the private key of it on my PC. There isn't yet anything about that address in the blockchain.)

Some other person sends 100mBTC to that address. I can see that the transaction has spread through the network but it hasn't been added to a block yet.

Because I'm overly trusting and/or in a hurry, I don't wait until it's confirmed but I immediately send another transaction that sends the 100mBTC to some other account.

If a miner first picked transaction #1, added it to a block, then added transaction #2 to the following block, both transactions would be valid. However if a miner tried to process transaction #2 first, it would be invalid.

So what would happen? Would miners bring the transactions into correct order and validate both, only validate #1 and reject #2 or reject both?


Bitcoin transactions aren't as simple as "send X BTC from address A to address B". What's actually happening is that each transaction contains a number of inputs and a number of outputs, all of which have unique hashes (used to uniquely identify them in the system). Each input must either be a previous output, or the special case of no input in the generation transaction that each block miner gets to create (this assigns the bitcoin generated in each block and any fees accumulated from the other transactions).

So, if I send you 2 BTC to a single address, the transaction will probably have a single output. If you then try to send somebody 1 BTC your transaction has to use the entire 2 BTC input (which was the output from my transaction to you), but will have two outputs, 1 BTC with an output for whoever you're sending it to and another 1 BTC to an address your wallet controls.

So your transaction in the above example has to refer to the 2 BTC from my transaction by unique hash, it's not simply saying "send any 1 BTC from this address". This is all dealt with by your wallet.

Due to this, if transaction #2 was being processed first it would be using an input that didn't exist on the blockchain and would therefore be invalid.


Thanks for the explanation. This clears up a lot!


This is not an issue in bitcoin. #2 is never valid until #1 has commited, so #2 would not be included in any block.


I could be wrong but I thought miners were always in sync, miners are effectively writers to the ledger and single threaded. They all mine the same transactions in the same order. The first to find the hash with correct difficulty gets the block, which triggers the other miners to stop and verify. Once verified the new block becomes the seed for the next block. So the first transaction will always be processed before the second transaction. The second transaction would be committed as long as you had enough balance remaining after the first transaction.


Not true. Each miner may choose by whatever logic which transactions to include in the block they are mining. They are however are likely to prefer those which pay higher fee.


> You do not release financial software to the general public in such a buggy state

and there it is, the inherent confusion between public expectations and programmers WRT cryptocurrencies.


Great post, I was wondering why transactions were disabled to binance...appreciate the info. And the warnings.


the recent network issues are really annoying but if you run your own full node tx are confirmed in max 20min. something that should be kept in mind IOTA is in early beta and was always promoted as that. when people start to pump it and without reading an announcement right, why should that be iotas fault? and about the usability of iota, when have you started with cryptos? go back to 2011 and look for a good usable wallet (hint: you won't find anything). iri is a reference implementation a C and Rust Version is in developement.

IOTA is clearly about to proof that their protocol works, here some brain food: https://arxiv.org/pdf/1712.05385.pdf


They are about to prove their network works after making unreasonable assumptions as prerequisites to the proof.


can you spot me to this unreasonable assumptions?


BTW, administrative issues: I wonder why my previous post with the same link less than 1 day ago was not reused for this thread https://news.ycombinator.com/item?id=15935601 is this a HN bug? Just today I tried to post an article already posted three days ago and I was directed to the first post thread.


There is a query parameter "m=1" at the end of this URL. I guess that's why it wasn't marked as duplicate.


That is a HN bug since the canonical page is without that suffix:

  <link href='http://codesuppository.blogspot.com/2017/12/iota-tangled-mess.html' rel='canonical'/>


I think that there are still problems with the algorithm. The tangle was in a bad shape a few days ago and I considered selling my IOTA but I decided to hold because based on my understanding of how the tangle works, these problems are fixable.

Until I find something fundamentally wrong with the idea of the tangle, I'm going to hold.


Where did this post go? Did the author get a takedown?


I am also curious about that...


This guy is blaming the Iota founders because he doesn't understand computer science? Their whitepaper is organized like any other publication in computer science. As for the Java vs C++ comment, he's simply uninformed. Not to mention there are many ports in various languages. I wish he'd done some research before posting bogus rhetoric.




Consider applying for YC's Winter 2026 batch! Applications are open till Nov 10

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: