A Possible Solution To Bots...

3 months ago

Hey there, my name's Armin and I'm a blockchain developer. 

One of the topics thats been of great concern is the problem of bots being rampant on similar communities such as Steem, and the detrimental effects that they can have on the user experience. For example, it's not fun to have 10 bots spamming you with a welcome message when you first log into your approved account.

I have developed some bots so I understand how they work internally.

I will propose a solution to deal with them, using incentives.

As you may or may not know, bots use a lot of bandwidth...because they spam the blockchain with transactions.

Humans use very little bandwidth in comparison.

The easiest way to solve the bot problem is to limit bandwidth exponentially.

So no human hits the bandwidth limit,

but every bot does.

Here's an example of what the bandwidth algorithm could look like:

For Steem, it looks more like this:

But of course, we want whale tokens on this chain, right? If we limit the bots we can't have them!

This problem can be solved by building the whale tokens into the heart of the blockchain itself. Let's say Armin creates an ArminToken that he wants to pass out to those that help him get stuff done. The tokens he issues are able to be used to upvote posts throughout Whaleshares. 

The amount of upvoting power is deducted from Armin's account and "delegated" onto the newly issued tokens. 

Of course, we can make it cost a certain amount to issue a new whale token and subsequently burn those tokens or reward it to community members that help out with making Whaleshares more awesome.

Let me know your thoughts/concerns on this proposal.

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

I do think that bandwidth limits should be much more strict.
I don't know if it should necessarily be to limit bots- but to limit unnecessary bloat and spam.
We definitely don't want to limit it for new members, so the exponential factor would probably be a good bet. Especially if a minimum threshold isn't in place.


Right, new members won't be affected by this change. They will still get the same amount of bandwidth as they are currently. However, if someone wants to spam the blockchain, they will need 1000x as much or so stake in order to do so, which is not worth the risk/reward for bots. It always puzzled me that human whales on Steem almost never use a fraction of their available bandwidth. The whales using bots obviously do use more, though.

Reading this after reading Steem's new post about scalability makes me think about how this will effect scalability. Adding these tokens will increase the size of the chain state as it will then need to contain the data on each token as well. Of course, we will want to do something about scalability anyway since I personally think the at least 256 GB RAM that Steem currently requires to run a full node is ridiculous and we will want to do something about that before it gets to that point anyway. So I think this is a good idea but it does highlight the scalability issue which is something we'll need to address sooner than later anyway.


Good point, but I do think that it's probably a mistake to store all of the chain state in RAM. Many of the tokens issued will be used infrequently and can be "loaded" from long-term storage (not RAM) when a user uses the token. This will decrease the load on the blockchain as only the most performance-critical state will be stored in RAM.


That's a good idea not just for the tokens but for the chain itself. If we can figure out a solution as to what needs to actually be stored in RAM and what can be stored on SSD that would definitely increase scalability while providing a solution for the tokens and allowing us to solve the bot problem.