7 ms·
>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 los
by tasubotadas 9y ago
>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.
- planetjones 9y agoMe 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.
- acoye 9y agoHe 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.
- seanwilson 9y agoI 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.
- chrisco255 9y agoThat's what Texas is supposed to use but it's wrapped up in lawsuits at the moment.
- chrisco255 9y agoTezos, not Texas, auto correct...
- seanwilson 9y agoHmm, 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.
- catwell 9y agoAFAIK Cardano (ADA), which is booming (passed IOTA and became the 6th largest coin this week), is implemented in Haskell.
- mhluongo 9y agoA coin "booking" doesn't imply technical strength- that's the problem here.
- mhluongo 9y ago*booming
- twayamznacct 9y agoWhat 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/ 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...
- amenod 9y agoDifferent 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.
- jerkstate 9y agoCardano 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)
- alttab 9y agoOn 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.
- JonasJSchreiber 9y agoUsing 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.
- sireat 9y agoThe 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.
- junk_f00d 9y agoHave 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!
- scrollbar 9y agoI 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.
- kleiba 9y agoI 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.
- seanwilson 9y ago> 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.
- kleiba 9y agoYet, the original author finds it fishy that IOTA is not implemented in C++.
- seanwilson 9y agoThe 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.
- 9y ago
- raverbashing 9y agoWhat about the mining code? Is it still in Java? JNI?
- pimeys 9y agoWhen 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.
- dna_polymerase 9y agoEthereum has a Go implementation. The Java argument is BS obivously. The protocol needs to be valid, not a single implementation.
- tfha 9y agoSingle 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.
- awirth 9y agoYou can have the exact same problem with just different versions or even configurations.
- jncornett 9y agoI 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).
- DennisP 9y agoIn 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.
- rthomas6 9y agoTo be fair, Ethereum also has a C++ and a Rust implementation.
- dna_polymerase 9y agoSure, just wanted to make it clear that not all cryptos completely rely on C++.
- sillysaurus3 9y agoI 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.
- CydeWeys 9y agoI had the same reaction as well, though. Sometimes one foolish thing that someone says really can make you suspect everything else they're saying.
- flavio81 9y agoYes, that was a very silly thing to say, but the rest of the article has interesting criticism.
- shak77 9y agoNot 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.
- d35007 9y agoReally? Plenty of experienced people start new projects in Java by choice.
- escape_goat 9y agoBefore 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.
- tasubotadas 9y agoSure. The problems the author mentioned with IOTA are definitely there. But as a developer, I just couldn't let that one slide.
- hossbeast 9y agoYou should just evaluate his points instead.