Buffy's IOTA Facts

Logo

Hi I am buffy. I do premium IOTA tech consulting.

All articles · FAQ

IF exaggerates Chrysalis TPS by 4x

TL;DR: IF claims that the last stress test of Chrysalis Phase 1, the network achieved 1000 TPS. In reality, this number is closer to 250. Low-power “IoT” devices (e.g. Raspberry Pi) started failing even earlier, between 35-100 TPS, and the IF knows this.

Tweet:

https://twitter.com/iotatoken/status/1296112002155393024: @iotatoken claiming 1000 TPS.

IOTA defines “TPS” differently than everyone else

1000 Transactions are really 250

TL;DR: You can’t compare IOTA “Transactions” with other DLT’s transactions. Bundles are comparable, and 4x slower.

“Well why does it matter? IOTA counts differently”

Raspberry Pis were falling off the network at 20-40% of max TPS

TL;DR: Raspberry Pis, explicitly recommended by the gohornet team, were falling off the network at 150-400 “TPS” (or, 1/4 of those, 35-100 value TPS).

The first two sentences on the gohornet page read:

HORNET is a powerful, community driven IOTA fullnode software written in Go. It is easy to install and runs on low-end devices like the Raspberry Pi 4.

The implication here is that a node running on a Raspberry Pi 4 can be a fullnode in the IOTA network, and the tweet specifically stated that the network reached 1000 “TPS”. But they weren’t, and the IF knows this:

/chrysalis1-tps/Untitled.png

/chrysalis1-tps/Untitled%201.png

/chrysalis1-tps/Untitled%202.png

So this means that raspberry Pis were dropping out of the network (loosing sync) at 150-400 messages per second (so about 35-100 transactions/sec). (I don’t know whether they were able to recover below that threshold, or whether they went into cascading failure mode).

So, either the network does 1000 “TPS”, or Raspberry Pis can be part of the network. Can’t have it both ways.

More broken stuff

Zero-Value transactions are not transactions (and the IF knows that)

White Flag gave you that speedup, and it will be removed again

Other

I also want to make clear that I’m only commenting on how the IF has handled this, and I’m not trying to disparage the gohornet team. Hornet seems like a pretty solid piece of software, a significant improvement over IRI. Even at 1/10th of the advertised TPS, I think this is a pretty good result for Raspberry Pis.

Appendix

TPS counting method

/chrysalis1-tps/Untitled%203.png

/chrysalis1-tps/Untitled%204.png

/chrysalis1-tps/Untitled%205.png

/chrysalis1-tps/Untitled%206.png

Edit: Because I keep getting told that “you just screenshotted a fraction of muXxers message”, here is the full thing. Spoiler: I’ve addressed all these points above already, the full quote has no impact on the key argument(s).

/chrysalis1-tps/Untitled%207.png

The two “additional” arguments here are

Edit 2 (2020-08-30): Changed the title from “10x” to “4x” - Gerrit correctly pointed out that you can either assume knowledge of IOTA (=> be surprised that Raspberry PIs can’t keep up, but know that TPS = data TPS), or not have that knowledge (=> expect TPS = value TPS, but don’t assume Raspberry PIs are in the network) - but not both at the same time.

I decided to keep the “4x” value/data discrepancy because this seems to be what most people (community members included) seemed to be most surprised by.