FAQ: scalability and security
1. Why does Hathor have a 200 TPS limit if the DAG is able to handle millions of transactions per second?
Hathor is not actually restricted to a hard TPS limit. The threshold of 200 TPS was achieved by the last stress test and it was the highest stable TPS. Nevertheless, several optimizations have already been identified to get the TPS rate closer to the values from 2K to 10K that has been mentioned in the article On cryptocurrencies scalability and decentralization.
Such an article underscores it is possible to verify 2.700 signatures/second on a thread of a specific processor. Verifying signatures is one of the main CPU bottlenecks of verifying transactions. A transaction could have many signatures though. Hence, by optimizing a node to its fullest and without any protocol changes, it would possible, in theory, to have a TPS in that order of magnitude.
The TPS threshold of around 10K is actually a hardware limitation. Several chains get around that by requiring really beefy hardware for running nodes - like requiring server-grade processors with 64+ cores.
2. Is there a way to scale more than 10K TPS without requiring supernodes to the rest of the network?
Each side of DAG is almost like an independent chain that only uses the main DAG's consensus to reach finality, without barely using any resources. For certain use cases, they might benefit a lot from being implemented as a side DAG, which would "bypass" and not count towards the network limits.
A more detailed explanation about scalability is available in the article On cryptocurrencies scalability and decentralization.
3. Since HTR has no fees, how do Hathor prevent a malicious user transaction spamming the network or running a DDOS attack?
Hathor requires PoW for both transactions and blocks. There is a built-in PoW on the client-side that requires Pow for low-weight transactions like token transfer. This basically means that anyone spamming the network would have to perform PoW for every transaction, while also validating two other transactions with each generated. This PoW for transactions essentially is raising the hash power and throughput of the network making it more secure.