Repository
https://github.com/steemit/steem
Introduction
In this study the topics to be analyzed are:
- How many bid-bots are acting on Steemit?
- What percent of the total bots are making 95% of the upvote activity?
- How many unique posts are upvoted by bid-bots in 24 hours?
- What is the total upvote value of these upvotes?
- What is the percentage of these upvotes to total Steem created per day? (Reward pool depletion)
- The upvoted posts are belonging to how many unique users?
- What are the SP status of these users using the bid-bots and what is the share according to each user category?
Scope of Analysis
Analysis date: 22 -23 May 2018 ( 24 hrs )
Analysis timeframe: 2018-05-22T20:02:36 --> 2018-05-23T19:37:33
Bots analyzed:
All the upvote bots registered to SteemBotTracker by @yabapmatt (99 bots)
bot list
All times are in UTC.
Tools
Finding the bot list
The bot list is extracted from @YabapMatt's SteemBotTracker tool and all the bots are put on the spreadsheet list.
Defining the bots to be analyzed
Since 99 bots would be a heavy load on the steem.js scripts that is used to analyze, a meaningful result should be obtained by the bots covering the 95% of the all the bots rewards.
This is directly proportional to the bots maximum upvote value.
Sorting the bots it is observed that 19% of the bots are giving 95% of the rewards.
The frame of the analysis is shifted to these 19 bots giving %95 of the rewards.
Finding the posts upvoted and upvote values in past 24 hours
For this, steem.js API is used with a simple JavaScript code.
for (let i = 0; i < bots.length; i++) {
steem.api.getAccountVotes(bots[i], function(err, result) {
console.log(result);
calculate(bots[i],result);
});
}
Looping all the 19 bots in the script, the result gives us :
- The authorperm : The mixed data of the author and permlink
- Upvote date
- Upvote value in rshares
for all the upvotes that a individual bot has given.These results are filtered to fit past 24 hours
for (let i = 0; i < result.length; i++) { var vote_time=Date.parse(result[i].time); var day=1*24*60*60*1000; if(vote_time>=(now-day)){ document.getElementById("bot").innerHTML+=bot+""; document.getElementById("autperm").innerHTML+=result[i].authorperm.substring(0,30)+""; document.getElementById("date").innerHTML+=result[i].time+""; document.getElementById("rshares").innerHTML+=result[i].rshares+""; } }
This raw data is put in a spreadsheet and when analysed it would give us all the results we are looking for.
To convert rshares to steem, the values from SteemDB is used.
reward_balance ( in Steem) / recent_claims (in rshares)
gives us the multiplication factor to convert rshares to Steem.Defining the status of user
It is also in the scope of the study to determine, to which users these upvotes are given.
To have this, we would have to write another script, this time using the names of the upvote receivers as an array.
This array is extracted from rawdata by using a pivot table.var botusers=botusers();// This is an array of all upvoted users extracted from raw data function search(){ steem.api.getAccounts(botusers, function(err, result) { console.log(err, result); calculate2(result); });
Above script gives us the user information that received the upvotes.
To find the status of the user, if a minnow, dolphin or whale we have to check their SP status.
SP >=100,000 is considered as WHALE
10,000 <=SP < 100,000 is considered as DOLPHIN
SP<10,000 is considered as MINNOW
To find the vests of each user, below script is usedfunction calculate2(result){ for (let i = 0; i < result.length; i++) { var vests=parseFloat(result[i].vesting_shares)+parseFloat(result[i].received_vesting_shares)-parseFloat(result[i].delegated_vesting_shares); document.getElementById("bot").innerHTML+=result[i].name+""; document.getElementById("autperm").innerHTML+=vests+""; } }
The output data is put in a spreadsheet
The SP correspondance of vests (the data is received in vests) is found by multiplying this data with SPV(steem per vest) value as seen in Steemd
Results
How many bid-bots are acting on Steemit?
According to data received from SteemBotTracker there are 99 registered bid-bots.
ListWhat percent of the total bots are making 95% of the upvote activity?
As seen in the graphs and from the data it can be concluded that 19/99 => 19.2% of the bidbots are covering 95% of all the upvotes given.
How many unique posts are upvoted by bid-bots in 24 hours?
The total quantity of upvotes is 3297 posts.
The reason to find the unique posts is, some posts are upvoted by multiple posts.
Therefore, a pivot table is formed to find the unique post quantity.A total of 2225 unique posts are upvoted in 24 hours by 95% of the bid-bots in Steemit.
Complete ListWhat is the total upvote value of these upvotes?
The total upvote value of the bid-bots in 24 hours is 11,302 STEEM.
%50 of these upvotes are received by 163 posts which means %50 of all the rewards are given to 7,3% of the posts.
Below is the cumulative reward distribution graph.
What is the percentage of these upvotes to total Steem created per day? (Reward pool depletion)
The total value of upvotes given by bid-bots ( %95 of them ) is calculated as 11,302 STEEM in 24 hours.
The Steem is generated with each transaction with a rate of 1.73 Steem / 3 seconds for the reward pool.
This value was calculated in my old post
The steem generated / 24 hours that goes in the reward pool is calculated to be 49,824 STEEM / day.
This means, %95 of the bid-bots are using %23 of the reward pool in the date of analysis.The upvoted posts are belonging to how many unique users?
We have seen that 2225 unique posts are upvoted by the bid-bots in 24 hours.
Since there may be the cases where one user sends more than one post to bid-bots to be upvoted.
Therefore, a user based pivot table is formed and it is observed that 2225 unique posts are belonging to 1488 users.It is concluded that 1,5 posts per user are sent to bidbots per upvote.
It is again concluded that 11,302 STEEM is distributed to 1488 users which makes 7,6 STEEM per user.
But this value is not really meaningful by itself since %50 of the reward is distributed to %7,3 of the posts.What are the SP status of these users using the bid-bots and what is the share according to each user category?
The bidbot users are categorized as below according to their SP
The % distribution is as follows according to user quantity.
It is clear that %52 of the bid-bot users are minnows below 100 SP.
The second biggest group is the SP holders between 100 and 500 SP and they are 24% of all bid-bot users.Next, the STEEM upvotes received by each category of users are checked.
The 0-100 SP group although holds the majority in the number of bidders, receives approximately %25 of the upvotes.
Moreover, the 100-500 SP group of users, being half as quantity receives %25 of the upvotes from the bid-bots.
Which means, they bid with more SBD.Conclusion
As a summary :
- Bidbots make upvote of 2225 posts belonging to 1488 users in 24 hours.
- Approximately 50% of bidders are minnows between 0-100 SP receiving %25 of upvotes.
- Bidbots use approximately %23 of the daily produced steem that goes into the reward pool.
Even if all upvoted posts are spam bidbots are responsible of only %23 of spam in Steemit.
Contact
@FireDream - Steemit
@firedream#3528 - DiscordLinks
SteemJS GitHub
SteemBotTracker
SteemBotTracker GitHub
BotList
RawData