Voting Bot Algorithm Update for @biophil's bot

in #bots8 years ago

This has been a productive few days in terms of the voting bot algorithm. I have made three changes in the past several days which will impact my clients' rewards.

1. Adaptive vote weight and score threshold.

My learning algorithm assigns every post a score. Posts with scores above a certain threshold are scheduled for votes. Before last week, this threshold was fixed - I would simply hard-code in a number that seemed good. Also before last week, each vote was cast at 100%. The benefit of this is that it was very simple and foolproof. The drawback is that I had to constantly change the threshold to keep peoples' voting power from getting too high or too low.

To partially solve the problem, I've made two changes. First, the voting power is automatically throttled if my bot is voting for too many posts. My vote-per-day target is 50, and I would like to keep voting power between 75% and 80%. However, just throttling votes is not enough - I also had to include an adaptive element to the score threshold. So now, the bot modifies the scoring threshold on the fly to try to control the number of votes that are cast per day.

Neither adaptation is designed to be very fast, so sometimes (such as now) you'll see the vote weight get quite low (we were voting under 50% earlier today) because there is a larger volume of posts being created this week than there were last week. It's likely that this will correct itself in the next few days and we'll see a small swing in the opposite direction. In any case, accounts' voting power has only dropped to just below 70%, which means that curation rewards should remain relatively constant.

2. I beat @wang by voting all accounts in a single transaction

Yesterday I posted this article about how @wang was front-running my votes. It turns out he wasn't actually front-running @biophil, but he was front-running all of my clients. As soon as I caught it, I hacked the code to make @biophil vote last and preserve my clients' curation rewards, but then today I made a more permanent fix.

I've known that this was possible for some time now, but I had lacked the free time to actually implement it. Now it's done, and if you go here, for example, you can see that all of my client accounts voted in a single transaction and then @wang came after that. Now you can all rest assured that your curation rewards will not be front-run by some freeloading bot.

Other bot devs: If you want my several-votes-in-one-trx python code, holler at me. It's fairly simple, but it required digging into the guts of steembase and I have no problem sharing my code.

3. Pay-for-your-place vote ordering

This one is fully implemented, but not operating at full scale yet. Some of my voting clients send me generous tips, and I've been toying for a long time with the idea of giving the paying clients special privileges. The most obvious privilege I can afford is to place the highest payers at the front of the voting queue so they receive the highest curation rewards.

This is a non-trivial problem, and it would be easier to implement unfairly than fairly. However, I think I've come up with a good solution that is both fair (for my clients) and profitable (for me). I am only running a "soft" version of it right now, so people who pay more will be put at the front of the voting queue slightly more often than those who do not pay.

I will release the details of the pay-for-place ordering algorithm soon, and after I do, I will fully activate the algo. I don't want to activate it until I've written code to have my @ozymandias account post automated reports. It wouldn't do any good to charge my clients for a service without telling them how their payments affected their quality of service.

Sort:  

In defense of @wang, I don't actually see the difference between them and your bot. Both are designed to maximize curation rewards and front run manual curation, albeit wang uses various different methods. Your bot is certainly much smarter in frontrunning manual curators and curation guilds. It has cost manual curation guilds dearly insofar as having to scale down operations, but hey - it's the free market! Personally, I don't have a problem with either, but I guess from a manual curator's perspective it's all the same.

Oh sure, from the very start I've been nervous about the parasitic nature of my bot. So if @wang and I are two competing parasites, I have no problem at all grabbing as much of his food as I can and eating it myself (or selling it to my clients).

But I am definitely running into the parasite's dilemma: without @curie, it's not clear that my bot would be any good at all. I'm not specifically front-running @curie's curators, but @curie has made payouts on Steem so much more consistent that it has become relatively easy to predict which posts will earn well. The parasite's dilemma is that if I take too many curation rewards for myself, I'll kill my host organism - the manual curators won't be able to make any more money and won't have an incentive to keep finding good posts. Just as you've described. So we'll see how it plays out.

The problem is not your bot, or the rewards that you and your clients take specifically, but the bots that later latch on to you. As I'm sure you're aware, it's more than just @wang. There are a fair few large accounts that follow you. As your bot grows in popularity, there'll be more coming, of course. And as you know, frontrunning is a huge advantage the way the algorithm works, and your bot train could effectively slice a whale's curation rewards by half, and subsequently a curation guilds' revenues.

Anyhow, we'll see how it plays out! Perhaps you could consider submitting your bot's finds to #curie - there's a 8 Steem reward per voted post, but we could increase it if our whale supports' curation rewards go up again. Of course there's a lot more competition against human curators there, but even a few hits per day could increase your curation rewards manifold. If you're wondering what gives - it's the middle bots that come after you. They are the only ones who lose out. With our system, we directly share a large chunk of the whales' curation reward with the finder. Find me on Steemit.chat if that intrigues you - we could work something out. There are a couple other things I wanted to discuss with you as well.

I'd love to submit my finds to #curie. I'm contacting you on steemit.chat to talk about what that might look like.

From the POV of this content writer, the problem with bots, and I really don't understand the differences between this one and that one, is that there are upvotes without comment, without any indication of the post having been read. So I think the problem, if there is one, is not economic parasitism, but the submerging of any creative discussion, because the upvote of a swarm is made more meaningful a comment from a fellow creator.

That is indeed a major issue with Steemit now, but it's simply a result of it being a very, very small community. You'll find comments and feedback on popular stuff, but more niche material don't get much in the way of comments right now. That is normal and something that will fix itself over time as the community grows.

You're right, of course. And there is a lot of genuine popularity, as opposed to gaining attention as result of feeding more bots. It's perhaps easy not to realise that. Thank you.

Niche: you inspired a poem, just posted, hot off the press. I hope you enjoy it.

Excellent narrative!

Very impressive.
Also with your post hitting 0.44$ on the 3 minute it seem to be not profitable to vote for your posts anymore ;)

i don't think that is true... I just voted at 16 mins, will update this comment in about 20 mins... we'll see...
---edit--

Looks like you were right.. Estimated curation reward 0.001 SP

I support what @biophil's is doing though, we need a lot more upvoting here and the only way that is going to happen is through curation trails and vote scripts...

Steem On!!!

You're update is obviously working. Just from what I have observed from the SteemWhales.com site. And I'm glad you mentioned wang, as he started front running me in the last two days. He must have an incredibly fast internet (or mine is incredibly slow), as his votes come after mine, but often show up as being first. Only since two days ago. Anyway, joys of being a manual curator.

That's OK if wang shows up first, you still get the right curation rewards :)

Well that's good to hear.

This post has been ranked within the top 50 most undervalued posts in the first half of Dec 27. We estimate that this post is undervalued by $7.43 as compared to a scenario in which every voter had an equal say.

See the full rankings and details in The Daily Tribune: Dec 27 - Part I. You can also read about some of our methodology, data analysis and technical details in our initial post.

If you are the author and would prefer not to receive these comments, simply reply "Stop" to this comment.

Coin Marketplace

STEEM 0.17
TRX 0.13
JST 0.029
BTC 55817.20
ETH 2966.98
USDT 1.00
SBD 2.17