There are problems on Steem: there are too many bots, and Steem does not adequately reward quality content. It is only natural that we Steemians propose fixes and some are proposing Artifical Intelligence (AI) solutions. But, AI cannot be the answer and so humans matter. I will demystify AI's shortcomings and discuss what role AI can play in a solution. The article talks about the problem of bots, using AI to detect and reward quality content and then what role AI can play.
Image credit: Seanbatty / Pixabay - CC0
Who am I to say anything useful about AI? I consulted in commercial image classification where my assumption busting thinking about AI meant the project reduced its training set requirements by a factor of a hundred. I have used machine learning to classify and help curate items from tagged collections of websites, games and art exhibitions. My graduate work uses machine learning to discover how users like data a. As a hobbyist, I have built expert systems, made game AIs, and I have messed about with genetic algorithms and neural nets since the nineties.
To Steem, Humans, tools, and bots look the same.
Some Steemians complain that there are too many bots. The complaints variously dislike up-vote bots, auto-voters, auto-posters and bot spam in the comments. Some people would go as far as to say that we should ban bots altogether. But, it is impossible to ban bots because the way that bots interact with Steem is indistinguishable from humans.
The Steem blockchain speaks a computer language we'll call SteemAPI-language. We humans don't speak this language, and so we use tools to translate our posting, voting, commenting and other actions into SteemAPI-language. The tool of choice for many of us is Steemit.com though we can also use chainBB, Busy.org, dTube, dSound to name a few. There is no way for the Steem witnesses to consistently detect when SteemAPI-language is spoken by a tool on behalf of a human or when a bot speaks SteemAPI-language.
The "Are you human?" tests that are common on many websites do not translate into SteemAPI-language. Those tests only work at the level of tools (like steemit.com), but bots do not need to talk via steemit.com when they can speak SteemAPI-language to Steem directly.
We could conceivably have a registration process for Steem blockchain tools that requires tools must verify their users are human. The thinking underlying this is that the tools should say "I am ToolX and I verify that this action is performed by a human." That would slow innovation in third-party tools and is unenforceable anyway. You could probably catch the worst offenders, but an awful amount will keep flying under the radar.
No consensus on convenience versus bad-bots
What things are allowable conveniences (tools) and when does convenience cross the line into being a bad-bot? Everybody has a different answer: some people think that all auto-voters are bad-bots while some people think of auto-voters as useful tools. I doubt many people would consider a tool that automatically claims rewards is a bad-bot, but a rewards claimer is still a bot and not a human.
Even if we could infallibly detect and ban bots, I cannot see an everlasting consensus forming. So, we humans must keep acting to see the changes we want; converse, discuss, talk with the bot operators, downvote, and upvote, write posts about what you want to see. Personally, I don't think that it's healthy we ever settle this conversation since our needs change and so our ideas on bad-bots and allowable conveniences should flex with our needs.
I am going to talk about my bots and my thinking behind them. Let's just say that there is certain behaviour on Steem that I would like to incentivise. One way I do that is with a FOSSBot that finds and upvotes posts that fit my criteria. Now, you could argue that I should instead manually find those posts and upvote so that I, human, is checking for quality. My answer is that my bot gives only a few cents, so the cost of it upvoting poor quality is low. Poor quality content will not find a human audience, so it's unlikely that the posters will continue just because my bot happened to drop by with a few cents. I accept inefficiency when it comes to judging quality in exchange for efficiency in time because the upsides regarding encouraging beginners and the downsides for upvoting trash are low.
I have one other bot that performs some daily actions on my behalf; mostly moving STEEM/SBD/SP between my accounts. This bot leaves me more time to do human stuff on Steem. I once, in a sleep-haze with a stuttering keyboard, sent 500 STEEM to a phishing account, so I like that my bot can never make such a mistake. I consider this bot an allowable convenience.
The Quality Cop AI is my infinite ATM
If there is a blockchain AI that detects and rewards quality, then it is possible for me to create an infinite rewards ATM. I'll get back to this, but first, I will cover what quality is, why AI cannot definitively measure it, and how a more powerful bot can subvert a quality cop.
Quality is subjective and what that means is that there is an on-going negotiation between a community of authors and readers regarding quality. Without community, there is no quality. It is expecting too much to want Steem to find the community for a post. Your posts must be seen by a community and most likely that community will expect that you interact with them by reading, commenting and upvoting. So, find your tribe and interact.
What do I mean by community? A community is a group of people joined by some common traits. For example, a community has shared judgments about quality.
We can argue that Steem has a community with some underlying expectations of what quality means. But, within that exist several (sub)communities with their own ideas on quality. We might agree that posts should be the original work of the poster and think that universally applies Steem-wide except the meme community does not share this expectation - they have their own subtle rules. There are more examples: Photography communities don't mind single picture posts with only a small amount of text, writer communities expect well-crafted text. The Zappl community has their own quality standards too. All these different communities will have mutually exclusive ideas about quality. Unless Steem is only for one type of content for one specific community then we must allow for diverse and incompatible visions of what quality means.
It is possible that some broad parameters for quality are enforced by individual tools tailored to individual communities - but there cannot be a universal set for the blockchain itself. I'd argue instead that our tools should get better filtering so we can avoid content that we don't like, but recognise that it could be considered quality content by another community.
So why not make bots that learn the quality standards for a community? Well, bots learn from the past and communities change. Something that was once bad quality might just be the exception that breaks the programming. With apologies to our future bot overlords, right now AI is not sophisticated enough to have the human-like experiences necessary to act within our cultures. So, there is no way that AI bots can infallibly measure quality on behalf of a community.
I promised to talk about the infinite ATM. Let's just pretend that somebody does make an AI that can measure and reward quality, and this QualityAI is now deployed on the witnesses. The QualityAI is frozen in time and represents how a once community viewed quality. The QualityAI is open for all to inspect and must run on witnesses at fast enough speeds to keep the blockchain responsive.
My infinite ATM does not have these restrictions; I can deploy a cluster of computers faster than a single witness and task those machines with a producing content that will fool the QualityAI. The InfiniteATM can take as long as it needs to produce content that beats the QualityAI. Since the QualityAI is open, I can run the QualityAI offline to test the InfiteATM's work. The Infinite ATM is not so far-fetched: Generative Adversarial Networks (GANs) already use a similar approach.
What if QualityAI was improved? InfiniteATM improves too, and will always win the AI-Arms race because the InfiniteATM is more scaleable.
Once the InfiniteATM can beat the QualityAI, then the InfiniteATM can post as fast as my computing resources allow. The speed of InfiniteATM posts will most likely shut humans out of the reward pool. So, yes, that would generate Infinite rewards, but the price of STEEM would crash because I can't see humans wanting to stay around to keep losing to an AI.
The AI assistant
Throughout the post, you've seen words like measures, parameters, and tools. Just as we already use tools to help us talk SteemAPI-language those tools can be a lot smarter. While AI cannot measure quality, there are still some broad parameters that can find content that a human might decide is of high quality or the reverse for spam hunters. AI can be extremely useful in assisting humans. My bots leave me more time to achieve my human tasks on steem. So, provided we treat AI like our assistant then AI has a role to play. But, if Steem is to remain a platform for humans to interact then humans need to be the ones doing the interacting.
In this article, I've covered how it is impossible to detect human vs. bot actions on the blockchain with any reliability. Also, we do not have a consensus on what are allowable conveniences and what are bad-bot actions. Next, the article covers the subjectiveness of quality and how it is impossible for an AI to measure - and if such an AI was made how another AI could fool it to produce infinite rewards. AI is a useful assist but not a replacement for humans. We can use AI to make humans more productive, but humans must make the final decisions.