UserAuthority (UA): explanations, applications and implications
UserAuthority (UA): explanations, applications and implications
Three days ago, I initially published my article How-to solve SPAM and Democratize Steem: Introducing UserAuthority. In that article, I've introduced the derived metric UserAuthority (UA) in the form of a probability distribution. At first, the article was merely intended as a conceptual tool to be implemented as a weighed metric to improve the @utopian-io voting bot. Hours after publishing my article, I suddenly realized UserAuthority (UA) could (or maybe even: should) be used Steem-wide, for it allows for multiple applications solving a magnitude of "problems" throughout the Steem ecosphere.
Disclaimer: my (previous) article is not a full-fledged PhD thesis, but a blog post. It might contain typos, other errors, lack of source material, et cetera. But I did give it some attention though! ;-)
At first, regarding my previous article, upvotes flew in, yet people seemed to be afraid to comment on it, maybe due to the mathematical complexity. Therefore I decided to contact a few "techie PowerUsers" and to ask them to comment. Luckily, that worked, and from the comment section it became clear to me that a follow-up article (this one) was indeed needed for clarification. I really hope this article paves the way for even more in-depth discussions via the comment section and therefore I encourage everybody to share their opinions, questions and ideas regarding UA, its implications and possible applications!.
UA Explanations
I invented UserAuthority by simply converting Google's original PageRank mechanism, which values each Page's "authority" in its index / database by weighing all hyperlinks, into a Steem context. I didn't invent the underlying probability distribution, I simply understand how the underlying mechanism works and recognized that exact mechanism could be used within Steem as well to approximate the authority of each Steem account. Page == Account, Hyperlink == Follow.
At its core, UA represents the probability to end up on an account by clicking on a hyperlink to a random follower of a random account. The sum of all UAs is 1 (a 100% probability to end up somewhere on Steem by randomly clicking). The more followers an account has, the higher its UA. Every additional follower improves the UA-score of the followed account. However, not all follows are weighed equally! If @stellabelle for example (who is followed by a lot of accounts) would follow my account @scipio, that one follow by @stellabelle greatly improves my own @scipio UA because @stellabelle's own UA is high. If my @scipio account is also followed by a new account, that one additional follow also improves the UA-score of the @scipio account, but not very much.
Please note the mathematical necessity for each account to be followed by at least one other account connected to the main follower graph: otherwise, "dangling accounts" would exist. This can be achieved by creating an "@all" bot following every account, or a "@connector" bot following only previously unfollowed (mostly brand new) accounts, where that one additional bot is followed by at least one other account connected to the main follower graph.
Nota bene: UA disregards SteemPower (SP) completely, although high-SP is a side-effect of high-UA: account @freedom for example currently published 0 posts, yet has 917 followers but follows nobody. Account @freedom is therefore not followed for its published content but for its Steem Power (representing ownership and influence) and therefore still has a very high UA.
Nota bene: UA also disregards the "Reputation" metric. For example account @berniesanders currently has a low "reputation score" (-19), yet is now followed by 3,664 accounts, amongst those followers are high-UA accounts as well, and therefore account @berniesanders has a very high UA score. Every active Steemian will therefore intuitively recognize that UA represents the influence of the @berniesanders account far better than the current "Reputation metric does". Every Steemian can individually decide whether they like or dislike account @berniesanders, but it's a mathematical given that @berniesanders is influential. UA identifies the high authority of account @berniesanders, despite its low "reputation score" (-19) and despite the recent changes of its owned Steem Power (currently ~ 4,291 SP).
UA Applications
UA can be extended with other metrics
UA on its own merely represents "account popularity". Yet by extending UA with other metrics, for example "average post author rewards", "post frequency", "vote frequency", UA can identify some very interesting things!
UA can identify content quality
If an account (user) publishes quality content (article posts and/or comments), other accounts (users) could discover said content, like it and decide to follow said account. Such an additional follow is therefore merely an effect caused by the quality of content, yet it also approximates the average post quality an account (user) publishes. Also, if a previously popular (high-UA) account suddenly decides to produce "bogus content", a natural consequence would be that other accounts reading the content would decide to unfollow said account, resulting in a UA-decrease. Producing quality content will therefore be rewarded by more follows and therefore a higher UA, and producing bogus content will be "punished" with a lower UA. Democracy at its best!
UA can identify content-spammers
If an account frequently publishes "copy-pasta" content (found elsewhere on the internet) or "follow me please" comments (mostly from new accounts trying to get an audience for their lack of understanding the Steem ecosystem), it's probable said account has low UA, a high-frequency post trackrecord, and a low post reward trackrecord.
UA can identify self-upvoters
If an account has a low UA, a high post frequency and a high average post reward, this probably means said account (indirectly) receives high amounts of SP to (indirectly) self-upvote. UA will identify said accounts / account swarms. Previous attempts to combat high-payout self-upvoting account swarms by proposing a fixed limit of self-upvotable content were futile due to the fact that multiple accounts can be controlled by one user or collective. UA deals with this problem far more effectively.
UA can function as an honest voting proxy via sub-communities
Recently, the new @utopian-io community, at which I'm actively contributing for myself, got rewarded with a large amount of delegated SteemPower. @Utopian-IO rewards Open Source contributors for their contributions, be it source code contributions, marketing efforts, design contributions, copywriting contributions, tutorials, or Open Source related blogs. What not everybody knows, is that in order to get voted by the Utopian bot, an established content moderator first needs to approve said Utopian post. The moderators therefore function as GateKeepers to the Utopian Movement: only quality content is allowed to be upvoted by first individually curating it. I originally "invented" UA as an algorithmital metric to improve the Utopian-IO bot, by weighing every manual / human Utopian post upvote, not by its associtated SteemPower but by every upvoters own UA! If more topical sub-communities akin to the @utopian-io movement would be founded, and each received an amount of delegated SP, then content curation would be empowered by human content-specialists per sub-community.
Nota bene: @utopian-io is not a booster mechanism. It is indeed a topical community, stimulating publishing quality content and adding value to all Open Source initiatives. @Utopian-IO also helps the entire Steem ecosystem grow and become more valuable, because it attracks newcomers (previously unremunerated Open Source contributors) and improves overall quality and relationship networks.
UA does not harm new accounts
UA does not harm new accounts by rewarding them with a low UA-rank. Because UA is not intended to be used as a sole metric, yet as an identifyer to be combined with other metrics (as explained above). UA even stimulates new accounts (users) to form new relationships, because via UA developing relationship networks is stimulated and rewarded better. That also stimulates the entire Steem community to welcome and help newcomers instead of simply punishing them with downvotes on "follow me!" attempts to be noticed.
UA can identify, and ignore, bots
Most (not all) bots have low UA. Some bots (including the popular boosters) have a very high UA. It is mathematically possible to deliberately exclude known bots from the follower graph. Most known bots, were before easibly identifiable already (due to high amount of follows). However, UA now also identifies low-UA bots, which previously fell "under the radar".
Nota bene: a bot has a different extended UA profile than a new or inactive human account has. People should therefore not fear system-wide implementation of UA, because it will not false-flag new / inactive user accounts.
UA Implications
The implications of UA itself - as a concept - are limited. Yet if UA would be adopted widely throughout the Steem ecosphere, its implications are vast. I have already proposed two hardforks in my previous article, which I repeat, for discussion purposes in the comment section, here:
Proposal for HF21: a minimum amount of UA is needed to downvote
downvotable(user) bool = (UA(user) >= UA(threshold)) ? true : false
=> that prevents "flag wars"
Proposal for HF22: implement UA to curate monetary rewards (author / curation):
upvote_reward = UA * SP
=> that effectively combats SPAM-rewards / self-upvoting / delegating SP to multiple self-owned bots for self-upvoting.
Vote comment me
ok