Blocktwitter Spams The Network. Is Greylisting The Answer?

in eos •  last year 

Block One (7).png

12550181 tweetblocktwitter{"message":"WE LOVE BM"} 12550181 tweetblocktwitter{"message":"WE LOVE BM"} 12550181 tweetblocktwitter{"message":"WE LOVE BM"} 12550181 tweetblocktwitter{"message":"WE LOV

I'm quoting Tweetblocktwitter here. The stress test king or ETH fanboy or who knows who this person is. All we know is that he is blocking people from using the EOS network. Or rather, he is blocking the fun for those with not a lot of EOS staked in CPU.

Over night my little EOS gaming account went from having 30 EOS staked in CPU and suiting my eosknights need pretty well, to become completely unusable. Luckily for me I could revoke my Scatter identity paired with EOS knights and log in with another account. Of course I had to start playing EOSknights from scratch with that account, but better than nothing.

Screen Shot 2018-08-23 at 09.33.09.png

Now, some people not being able to play EOS knights (we're talking a few hundred people most likely) is not the end of the world. But what is going on?

There are different theories and potential solutions perhaps;

Some claim it's Dan Larimer himself. BM stands for ByteMaster which is Dan's online handle. Someone adds - why not stress test at low use times

Although there is nothing account holders can do, Block producers CAN. Netflix-uk-1971 on Reddit writes this;

You're right that there's nothing account holders can do about it. However block producers can 100% do something about this problem:
It's @greymass leading the way and doing the right thing again. But they can't do it on their own, they're just one of 21 other BPs and the rest are currently letting this happen.
It would be a better solution if account greylisting was automated and resource abuse was better managed in an automated way in EOSIO but today it's not and it requires a BP to make a call on configuring their node to greylist an account.
Greylisting is a good solution for this problem, it won't ban blocktwitter, it will just prevent that account making things worse for the rest of us. At the end of the day we know platform TPS is excellent and is way beyond what is really needed at the moment.
So come on people, get on telegram and get nagging your favourite BPs to test greylisting and to greylist blocktwitter!

Steemit post by Greymass on the subject of greylisting

As a concrete example, we will take the account blocktwitter (also chaintwitter). It is clear that their usage applies to subjective metrics: many would argue several gigabytes of transactions, comprising of 192 million actions, which is ~95% of all EOS transactions to date, are not important. These transactions all say "WE LOVE BM", which is fairly unnecessary and probably do not need to be immutable forever. However, we need to look at the objective metrics.

This account has malicious or poorly written software. When a transaction is rejected by our API node, citing that they are out of resources, the account immediately tries again by sending a new transaction, without even waiting for the next block. Their software should detect that the next transaction would not be accepted before sending it.

This account multicasts transactions to multiple endpoints. While unclear if intended to be a DOS attack, it is clear that this is done to attempt to avoid (1), i.e., the rejecting of new transactions when it becomes clear that usage has been exceeded.

This account has continuously been performing these actions for over a month, and is the root cause of the inability for the average user to perform "regular" EOS actions -- their behaviour has completely removed anyone else's ability to use from the leftovers.

For these reasons, we have decided to greylist the two accounts blocktwitter and chaintwitter. As a reminder, this is not a form of censorship -- they will still get their lunch just like everyone else. If they would like a bigger lunch (more "LOVE BM" messages), we recommended that they stake more EOS to do so, and not consume the community leftovers.


I'm confident that this issue will be resolved in a good manner, but when addressing the issue and trying to explain why it's at least a short term problem for people who are not heavily invested I get met with "you're a fud spreader" on Telegram. When asking why my CPU is not cooling off gradually as I thought it should and why my CPU limit is higher than my CPU usage unfortunately my comment gets deleted and when I post again it gets ignored. I think there are certain people that creates more FUD than nescesary when try to bully you or ask you to go join ETH instead - instead of just saying that they are not sure.

I was being told that well, you're doing 220 transactions a day with not a whole lot of EOS staked in CPU. I guess I am, but if we want games to run on EOS blockchain - we certainly want to make at least that amount of transactions per day. And we don't want people to have to have 300 EOS staked in CPU to be able to transact. No way that's the road to mass adoption. I hope it's allowed to be critical. Not spreading FUD or anything like that. And these things are usually resolved quite fast - and I like how things have been resolved in the past. So we will wait and see. One thing is for sure - it's hard to get good answers sometimes. And I suppose that is because's hard.


We will look into this further, but the curves look very much like our congestion controls taking affect.
When the chain is mostly idle, accounts can use up to 1000x more than what their stake would indicate. As the usage of the chain peaks, we reduce this multiplier down to a strict 1:1 ratio of stake to bytes or microseconds. It is possible that the ADD airdrop had enough transactions to push the chain into this 1:1 congested state and the required stake to operate was temporarily larger than it had been. Once the congestion abated, your resources were restored to the levels expected correct?

  • Wanderingbort on Github

Anyone have anything to add? I will update with a post as soon as I understand more about this. Right now I just wanted to address it because there seems to be so much confusion. Conclusion is that it is only affecting small stake holders that use many transactions per day. And that it IS possible to solve this problem, and they probably will - but it is not precariously.

EOS mastering.png

Disclaimer: EOSmastering is not affilated with EOS in any way. I am just an investor and layman trying to understand blockchain technology and then sharing the information I gather. I don't guarantee that what I write is correct. So please always do your own due diligence.

Authors get paid when people like you upvote their post.
If you enjoyed what you read here, create your account today and start earning FREE STEEM!
Sort Order:  

Good writeup!

I work for a cloud computing company and we lease VMs to organizations & individuals (mostly Developers) and we run into similar scenarios: there's one machine using its resources excessively (like CPU) and causing performance issues for other people on the platform.

While in this case last night, it's pretty clear that SPAM was afoot (because of the message) and a denial of service issue arose.

At my job, we'd just throttle the one user's resource to balance everything out on the platform -- but with this EOS situation, that's kind of tricky.

TBH I'm still trying to wrap my head around how this "greylisting" idea actually works. Do you know how to explain it like I'm 5? lol. But yeah, excessive use is a problem in a shared environment.