Q-Filter: A Supplementary Content Discovery Network And Rewards System [STEEMPAPER]

in #q-filter6 years ago

Introduction


The future for the Steem blockchain is bright with the growth of thousands of new users on the blockchain and new platforms being built on top of the blockchain. This has allowed many curators and creators on the blockchain to be rewarded for their contributions to the ecosystem. However, not all users have been fortunate enough to have been compensated for their efforts and are often left frustrated and ignored.

There is a very steep learning curve to earning Steem and current system is too skewed towards members that hold large amounts of stake in the blockchain and skewed against users who are willing to contribute but don't have the financial ability to do so. This creates a pay-to-play model that encourages buying of Steem tokens. Some pay-to-play elements are necessary to the continued growth and act a means to prevent massive amounts of spam or attacks of the network without incurring a massive cost, however too much limits the growth potential of the network.

The major issue with the blockchain is the lack of incentives for curators to actually find and promote quality content and bring attention to the creators of said content. The obvious motive of the stakeholder in the ecosystem is to maximize profit rather than find good content. Thus, without tying profit to content discovery, there is little monetary incentive to find such content in the current ecosystem.

Since most newer users are hidden and buried underneath the larger stakeholders in terms of visibility and given the lack of an incentive to look at their content, the barrier to discovery of these users is significant and because of this, the system centralizes around the major stakeholders and their interests.

Thus, the goal of the Q-Filter project is simple. Give those who are willing to put effort and time into quality content a chance to showcase their work without the drawbacks and pitfalls of a rewards schemes that awards the rich with attention rather than the good. To achieve this goal, a supplementary discovery network and rewards system has been design and developed to create an ecosystem that ties value into evaluating the content.

First, we will define a metric that loosely approximates quality such that one could use it to distinguish between posts. This metric will serve as a reference point for which the network users will try to estimate. Second, make sure that curators have an incentive to distinguish quality between posts. Thus, giving value to proper evaluation of content. Third, create an incentive for curators to distribute their votes evenly across posts. This improves decentralization and gives everyone a chance to be discovered. And lastly, create an incentive for content creators to voluntarily submit their work to be judged by these individuals.

Representing Quality


The major issue here is that the term "quality" applies differently depending on the individual using it. We have a subjective term to describe content that seems hard to quantify. But if we crowdsource the opinion of individuals, then we have a summation of subjective views and we can approximate an average view of quality, that for many users may not exactly fit their criteria but can give us some metric which with to work with and a metric that is not heavily biased by one's material wealth.

In order to aggregate this new metric, we need to give users some way to express themselves numerically beyond simple upvotes and downvotes. The issue with binary decision is that content often falls in between and such decisions fail to accurate capture this spectrum of content quality. So, for our system, each user has the ability to pick a rational number between 0 and 10 to evaluate content with. This solves the limitations of the binary decision.

To find the average opinion of all the users would require a simple average. However, a simple average is simply not enough to estimate a good or trustworthy metric that we can use. Users that are trusted more should have a higher weight than users that are newer or have invested little into the system. But at the same, we want to award individuals that put time and effort into curating and creating novel and interesting content.

Thus, we define a participation weight and multiply this against each individual's score before taking a weighted average. This allows users that work harder to have more influence in the system. "Work" will be defined in a later section, but essentially the idea here is that one must continually work hard in order to maintain a high weight in the system and that work must be hard enough such that such a process must be resistant to automation. But for now, let's consider the weight be a measure of one's participation within the Q-Filter system. This weighted average is seen below.


Equation1a.png

Now that we have a weighted average of subjective quality, we add one last element to emphasize how importance agreement is and to give some power to minority dissenters. We will divide this weighted average by a variance-derived measurement in order to make high scores indicative of overwhelming agreement of quality. Through this, we can reach a better consensus on the approximated "quality" for content as content with universal praise rises to the top while opinion with some dissent drops a little even if the majority is in favor. The final metric's equation can be seen below.


Equation2a.png

But there are two issues that pop up with such a proposal. How does one represent such system on top of the STEEM blockchain and how does one encourage individuals to rate in such a manner where the metric acts as a good estimator? We will go over the implementation next and cover the latter issue in the following sections.

The STEEM blockchain allows users to express partial votes when allocating rewards through voting. This means that users don't have to simply give a binary choice even though most do. They can select somewhere in between. But the issue here is that there really is no reason to make partial votes other than to preserve voting power. As we'll see later, Q-Filter gives a reason to use partial power in order to make their subjective individual judgement on the quality of the content.

Simply the -100% to 100% votes on STEEM are mapped between 0 and 10 for Q-Filter's rating system. 100% votes correspond to a score of 10, -100% votes correspond to a score of 0 and partial votes somewhere in between in a linear fashion such that upvotes correspond to values higher than 5 and downvotes to values lower than 5. Thus, we have a way to use the STEEM blockchain stored votes to build a score.

These votes along with the weights form the basis of our metric and from this metric we can build incentive mechanics that encourage individuals to makes decisions that give the metric enough value to distinguish posts from one another.

What we have essentially created is a single layer neural network where individuals are the different nodes that aggregate their outputs together into a single score. The interesting thing about such a network is that each neuron has a different non-linear function because of individual subjectivity to determine its output which gives us infinitive expressivity and allows us to model the complex "content space" with a somewhat effective mapping.

Quality Discovery And Rewards Maximization


Now that we have a metric to assign to each post, we can treat individual's input as a guess to the final result of the metric. Essentially each vote becomes a estimate of the final weighted score. The idea is then to incentivize the accuracy of prediction in order to discover the "quality" of a post reliably. If there is completely disregard for accuracy, then the final output would then be unreliable and susceptible to manipulation. The goal of the curator should be estimate the final score of a piece of content based on their own judgement.

In order, to incentivize accurate predictions via voting, a vote lottery is build into the system such that SBD rewards and extra weight are assigned to one winner. The goal of the vote lottery is to design a system that rewards the most accurate voter and give them rewards for behaving appropriately.

But we simply cannot use accuracy as the means of determining a winner. The natural response to such a system would be to delay voting until the end of a voting period before voting for content in order to have the best and most accurate picture of the final score. This process could be easily automated and allow bots to easily win the vote lottery, thus randomness is added to each prediction to ensure no one can monopolize the vote lottery.

But adding uniform randomness to each prediction would still incentivize bots to maximize their odds by waiting until the end before making a vote. Thus, we add randomness linearly over a sequence of votes organized by time. Older votes have less randomness added, but have more uncertainty in the final score. Younger votes have more randomness added to their prediction but have more certainty. The end result is a hard problem is determining how to maximize one's odds based on the timing and behavior of other users. This hard problem makes the system bot-resistant. The closest score after randomness is added is selected, this score can be seen in the equation below.


Equation3.png

Thus, we create a fair system that anyone can win based on simply voting on content using the mapping discussed in the previous section and any individual can maximize rewards by using their vote to predict the final score of the quality-estimator metric (Q-Metric) discussed earlier. There is also an incentive for accurate voters to vote early in order to minimize the impact of randomness on their prediction which will be compared to the final metric score when the voting period ends, but not enough of an incentive to auto-vote without reading the content as that would compromise the accuracy of the prediction.

Winners receive a portion of the SBD from the Q-Filter Account which emits SBDs at a rate dependent on the number of posts within the system at any given time. Winners also receive a bonus to their weight beyond the small bonus they would normally receive as a regular voter. We will cover how the weighted network works and how competition allows authors to be compensated by curators hunting down the vote lottery.

Curation Through Competition


We now have a reason for curators to curate. Curators are incentivized by SBD and weight rewards to curate. As mentioned earlier, all votes are multiplied by weight which adapts to the network.

Weight is given to three types of people after each post is processed after 7 days. Some weight is given to voters, a larger sum of weight is given to the winner of the vote lottery, and some weight depending on the Q-Metric is either added or subtracted to the author of the content. The total weight of the system is then normalized with proportion to the number of users in the network such that the average weight of any user is 1000.


Equation4.png

Equation4b.png

This means after each post, voters and the author are given weight. But since the system is normalized afterwards, inactive users will lose weight. This creates a participatory system. You gain maintain voting weight by voting and posting regularly within the system. You lose weight by doing nothing or posting low rated articles. Influence is determined not by stake but by "Work" placed in the system.

This encourages curators to vote on as many articles as possible in order to increase their weight. Thus, we do not need to reward authors. Their reward is that voters are encouraged to vote on their content as well as additional weight gained within the system. Also, voters are encouraged to vote on posts with less votes in order to increase the amount of weight they acquire as a voter and to improve their odds of winning the vote lottery associated with the post. Thus, these users gain visibility through the curators competition for the SBD vote lottery rewards.

Additional Visibility And Bonus Vote


But more votes might not be appealing enough for authors who want their posts to have more exposure. While the metric we designed is use as a means to determine the vote lottery winner, the primary purpose of this score is to approximate the value of a piece. Thus, we want to use this score as a sorting mechanism to push the better posts to the top and move the lackluster material downward. This solves an additional visibility issue and would create a better page to showcase quality content rather than something like the "trending" page of Steemit.

This filtering mechanism is also resistant to bidding bots due to the fact that it is based on voting percentage rather than raw stake applied. A bidding bot is giving a percentage of a vote rather than a full vote thus creating a ceiling on the post's scoring potential. So, the Q-Filter system avoids becoming a pay-to-play system where attention is only achievable using earned or bought SBDs. And such systems showcase content regardless of quality.

An additional bonus vote or flag is given by the Q-Filter bot is also given that is proportional to the score to give authors another incentive to put their good content into the system. This bot votes roughly 48 hours after a post is entered into the system and is unable to win the vote lottery. Thus, the incentives for voters are persevered and a small curation bonus might show up for voters of really good content. Steem working the way it was meant to work.

Spam, Bot, and Attack Resistance


Obviously a concern for attacks exist since the voting system is a participatory-based one rather than stake-based. But as mentioned above, the whole system is based on the idea that finding the above metric is a "hard" problem due to having to predict other user behavior or having to imitate other user behavior.

But in order to give you an idea with the resistance built into the system, let's come up with some attacks. Since weight gives you more influence, developers of bots might simply create auto-vote bots in order to mine "weight". Since the metric is hard to predict, these bots will not be able to win the vote lottery with consistency without a tremendous amount of design and AI development. If someone could develop an algorithm to solve the vote lottery, it would have potentially significant market desirability with the ability to discover hidden gems without human curators. So if a bot is able to win the vote lottery regularly, its not a bad thing.

But for now, let's assume we have a dumb bot that votes for every post in the Q-Filter system. They will get a small bonus for voting, but not much else. They could eventually grow their weight in this way, depending on the level of competition, but for humans that post and vote in a manner to predict the metric accurately, these people will gain weight easier and preserve their voting power on Steem more effectively. Sure, a bot might spam 1% votes, but that decreases their odds of winning the vote lottery even more.

Also for bots that do spam voting, authors will be rewarded even more, growing the network and encouraging other bots and users to vote for content within the Q-Filter system. So voting by itself isn't really convincing enough of an attack vector against the participatory system put in place. The author and vote lottery weight rewards are much more significant.

In terms of spamming posts, there is now an incentive to downvote spammers. The vote lottery. You can now be rewarded by downvoting content that is not good and due to the variance penalty in the metric, by downvoting against a post with upvotes, additional variance is generated to increase the downward pressure on the post.

Also, there is incentive to preserve one's own weight by removing bad authors by getting rewarded by mediocre content. If spam is allowed to be rewarded, such bad actors have easier ways to acquire weight in the network. And an increase of weight of bad actors means a decrease in weight for regular users, so in addition to winning a prize, users are incentivized to protect their weight in the network which gives them more influence and higher odds of winning vote lotteries in the future.

One an author obtains negative weight (awarded by bad posts), their posts will no longer be registered in the system, even if they use the 'q-filter' tag which is used to signal participation in the current Q-Filter system. In order to make their weight positive again, they will have to vote on other's content. Thus, bad actors are required to share their voting power with others in order to regain the ability to post content. This ensures that spam within the system is kept at a minimum. While this system is still vulnerable to apathetic voters and users, it is less vulnerable than the current Steem environment.

Closing Thoughts


The Q-Filter system and algorithm was designed originally to fix Steem's lackluster content discovery system. This whole paper is to serve as a discussion of future improvement of the Steem blockchain and other content-based blockchains and a demo application has been built to serve as an experiment prototype in how such a system could work on a blockchain. One can interact with this demo by voting on content with the 'q-filter' tag, posting content with the tag, or visiting the web application.

One could easily imagine rather than using SBD to pay vote lottery winners that they use the emissions of a token instead. This emissions process would reward curators and would give visibility to authors. You could also still have an emissions process for authors as well, but the ideas here serve to correct the lack of a good curation system throughout the entire media industry.

Lastly, one could abstract the whole concept further and use these mechanisms to build secondary systems on top of blockchains in order to allow predictive models to compete against one another. That is essentially what is happening with the Q-Filter system. It uses the Steem blockchain to verify scores and selects the best model via the vote lottery to gift some rewards for their work.

Thanks for reading and participating and for those with any questions or comments, feel free to reach out in the comments section (or to @greer184 / @qfilter on the Steem blockchain).

Sort:  
Loading...

Little did I know you also talked about pay-to-play. I'm gonna have to read this again to get a better understanding but, in the meantime, thanks for your hard work trying to make Steem a more enjoyable and fair place.

Congratulations! Your post has been selected as a daily Steemit truffle! It is listed on rank 3 of all contributions awarded today. You can find the TOP DAILY TRUFFLE PICKS HERE.

I upvoted your contribution because to my mind your post is at least 26 SBD worth and should receive 121 votes. It's now up to the lovely Steemit community to make this come true.

I am TrufflePig, an Artificial Intelligence Bot that helps minnows and content curators using Machine Learning. If you are curious how I select content, you can find an explanation here!

Have a nice day and sincerely yours,
trufflepig
TrufflePig

Congratulations @greer184! You have completed some achievement on Steemit and have been rewarded with new badge(s) :

Award for the number of comments received

Click on any badge to view your own Board of Honor on SteemitBoard.
For more information about SteemitBoard, click here

If you no longer want to receive notifications, reply to this comment with the word STOP

Upvote this notification to help all Steemit users. Learn why here!

Coin Marketplace

STEEM 0.30
TRX 0.12
JST 0.032
BTC 59179.00
ETH 2969.17
USDT 1.00
SBD 3.75