Let's talk about bidding bots. It's time for a fresh look at how they fit into the Steem ecosystem.
First, for those that may be new to the conversation... what are bidding bots, and how do they work?
A bidding bot is a specialized account. You send a transaction, and in turn you receive an upvote on your content. There is a fairly large list available at SteemBotTracker.
Any Steem account can do a full upvote up to 10 times per day... that's one vote every 144 minutes. Most bidding bots operate on a 144 minute round. While recharging, the bot accepts transactions with posts in the memo links. Once fully recharged, the bot checks the validity of each memo link and delivers its 100% upvote pro rata across the bids.
In the classic examples... if you are the only bid, you receive a 100% upvote (even if your bid was the minimum bid allowed by the bot). If more people bid, you get a % of the upvote that matches your % of the total bid. So if the total bids were 25 SBD, and you bid 1 SBD, you will receive a 4% upvote. That's pretty straightforward, right?
But how much is an upvote worth? Well, that's easy... you open the account in steemworld and check the value at your expected %... right?
Well... yes. And no. Let's imagine a perfect round. You find a bot with no bids. You check SteemBotTracker or Steemworld and you see that the upvote value is worth 10 SBD. You know that 25% will go to curation, so you bid 7.5 SBD. Because Steem Bot Tracker shows that you've soaked the profitable bid, and there are no amateurs crushing the bid, you get a 100% upvote... a vote worth exactly 7.5 SBD... You got pure promotion, no profit, but no loss either.
No risk, right? Wrong!
You don't receive the payout at the time of bid. You receive the payout at a later time... between 0.5 days and 6.5 days later, depending on how long after your post was published you decide to bid.
In effect, you are paying in advance, in either SBD or STEEM, for a blend of SBD/STEEM that you will receive in the future. You have created a customized smart contract with the blockchain, using the bidding bot as an intermediary. In exchange for your payment, the bidding bot commits a transaction that locks in delivery of your SBD/STEEM blend at post payout. So long as no third-parties intervene and flag your post...
Every time you use a bidding bot, you are betting that the SBD/STEEM blend will be worth more at time of delivery than it is now. If you pay with SBD, you are betting that SBD will increase in value against STEEM (resulting in higher SBD proportion in payout). If you pay with STEEM, you are betting the inverse.
You are also choosing to spend liquid crypto instead of cashing out, so you are betting that the market value of the SBD/STEEM blend will also be worth more at payout than it is now. You are also betting that no other bidders will crush the bid for whatever reason.
So you're betting on a lot of different things to go exactly right. In an upward trending market, with a good understanding of the risks and an appropriately diversified strategy, you can do pretty well. I have averaged ~15-20% profit per post (measured as the SBD value of author payout returned in excess of the SBD spent promotion) over more than 100 posts and comments.
That's pretty damn good. But I have a Finance MBA and I spent years designing bespoke financial technology solutions for hedge funds (mostly middle office... don't be too impressed)... as a business process analyst, not as an engineer.
Take a look at the 'feedback' on bidding bot posts. Your average user doesn't understand that bids after theirs can impact the payout. They don't realize that bidding last-minute usually results in bidding against somebody for the last bit of profitability. They don't know that upvotes can only be sent every three seconds, and comments every twenty seconds (usually set to 30 to avoid being throttled by the API), so closing a bidding round on a bot with 800 SBD and a minimum bid of 1 SBD could take 400 minutes. Yes... you read that right.
So we're talking about a fairly sophisticated financial instrument, with a fairly unsophisticated class of financial consumers. I live in the United States, and you can't trade standardized forward contracts (futures) without at least $25000 in an account. You can't trade customized forward contracts as an individual at all. Financial regulation in Europe is just as restrictive.
So our ecosystem is full of sophisticated financial contracts that are illegal for individuals in most of the developed world... but at least they're handled responsibly, right?
Wrong... let the buyer beware. Somebody crushed the bid? too bad. the bot screwed up and miscalculated the % payouts for the round? too bad. You didn't read the arcana for that bot and post wasn't between 2 and 3.5 days? too bad. no refunds.
Things are starting to get better in this regard. Massive kudos to @yabapmatt here, for creating SteemBotTracker, and for creating
@postpromoter, with an open source toolkit that makes it much easier to have transparent bidding rules and deliver refunds on invalid bids.
But all these issues arise before the biggest problem of all... there are massive financial risks that are borne by the buyer between bid and post payout... and the seller has zero corresponding risk. The payout is not paid by the seller, it's paid by the blockchain. So if you get a good result and the future payment on your derivative is better than your bid, it doesn't hurt the seller at all. If you have a bad result and the future payment value declines, that doesn't affect the seller either. (although if you have a bad result from somebody crushing the bid, the seller does benefit)
So the entire risk structure is completely lopsided. It leaves a very bad taste in people's mouths. The higher somebody's reputation, the less likely they are to use bidding bots... they don't need it and the financial risk is too high. As soon as you join Steem and discover that progress is slow, you are introduced to a highly sophisticated financial instrument and told that it may be your best way to get traction (but not too much... if your reputation grows too quickly, the big curation initiatives will completely ignore you).
but at least we're talking about it and taking action...
Wrong again. every action and discussion I have seen about bid bots focuses on the demand side of the equation.
What is the quality of posts that are being upvoted? @themarkymark admitted that with hundreds of bids on
@buildawhale every day, it's hard to find 5 quality posts worthy of curation.
How are people abusing bots? (fill in the blank)
What is an acceptable level of promotion for a post? @earthnation says 44 SBD per post, but only 3x per week. More frequent posts should cap at 11 SBD. You might have your own perspective.
What time lag should there be between bot usage and payout? Yes, moving it forward to 3.5 days gives more time to review rewards and penalize people that used bidding bots to upvote shitty content... but it also increases the financial risks borne by the purchaser of this sophisticated derivative.
If all the risks are borne by the purchasers of this sophisticated financial instrument, why is it the purchasers that we're calling to account? Why aren't we calling out the #whales that create and operate these bots, asking for more responsible behavior?
Let me spell this out for all bidding bot operators: You are selling a sophisticated financial instrument. If this comes to the attention of regulators in your jurisdiction, your current business practices will probably get you big fines or jail time.
Let's establish ethical standards for bidding bots. Bots that fail to meet the standards should be removed from SteemBotTracker. They should have their update posts downvoted. They should have their bid comments flagged. They should be pummeled into oblivion, so that they are not the bots that new users see. Let's make the professionals responsible for their own behavior, instead of blaming every problem on their customers.
So here are my top 5. Some of these are in place already on Steem Bot Tracker, and I commend @yabapmatt for that.
Clear communication. The bot's own page should have all the terms (minimum bid, post age limitations, etc) spelled out in the header section. They should provide the same information to SteemBotTracker. Existing bots should be given a time window for full compliance, and non-compliant bots should be removed from the tracker. We have reached a point where bots can launch just by listing on that page, so it should be considered the gold standard and held accountable to only list reputable businesses.
Automatic refunds. The bots should deliver automatic refunds. Bids should be checked when they are received (not at the end of the bidding round) so that users are not surprised or left waiting for the round to end to know whether there was an issue with their bid.
Reasonable minimum bids. I commend @buildawhale for raising their minimum bid from 1 SBD to 2 SBD, but I don't think it was enough. 100 bids on a round can take nearly an hour. Minimum bids should be at least 1% of the maximum potential bid. At least 2% would be better. This clears up a lot of the confusion around cycle times, and makes a better experience for bot owners, investors, and customers.
Outcome transparency. This will require new development, but... bidding bots should log all of the bids received for every round, mark them as either refunded or valid, match them with the % upvoted... and publish these records regularly. It could look something like this:
| Name | Bid | Valid/Refunded | % Voted | post perm-link |
|---|---|---|---|---|
| 5 SBD | Valid | 25% | ... | |
| 15 SBD | Valid | 75% | ... | |
| 1 SBD | Refunded | 0% | ... |
This makes it much easier to check whether bots are running correctly, not cheating on rounds, and meeting the community's ethical standards.
I expect this to be the most controversial of my 5 points. Bots should disallow crushing the bid. They should use the Market feeds to estimate the SBD value of their expected SBD/STEEM payout at 25% curation... and refund bids that cause the total round to exceed a certain threshold. I don't actually care what threshold they choose, but they should publish it as part of their parameters and refund invalid bids. It could be 100% (a bid of 7.51 on a bot with 10 SBD voting power would be refunded). It could be 200% (making it irrelevant, but still a parameter the bot has to publish and compete on).
There would be some sophisticated users that are deliberately crushing the bid as a forward bet. When STEEM broke 10, I had posts that paid out nearly 100% profit, because of the rise in value between my bid time and the payout time. When SP started to come back down (right now), most posts are barely breaking even. If I want to speculate on those changes, using bots, I might choose a bot with a 105% or 110% threshold. Some bots might set 95% thresholds (every round is guaranteed to be profitable- at least before forward pricing changes are taken into account). What they give up in return they would gain in consistency, because their rounds would probably sell out early.
I know that I haven't been around very long. I know that my reputation isn't that high, and that it's low relative to my follower count because it's inflated by bot upvotes. I hope that we can be adults and still discuss the issues. Sure, Steem is it's own ecosystem; it lives in the cloud; it's a free-market anarchy... and we have an illusion that regulators will never find us. But don't say I didn't warn you. When they shine their light in our direction, if we have a self-policing ethical ecosystem, they may just move on. If we're still selling financial derivatives to amateurs, with zero risk borne by the sellers... well... there's going to be hell to pay.
@themarkymark
@yabapmatt
@buildawhale
@sneaky-ninja
@booster
@pushup
@minnowhelper
@upmyvote
@allaz
@msp-bidbot
@smartsteem
@lovejuice
@upyou
@levitation
@moneymatchgaming
@votebuster
@boomerang
@upmewhale
@mercurybot
@jerrybanfield
... don't say I didn't warn you.