Repository
https://github.com/steemit/steem
Introduction
After writing the post about the micro abuse in Steemit, I have decided to make an analysis of how deep is the problem.
For analysis, JavaScript code with Steem.Js API is used.
The problem seems to be :
- There are several accounts that have no SP their own but only working with delegated SP
- These accounts are front-running the bid-bots to maximize the curation using a curation bot.
- These bot users make no posts or comments but just makes upvotes and re-steems.
The answers searched in this analysis are :
- How many accounts are there with such properties?
- When are these accounts created?
- Owned SP vs delegated SP status of these accounts?
- What is the curation reward total of these micro accounts per week?
Scope of Analysis
Analysis date: 12 May 2018
Analysis timeframe: 1 Week
Accounts analyzed : Full List
Tools
Finding the micro front-runner accounts
The curation bot simulator is used to define the most efficient posts that these accounts will probably follow. GitHub
The efficient URL are inserted in the tool curation break-down to analyze the voters.
GitHub
The front-runner micro accounts are visible since they are all voting at the same second.
Using the same method from various posts, 1000+ account names gathered and put in excel.
Using a pivot table, repeating account names deleted and a short list of micro front-runner list of 459 accounts are formed.
This list is put as a JavaScript file as an array.
Finding the creation time and SP of these micro accounts
A javascript code is written using Steem.Js API to determine the creation time and SP status of these accounts.
function search(){
steem.api.getAccounts(names, function(err, result) {
console.log(err, result);
for (let i = 0; i < result.length; i++) {
created.push(result[i].created);
account.push(result[i].name);
var vest_pushed=(parseFloat(result[i].vesting_shares)*parseFloat(spv));
var received_vest_pushed=(parseFloat(result[i].received_vesting_shares)*parseFloat(spv));
vest.push(vest_pushed);
received_vest.push(received_vest_pushed);
}
console.log(account,created,vest,received_vest);
});
This gives us the account name, creation time, owned SP and received SP of these accounts in the console.
Finding weekly curation rewards for these micro accounts
The javascript code is extended and for each of these accounts, all the votes and curations for 1 week is determined by the code below.
function get_reward(name){
var rev=0;
var rev_array=[];
console.log(spv);
steem.api.getAccountHistory(name, -1, 500, function(err, result) {
for (let j = 0; j < result.length; j++) {
var reward_time=Date.parse(result[j][1].timestamp)
if((result[j][1].op[0]=="curation_reward")&&(reward_time>=diff)){
var curation=parseFloat(result[j][1].op[1].reward);
reward=reward+curation;
rev=rev+curation;
rev_array.push(rev*spv);
}
}
console.log("user: ",name,"curation reward: ",rev*spv);
});
In the console, we have the list of names and the curation awarded for paid posts.
Put all the data to Google spreadsheets for analysis
Results
Accounts creation
These accounts are mostly created in April and fairly new.
These accounts all work on delegated SP with minimum owned SP
The cumulated SP reward / week of 459 micro accounts
The cumulated SP gain of these accounts is 50 SP /week.
These accounts are neither posting nor commenting.
They are created and put in a bot to create a passive income of 50 SP per week.
This may not be all accounts but some of them that analyzed.
Proof of Authorship
GitHub for analysis: https://github.com/firedreamgames/frontrunner_micro_abuse
Contact
- @FireDream - Steemit
@firedream#3528 - Discord