You are viewing a single comment's thread from:

RE: Blockchain Update 3: Hardfork 20 and Release 19.4 – AppBase, StatsD, and RocksDB

in #steem6 years ago

Removal of 20 Second Comment Limit

Did you test that the code can sustain that? Won't we just be DDOSed to death?

Sort:  

This can already be done by creating multiple accounts (with 7 accounts you can post every 3 seconds, the same as will be allowed for one account post-fork), or using transactions other than comments, which don't have the same time limit. The real protection against DDoS is the bandwidth limits (being improved) not the 20 second limit.

My question is twofold I guess:

  • on the blockchain, can you give an idea on how much bandwidth a comment take? or more like if I have 500 steems, how much comments will I make? btw was the limit on the UI or the blockchain itself?
  • off the blockchain, can the api/steemit.com sustain a hypothetical X20 the number of tx/s ?

In the current system bandwidth is mostly just measured in terms of the number of bytes. That's not very good because different operations use different resources.

As for capacity, it doesn't really work that way. Blocks have a set size (and in HF20 there will be limits on other resources too) and everyone is limited to a multiplier of their assigned bandwidth (according to SP). If blocks are full then the multiplier decreases and if they are not full then the multiplier increases.

So everyone already has multiple limits and it isn't possible for everyone to send 20x more transactions, even if the 20 second rule weren't there. The multiplier decreases and everyone gets more limited, according to available bandwidth.

The only change here is that once per 20 seconds is no longer an arbitrary limit for one account even if there is sufficient bandwidth available.

Thanks for the details. With all those limits, the only way to try to DDOS steem on-chain is to have a large amount SP, right?

So you have a bunch of limits on-chain. My second concern was that before those limits kick in, you still need to receive and process them. Did you test the steemd/the api can sustain a bigger load or do you assume there is no need? I mean it as someone sending the same tx again and again, that will be blocked by the blockchain when it gets there or more active users commenting live the world cup final.

It depends on the amount of data in the comment (text and metadata)