Steemit Inc. is currently the main provider for free Steem accounts, also known as "faucet". These accounts can be registered via https://signup.steemit.com. Accounts created via steemit.com receive a free delegation of around 15 SP in order to be able to interact with the blockchain. This delegation is usually only fully revoked as soon as the account exceeds 15 SP of own stake. Earlier account registrations even had a bunch of STEEM vested into new accounts. The Steemit signup system officially allows each user to register one single free account via steemit.com:
Source: Steemit FAQ
This is tried to be enforced by requiring a unique and verified email address and mobile phone number. Blacklists of email domains and variants, IP/retry detection mechanisms, as well as a review system, try to further decrease chances of users registering multiple accounts. Unsurprisingly, people still try (and obviously succeed) to game this verification procedure.
A spam post network of 360+ Steemit-delegated accounts
Each Steemit-created account means controlling another 15 SP of stake. Having a large number of those voting for themselves can generate own stake and liquid funds without investment. Since the initial account stake is fully coming from Steemit there is no way to transfer or delegate this to one account, so all created accounts have to be involved in the farming. We all know that it is hard to produce 10 valuable posts/comments per day in order to most effectively vote for ourselves - choosing automated or lower-value content is clearly an easier path.
Some of these automated posts were found by a @steemflagrewards member a few days ago, drawing the attention of more abuse fighters to the author. Not surprisingly, a couple of voters in these posts also published identical or similar content - math text book exercises in this case. A special signature in this was, that hundreds of accounts voted each of these posts, all with similar vote values and voting times. A Steemd excerpt is shown as an example here:
Note the almost identical rshares values (3nd column), voting percents (4th column) and voting time (last column). Each of the posts had between 350 and 400 voters. There was little doubt that this network is controlled from a single entity.
What can we do?
There are actually three possibilities:
- Use your own stake to remove their rewards: Yes, this may come with some risks. Big shoutout to @steemflagrewards, a community to reward users using their stake to flag different kinds of abuse on Steem. For each verified/approved flag, you'll get an upvote a little higher than the value of your flag. (Yes, it's better than self-voting!). For a general introduction to @steemflagrewards see for example here.
- Convince others to use their stake to flag: Besides @steemflagrewards, there may be support from @steemcleaners, @spaminator, @mack-bot, etc, but that strongly depends on the type of content/abuse.
- Reduce the stake of the spam post network so there's less gain for them and less rewards to remove. This network was running mostly on Steemit stake. This post is about reporting faucet abuser to Steemit to have their delegations removed.
How to identify the spam network members with Steemit delegations
With a large number of curation-oriented bot accounts on Steem, not each voter on such posts is automatically a member of the spam network. With a bit of code, however, a good estimate on the size of the network can be made:
- take all voters on such a spam post
- filter those created by Steemit
- filter those with a Steemit delegation
- check which authors outside this list of accounts were voted, eventually add them to the list
- check the voting patterns of all the accounts over time, eventually exclude those with unique/different patterns
This is often an iterative process. I made a bunch of beem scripts for that but they are not ready for release in their current state. The result in this case can be seen here in the voting pattern of 365 accounts over the last 7 days before their Steemit delegation was removed:
Each dot is typically 10 votes and there is little doubt that these account all belong to a single entity.
The following graph shows the growth of this network over time. Each dot is a new account created via steemit.com and joining the vote farming.
It is remarkable to see that there are steep "steps" in the number of accounts with 50 or more accounts created per day. I'm not sure if they were really created in blocks, or if the Steemit account creation/review system just approved the creations in batches.
Removing the Steemit delegations
Steemit maintains a list of accounts that should have their delegations revoked, the "redeemer-irredeemables" list at https://github.com/steemit/redeemer-irredeemables.
Adding new accounts there can be done with a pull request like this one. If approved and merged by Steemit, the accounts in this list will have their delegations removed. I have no official information on what kind of evidence has to be provided for a PR to be accepted. I made two PRs so far and both got accepted, but I had two obvious cases. A few of more PRs came from @themarkymark, taking care of the "Steemit Defence League" and a couple of more spam/vote-farming networks.
My PR to add the 365 accounts in this example got accepted within only a couple of hours. Shortly after the PR was in master, the first accounts got their delegations removed.
This is the SP-distribution of these 365 accounts before and after the undelegation:
Not surprisingly, most of them were operating on hardly more than the Steemit-delegated stake and only a few of them had some own SP.
|Total SP of these 365 accounts||SP|
|before undelegation||5494 SP|
|after undelegation||168 SP|
|back to Steemit||5326 SP|
More than 5k SP went back to Steemit due to the undelegations and are available now for genuine user sign-ups. The undelegated accounts seem inactive since then, at least up to now, and some of them will certainly have serious RC problems now as well. In parallel, the accounts were added to mack-bot/spaminator who took care of removing pending rewards:
This all was only possible with strong support of
- the @steemflagrewards team coordinating the efforts
- @pjau providing Steemcleaners support
- Steemit reacting super fast on the PR
You can help to make Steem better. Checkout
Disclaimer: I personally think that @steemflagrewards is a great initative, I have some SP delegated there, I place some flags with them every now and then and help out with the bot code from time to time. I'm not associated with Steemcleaners or Steemit.