On counting paid voting services - and their number was never that high!

in #utopian-io4 years ago (edited)

Repositorty

https://github.com/steemit/steem

Introduction


bots.png
Source: Erik Stein, CC0, modified

Like it or not, paid voting bots in the form of bid-bots or insta-vote bots are a central part of Steem as it is right now. Authors send a certain amount of SBD or STEEM with a post URL in the transfer memo and get an upvote, often with a positive ROI. Undoubtedly, the amount of paid votes on posts makes up a significant fraction of all votes. A couple of previous contributions worked on different aspects of this, for example distinguishing organic votes from paid and sponsored votes, estimating bid-bot income or analyzing the flagging behavior. A typical approach to account for paid voting bots is to use a list of the most prominent bots or to grab the list of bots available via steembottracker.com, either manually or by querying the API:

https://steembottracker.net/bid_bots
https://steembottracker.net/other_bots

However, are all paid voting bots present on steembottracker.com?

This contribution is meant to take a step back and identify and count paid voting bots based on their blockchain activity. This is meant to give an overview how the paid voting bot situation changed over time and to provide conclusions whether using the steembottracker list to cover the vast majority of paid voting bots is a safe choice for analyses. Bid-bots existed before the bottracker and bot owners can decide whether they want to be listed there. How big is the market for bots not listed on the tracker?

Outline

  • Scope of the analysis and tools
  • How many paid voting bots are out there right now?
  • Is their number changing?
  • How big is the market outside the bottracker-listed bots?

Scope of the analysis and tools

The paid vote concept is pretty simple: send SBD or STEEM with the URL of your post in the memo to a bot and get an upvote in return. Paid voting bots can be identified exactly by this pattern:

  • iterate over all STEEM/SBD transfers containing a post URL
  • check if the transaction recipient voted the post in the transaction memo shortly after

I've chosen a time interval of up to 5h between the transfer and the vote. Most bots use 2.4h bidding rounds. Some of them move bids to the next bidding round in case the round is already full. With a 5h window, two typical bidding rounds are covered. A voter is considered a bot if it voted on 5 or more posts received via memos per day.

The data was queried from a local MongoDB database containing all Steem blockchain ops from the dates analyzed. This database is a heavily stripped down version of SteemData.com, using beem instead of steem-python to fill the database. The full query and all processing scripts are on my github. The core query is here. Account information like total SP is queried directly from the blockchain using beem. The list of steembottracker's known bots is fetched with the API calls listed above.

The blockchain data from a couple of different days was analyzed. The data of the "current state" is based on all transfers on May 14th 2018 together with the steembottracker bot-list from this date. Votes are considered from the same day plus 5h into the next day as described above. The number of bots is additionally queried on the first day of the last couple of months and more frequently in the last couple of days to see trends in the numbers.

How many paid voting bots are out there right now?

Status on May 14th, 2018
Number of bots listed on steembottracker.com168
Number of active bots153
Total SP of the active bots20.5 million SP

A bot is considered "active" if it voted for at least 5 "bids" per day. Not all bots on steembottracker are marked as active, and not all active bots are part of the bottracker list. This list does not contain any "sell-your-vote" transactions as they are done with minnowbooster, smartsteem and others. Also not contained are cases where the bid goes to one account but the vote comes from another like it was partly done with randowhale a while back. Not contained are votes paid off-chain like from SBD/STEEM balances deposited at the bot. This is possible at least with minnowbooster. A total of 20 million SP without all these special cases is already quite a lot! It does however not necessarily mean that all this SP is "effectively" used with 10 voting cycles per day.

Is their number changing?

Absolutely!

bots_over_time.png

While we had 28 active paid voting bots on Nov. 1st 2017, we had more than 170 of them in the first week of May 2018. The number is slightly reduced to 153 for the latest state on May 14th. The general trend is a pretty steep rise in the number. If the last few days really mark a reduction in the number of bots can only be confirmed with data from the coming weeks.

It cannot be denied that more and more users decided to run a paid voting service in the last couple of months. However, the number of bots on its own is only part of the picture. Another important metric is their total Steem Power. Unfortunately, it's pretty time consuming to reconstruct the Steem Power of accounts at earlier times. For that reason, I'm only looking into the current state for the following aspects.

How big is the market outside the bottracker-listed bots?

These pie charts show how many of the active paid voting bots are listed on steembottracker.com. The left chart is by number, the right one by effective bot account Steem Power:

tracked_vs_untracked.png

Around 70% of all active paid voting bots are listed on the steembottracker, around 30% are not listed. This means that there is quite some market of bots (by number) not using the tracker. However, looking at the SP distribution of bots that are listed on the tracker vs. those who are not, there's only 1.6% of the total SP not on steembottracker.

Conclusions

  • There are currently around 150-160 bots running paid upvote services with a total of 20.5 million SP, without taking sell-your-vote or off-chain payments into account.
  • There's a steep rise in the number of active paid voting services since end of last year. More and more users decided to run a paid upvote bot. If the slight reduction in the last couple of days really marks a turning point can only be judged with future data.
  • Around 70% of all paid upvote bots by number are currently listed on steembottracker, covering more than 98% of the "available" bot SP. This means that the number of bots on the tracker is not necessarily the actual number of active bots. But summing up the votes from those who are listed gives a pretty good estimation to calculate the overall share of paid bot votes with respect to all other votes. It is therefore safe in most cases to use the steembottracker bot list for analyses of paid voting aspects.

Proof of work:

https://github.com/crokkon/steem-analyses/tree/master/1805_paid_voting_bots

Sort:  

To take the analysis further, I also have findings that the bid-bots gives bid to over 2000 posts and takes a 20% share from reward pool.
I will issue a report on that also.
FD.

Hi @crokkon, thank you for the contribution. One thing I have in mind is that there must be a limit to the number of these bots since there's only a limited supply of SP available for lease. Perhaps that number was the one shown in your chart - 170.

Also, another data I wanted to see was the % of the total SP of the active bots compared to the total available SP. At least to have an idea how much these bots hold compared to the whole.

Your contribution has been evaluated according to Utopian rules and guidelines, as well as a predefined set of questions pertaining to the category.

To view those questions and the relevant answers related to your post,Click here


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Hi @eastmael, thanks for your comments! There's not really a limit to the number of bots (apart from the number of accounts in Steem). The current number of bots is far off from any limit. The amount of SP dedicated to bid-bots in relation to all available SP was analyzed by @abh12345 in the contribution linked in the introduction and was in the order of around 20% of all available SP. Repeating this was not in the scope of this contribution, but to confirm that a fixed "bot-list" approach is suitable and yields correct results.

Hey @crokkon
Thanks for contributing on Utopian.
We’re already looking forward to your next contribution!

Contributing on Utopian
Learn how to contribute on our website or by watching this tutorial on Youtube.

Want to chat? Join us on Discord https://discord.gg/h52nFrV.

Vote for Utopian Witness!

I can't comment in depth - but another great post... I'm considering putting together a shared access spread sheet to act as a link repository to posts such as yours... just to act as an access point/ record.

Btw - there's an interesting @sndbox-alpha 'quest' that ends today (might be tomo) that you might want to check out - crying out for analysis like this!

PS I think you should use 'steemit' as one if your tags.

Thanks @revisesociology! I didn't know about sndbox-alpha - which quest are you referring to? I'm a bit hesitant to use the steemit tag. There are so many posts with this tag that have nothing to do with steemit (including mine, tbh?!). With the new utopian system two tags are already taken for that, so I have to chose carefully ;)

The latest sndbox quest seems very open to any kind of kind of tech initiative, it's almost so vague in its remit that they're screaming for anyone to get on board! Understandable.

You should use steemit tag I think if yer post is actually about steemit, which yours usually are, even if others are misusing.

Very nice analysis!

I wonder how easy it is to determine which percentage of the reward pool is related to upvotes from paid bots?

If we would know the total SP available then we would be pretty close I guess?
More accurate would be to know the total SP being used to upvote. Can I find this somewhere? Or do you already know the answer?

Thanks a lot I will read this post soon.

You have mad a Good analysis. Wish i could help but i don't have any. Next time i am definately.

Coin Marketplace

STEEM 0.76
TRX 0.09
JST 0.073
BTC 54812.07
ETH 4111.68
BNB 591.20
SBD 7.02