People Rank - Using Page Rank Algorithm for Better Curation and Rewards

Building a decentralized economic platform that uses voting to distribute funds is extremely challenging. On the one hand everyone wants to “vote selfishly” to give themselves the most reward possible, on the other hand large stake holders want to vote in a manner that maximizes the value of the currency.

The solution employed by Steem uses the principle that individuals acting alone shouldn’t have much power, but the more people that work together the more power they have collectively. In other words, two people voting together is more than twice as powerful as either voting alone.

The end result is a system that is working relatively well at today’s scale. The challenge Steem faces now is that large stakeholders, aka whales, have enough stake to unilaterally allocate far more than even the largest group of smaller users.

This means that whales need to spread their votes across 1000 times as much content as normal users or refrain from voting all together. Allocation of rewards will be highly concentrated among those the whales give attention to, but the attention of whales is finite. The finite limits of whale attention limits the scalability of reward distribution.

Existing Solutions

Some savvy whales, such as @smooth, are actively hiring people to process content and vote on their behalf. This is a very involved process and ultimately limited to a few people able to operate bots, manage teams, and check up on people.

Even with everything @smooth is doing, there is only so much content that his team of curators can process.

Bad Voters

Not all voters are good voters, and this applies to whales too. Sometimes accounts can go rogue, get hacked, or otherwise start acting in ways that harm the wider community. When a small stakeholder goes bad the system can safely ignore their votes and hide their posts with a reputation score, but when a whale goes bad things are not so easy.

Scalable Voting

What we need is a scalable solution for managing distributed authority over the printing presses and deciding which content is most worthy to be promoted. The root of all authority must be derived from stakeholder Steem Power or Sybil attacks will quickly undermine the algorithm.

In the late 90’s Google faced a similar problem with websites. They invented an algorithm that could rank web pages by using links as votes. This algorithm worked extremely well until SEO hackers learned how to game the system using what is essentially a Sybil attack.

Google gave every page one vote that it could divide among every page it linked to. The algorithm would the use these votes to identify the highest authority, quality, most visited, or most popular pages.

Delegated Voting via Account Rank

If you view each account as having 1 web page per unit of Steem Power controlled by that account, and you let each account link to other accounts that they trust to allocate funds and curate content then the result is a massively recursive delegated voting system. Allowing links to have positive and negative weights means that everyone has the power to contribute to filtering the “good” people from the “bad” people.

So long as there are many more “good” people than “bad” people, the bad actors are quickly neutralized by having more negative links than positive links.

This system is immune to the Sybil attack faced by Google’s PageRank algorithm because the supply of “pages” is restricted by the available Steem Power.

Account Rank on a Blockchain

The page rank algorithm is a computationally intensive iterative process that is normally performed by large clusters of computers using massively parallel map-reduce algorithms. A blockchain is required to reach consensus quickly and is ultimately single threaded because every transaction has the potential to impact the consensus state relevant to every transaction after it.

In order to efficiently implement Account Rank on a blockchain we must first place an upper limit on the largest possible blocking calculation. The computation complexity of calculating the Account Rank of an individual account grows linearly with the number of links (votes) an account gives or receives.

Fortunately, we know that there is a natural limit to the number of people someone can maintain stable relationships with. This is known as Dunbar’s number. By studying social group size in primates Dunbar was able to conclude that at most 150 stable relationships. Beyond this size more restrictive social rules are required.

We can use this information to naturally limit the number of trust-links allowed among accounts to something that ordinary people are actually capable of.

Once we have limited the number of links it is simply a matter of spreading the calculation over time and prioritizing calculations that will effect the biggest changes. So long as the rate at which links can change is slower than the rate at which the algorithm can reach equilibrium then on average the network will remain close enough to equilibrium to accomplish the desired goal.

Alternative to Witness Voting

Using the Account Rank algorithm we could replace and eliminate the overhead associated with tracking and tallying witness votes. Instead the witnesses would be the top accounts by Account Rank that didn’t opt out of being a witness. Each account is currently allowed 30 witness votes, this memory could be repurposed to serve the Account Rank algorithm. Likewise, every time an account’s Steem Power changes all 30 witness votes are updated. These calculations could be replaced with Account Rank propagation calculations.

Over all this would increase user engagement in voting for peers and provide a more liquid and representative ranking of user trust and reputation within the network while adding only a small amount of additional overhead and simplifying witness selection.

Each user would simply add their 30 most trusted curators (aka friends) to their account and the Account Rank algorithm will automatically distribute influence among the friends. This would result in trust flowing outward from whales and down to more people who currently don’t have much voice or curation power.

More people acting with more power due to delegated trust lines automatically rebalanced by Account Rank means that rewards can be distributed more fairly because there are more people with power and attention to process posts.

Negative weights would allow the network to quickly remove voting influence from accounts that earn a reputation for bad behavior. This is something the current Steem algorithms require a voting bot war that generates unwanted collateral damage.

Conclusion

With careful implementation and planning, it should be possible to upgrade Steem to have a far more liquid, democratic, and secure web of trust. This web of trust can then more reliably be used to allocate rewards in the best interest of the whole platform while scaling to handle millions of people.

Note - this idea is presented for discussion purposes only and does not represent a commitment to implement at this point in time. There may be unresolved technical challenges to realizing this algorithm.

H2
H3
H4
3 columns
2 columns
1 column
240 Comments