@sadkitten algorithm update

in steemit •  6 years ago 


source

The project

In brief, to downvote self voted posts and comments of those accounts with the highest self voting return on investment. That is, the users who use their voting power to direct rewards vastly back to themselves.

There's a much more in depth discussion of the rationale in the first post.

The issue

In version 2 of the algorithm, launched for a few weeks almost 2 months ago, there was a hidden systematic bug. It turns out that changes in delegations make using SP as a metric variable impossible (without running a node). At first I thought it was possible to record delegation changes over time and them work backwards to previous SP, but you would need entire knowledge of the account because of the way the blockchain records _un_delegation. When you undelegate it simply records a delegation of zero, but this makes reversing it difficult because you must scan backwards to find the original delegation value. This is an issue with Steem Reports too, though it usually doesn't matter too much. Be aware of this when comparing accounts with that service.

We made the decision to not run a node to replay the blocks over the period, instead went back to the drawing board to look for a better, cheaper solution.

Apologies to current and previous supporters for a lack of communication on this front. It was a case of one more thing ... one more thing! I thought I had it solved, pushed many patched, but eventually reached the dead end.

Algorithm v3

Instead of a payout value based metric, we have switched to a voting behavior metric. This achieves the same thing which a high degree of accuracy, but using relative values and some smart assumptions. We look primarily at voting frequency as a function of voting power regeneration to observe who is self voting most optimally. Scores produces are heavily mitigated by outgoing votes, so those who vote outwards in general will have very low self voting ROI score. Because it's a function of voting power generation and voting frequency we can take into account distribution of votes over time without needing to know the exact VP, or even SP of the account. Thus the scores are already relative to SP.

I've been testing this for a few weeks and working out the kinks. It has been live for about a week now and I intend to keep it running with some planned tweaks and keeping an eye on it.

Renewed call for support

We have already had some renewed support for the bot in terms of delegations to @sadkitten. We're asking again for your support if you agree with this approach to attempt to fill in some holes in the blockchain main algorithm. 😼

If you delegate to @sadkitten you are allowing us to vote on your behalf with the stake temporarily gifted to the project. We will always and only use this to downvote self voted posts and comment on accounts who's behavior shows them to be only interested in extracting from Steem.

Many delegators consider a delegation to be a way to actually improve the standing of their investment. Talk to some of them about it if you want to know more.

Openness

You can always check out what @sadkitten is doing, all is transparent on the blockchain. Go to https://steemd.com/@sadkitten and see for yourself. Our metric is highly correlated with scam red flag practices of comment farming, auto posting nonsense and other valueless practices. Feel free to ask me any questions here and also those of you who wish to rant about how this is pointless 😂

There are always people complaining about this project, and how we "steal" from them, why can't we leave them alone. I would say it's not hard to get out of the radar for @sadkitten - just throw some votes to other accounts! And I would remind you, all votes are freely made, both up and down.

Future

The project is being expanded from self votes to a primary voter list to try to encompass tight voting cliques. After an initial period of research this will be trialed.

Complaints

Everybody makes mistakes, and this project is no different. While every effort is made to analyse the blockchain accurately, if you feel you have been downvoted in error then comment on this post with details and I will review it. We are committed to only proceeding if things are done well.

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

Changing to voting frequency allows the big SPholders to vote for others with 0% and themselves with 100% thus circumventing your algorithms.

I just wander if this is going to be fair, or whether you'll have the will, or bottle to hit people like adamkokeosh or exyle or rea or any other of the big name self upvoting circle jerkers because to me, it simply looks like you're tweaking the parameters to avoid them.
Apologies, I should have put 'will' in front of the original post and made it a question, sorry, I was rushing.

Always assuming the worst Nathen. The algorithm is fair. If they change their vote frequency to non-optimal levels and still only vote for themselves, it's true they will "circumvent" the algorithm, but that will because they are using less of the potential (SP * VP) on themselves. That they are not using the "wasted" potential on others is not something the algorithm is designed to catch. It's about optimal use of SP on oneself.

All in all the only way to circumvent it (to the best of my knowledge and design) is a change of behavior which by definition leads them to be taking less, which is our goal.

On what grounds do you question my will or bottle? What parameters are being tweaked? Make your accusations explicit.

They were not accusations, they were questions and my lack of explicitness was simply down to me not totally being sure I understood what you were explaining. The questioning of the ethics was simply down to observed, perhaps percieved evidence that there are certain members here who escape criticism or reproach due to whatever reason. No one seems willing or is possibly too afraid to question their behaviour.
Hitting autoposting bots who earn nothing is easy, hitting circle jerking self upvoting dolphins and whales is a different matter. Yes I am cynical, but all I ever see are words on a screen. At least Abuse Reports, reports this behaviour.
It could be argued that anyone who has invested and/or worked hard has the right to do as they please with their SP, making all our arguments meritless, but as you are quite rightly (in my opinion) aiming to use your expertise and SP to create a fairer platform, my argument in all these cases is hit the top first and work down.
You are acting as judge, jury and executioner. Fine with me, your SP, but why get all defensive when I mention a few of the 'names' and question the fairness and methodology of your operation from my simplistic understanding. Why even bother to explain it with this post ? Just get on with it. Posting on a public forum invites opinion and questions. It was a simple question from a non techy.

Hitting autoposting bots who earn nothing is easy, hitting circle jerking self upvoting dolphins and whales is a different matter.

I wouldn't say easy, but it's definitely easier than scam clique voting. As I mentioned in the future part, and in the first post which you also brought this up in, it's on the roadmap.

Yes I am cynical, but all I ever see are words on a screen.

The bot is taking action, that's more than words. Verify for yourself at https://steemd.com/@sadkitten

You are acting as judge, jury and executioner.

Not an analogy I agree with. On the platform we have a free vote on every post. This is just one relatively small vote to contribute to the distributed valuation of posts. There is no court here, no police. The aspirations to fairness are made so as to be ethically consistent, not to follow a law, as there is none such. Delegating to @sadkitten is voting by proxy with the power of the stake delegated.

Most of the time I defend when attacked, at least when the attack is in good faith. You called my honor into question, I see no shame in responding directly. Let me make this clear: the bot works on an algorithm, the is no white list, no black list, the algorithm is allowed to run.

I think you are afflicted with availability bias in your focus on certain accounts, mid sized and acting in clique voting ways. In the wider platform, the entire platform, there are far worse things going on. This is what @sadkitten is picking up, only the absolute worst by the metric we've developed. The focus on the worst is pragmatic, we only have a certain amount of SP to work with so it seems wise to vote on the worst. I had last year toyed with the idea of random ordering votes but it wasn't popular with the team.

Check out some of the posts that are being flagged if you want to see what I mean, really, before going on I insist you check.

Why even bother to explain it with this post ? Just get on with it.

Where's the fun in that? Engagement with the community is critical for any significant enterprise on the platform, and this is a labor of love. It's one of my main critiques of Steemit Inc., they do not communicate. We are getting on with it, as well as making a few announcements from time to time. I invite the debate on the topic, all the evidence you need of that is on my previous actions, all written in stone on the blockchain. Cynical supposings I have less time for, but I took the time to respond.

Sadly, I think the cat is chasing the wrong mouse.

accounts who's behavior shows them to be only interested in extracting from Steem.

Mainly use alts these days, and I wouldn't recommend sticking a downvote on these people.

Hopefully though, the @sadkitten can have an impact at some level. Good luck!

In the future section above you can read we'll be expanding to that. Thanks for the good wishes 😸

You'll need all those lives! 🙀

Your name seems familiar. Didn't you work with @l0k1 on a similar project? Smackdown Kitty IIRC. You have my support. I used to run a project dedicated to incentivizing non self voting posts but it really didn't catch on. I'll see what I can do to help.

Yes I did! That was me. @sadkitten is a cousin of @smackdown.kitty

Excellent project friend many success you dseo greetings