If a botnet or an entity with large CPU resources were to upload copious amounts of data to the tangle, how would full nodes cope with all that data? Do full nodes need to store all the data from every transaction sent to the tangle since the last snapshot? I can understand how an increase in transactions help the tangle, but what about the case where every one of these transactions contains 2186 trytes/1300 bytes, and these transactions come in at such a high rate that the storage capacity of full nodes is reached? 1000 transactions per second would be 1300000/1048576 = 1.24 MB of data every second, so all the full nodes would fill up with 4.46 GB every hour and 107 GB each day. So if someone had the resources, could they just not wage a "data attack" against the network? Flooding it with so much data that all full nodes would run out of space?

Another way to phrase this: It costs only CPU cycles to put data on the tangle. Does this not make the data storage limitations of the network vulnerable to an entity with vast amounts of CPU cycles available to it? How many CPU cycles would be required to overwhelm the data storage limitations of the average full node?

1 Answer 1


Trying to recall something mentioned by CfB a while back, I believe IOTA will eventually use collective memory usage: In a sense that hash-based signatures will be reduced from 8192 to 64 bytes - which is over 99% compression therefore size will not be an issue. Also don't forget about snapshots

  • 1
    The reason I'm considering this is because some services are popping up claiming to allow people to use the IOTA tangle as a data storage service; telling people that they can literally use the tangle to store their data. I'm thinking that this couldn't be practical on a large scale... ie. for the whole world to store all their data on the tangle... or to use the tangle as a data-storage centric service. There has to be some major drawback to using it for such a purpose. There is no way nodes could cope with this quantity of data.
    – AaronH
    Dec 22, 2017 at 21:38
  • 1
    What kind of cpu resources would be required to reach the data storage capacity of full nodes between snapshots? The reason I ask is because the tangle is resistant to malicious attacks that try to push through illegitimate transactions due to an attacker's inability to reach all full nodes with those transactions, due to the structure of the tangle... but one way an attacker can reach all full nodes is by sending legitimate transactions that are crafted in such a way that they harm all full nodes. For this reason, we need to be careful that legitimate transactions cannot be crafted to do harm
    – AaronH
    Dec 22, 2017 at 21:51

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.