Ned Scott and @theoretical of Steemit Explore Oracles on Steem
Today we’d like to explore the idea of Oracles for the purposes of establishing identity and verifying actions using the Steem blockchain. We have begun work on an Oracles system that we are developing for the purpose of enhancing the capabilities of Smart Media Tokens (SMTs), and would like to share with you all why we believe they are an important addition to this protocol. We plan on expanding on the content within this post in the coming months with the release of a new SMT Oracles whitepaper, which will provide entrepreneurs additional information and guidance on how Oracles can be leveraged to enhance SMTs.
The following video includes footage from @ned’s recent trip to South Korea, as well as footage taken from a recent Steemit Inc. all-hands meeting where @ned and @theoretical (Steem/SMTs Architect and Co-Founder) discussed some of the details of how Oracles will work.
Is Steem Working?
The original intent behind STEEM was to leverage that token to harness the Wisdom-of-the-Crowd in order to unearth high quality content and give it public exposure. The success of this design, imperfect though it may be, cannot be overstated. Steem remains the only free and open-source protocol that autonomously distributes rewards to content creators all over the world. The ecosystem is growing, more traffic is going to Steem-powered websites than ever before, and over $50 million worth of STEEM has been distributed to people all over the world. Steem is working.
Smart Media Tokens (SMTs), however, offer us an opportunity to make Steem work even better, by combining an SMT with what the industry is calling “Oracles.” An Oracle on SMTs will be able to submit a list of users (a “whitelist”) to the blockchain who have satisfied some type of criteria. Users will be entitled to earn an SMT whose token distribution mechanisms are enhanced by an Oracle only if they are on the list that the Oracle(s) submitted to the Steem blockchain. One example of how Oracles could be used is as a means of validating that an account belongs to one person and is that person’s only account.
This would enable an SMT to be paid out based on the upvoter’s individuality, not their token holdings. If Steem operates through “1 STEEM, 1 Vote,” this system would pay out additional rewards--in the form of a new token--based on “1 Account, 1 Vote.” This is just one way in which SMTs could be leveraged to deliver yet another seismic shift in how people are rewarded on the internet.
One Account, One Vote
One account, one vote (1A1V), sounds good in theory, but is surprisingly difficult to pull off. Steem didn’t use 1A1V because it incentivizes people to create multiple accounts. “Power” within the ecosystem would be determined by how fast one was able to acquire accounts, not one’s individuality. This is why Steem does not, and cannot, use 1A1V. However, the beauty of our design is that within this ecosystem--thanks to SMTs enhanced by Oracles--1A1V can be implemented. Not only that, but many other capabilities become possible with fairly simple Oracles.
What is an Oracle?
In the context of blockchains, Oracles are often discussed with respect to prediction markets. If you wanted to enable people to bet on an event, like who is going to win an election, then you would create a smart contract that is worth something if a certain political party got elected (or not). However, since the event occurs in the real world and not on the blockchain (“off-chain”) you would need someone to inform the blockchain what happened, in this case, who won the election. That person is referred to by many in the blockchain community as an Oracle.
An Oracle, however, is also a term used in computer science to denote anything that you can ask questions to that you don’t know the answer to yourself. In the context of the Steem blockchain, an Oracle would be someone that the Steem blockchain can ask questions such as, “Is this a unique account?” In other words, an Oracle is someone that the blockchain can use to handle a task it is currently unable to perform. This does not mean that simply using an Oracle will enable One Account, One Vote to be effectively implemented. That would depend on the rigorousness of the Oracle’s verification process and whether that process can be gamed. What Oracles on Steem will do is make the creation of this type of system possible.
Individuality Oracle + Superlinear Rewards
If an Oracle can provide an individuality whitelist, this can be combined with an SMT programmed to be distributed to curators based on a superlinear rewards curve, thereby incentivizing high quality content curation.
For STEEM, a superlinear rewards curve isn’t as effective at incentivizing curation because in order to be sustainable and scalable, it must be governed by One STEEM, One Vote. Under such circumstances, a superlinear rewards curve creates a strong incentive for those who have a large amount of STEEM to self-vote and collude, as the more STEEM one has, the more orders of magnitude of STEEM one can earn through such behaviors. As a consequence of this, the distribution of rewards for the entire community becomes a result of the decisions made by only a small handful of individuals, rather than through genuine wisdom-of-the-crowd and contrary to the original intention of superlinear rewards. This is why the superlinear rewards curve was abandoned for STEEM.
However, if a new SMT is distributed using superlinear rewards based on an upvoter’s individuality, then their stake is irrelevant. The biggest token holder (“whale”) on the planet would earn no more from their own upvote than they would from an upvote generated by the world’s smallest token holder (“minnow”). In such a case, the only way for a curator to earn a large number of tokens would be to discover and upvote content that will garner many more upvotes in the future. What content is most likely to garner a large number of upvotes in the future? High quality content.
In this way an SMT (a new token in addition to STEEM) whose distribution is governed by a superlinear rewards curve, and enhanced by an Oracle, could take the autonomous content discovery and rewards system--still unrivaled in Steem--to an entirely new level. Best of all, this is only one potential use case for Smart Media Tokens and Oracles.
Oracles will communicate with the blockchain by submitting pre-consensus whitelists of accounts through their own account. One such whitelist could be made up of users who have established their individuality to the Oracle. There is, however, no limit to the criteria and methodologies that Oracles can leverage to generate their lists, and the creator of an SMT will not be required to limit themselves to the use of one Oracle.
Leveraging Multiple Oracles
To see how this might be beneficial, imagine that the creator of an SMT wanted to ensure that their token was only rewarded to “good people.” We know how we would solve the problem of the “individual”; the process for solving the problem of determining who is a “good person” would be largely the same. There would need to be an Oracle (possibly associated with the @santaclaus account) who would somehow establish whether someone was good, and submit their list to the blockchain. Once this process was in place, the creator of this hypothetical SMT would need only to specify at its inception that the token’s distribution would be enhanced by both the Individuality Oracle and the Goodness Oracle. Once they released their token, the only accounts who would receive it would be those who had proven that they were “good individuals.”
Of course, “goodness” is subjective, but the real takeaway here is that Oracle enhanced SMTs can support an infinite variety of social structures aimed at addressing an infinitely varied array of needs. In other words, they can empower communities to an extent never before deemed possible.
An Oracle is an account that produces a whitelist. An account is limited to producing only one SMT whitelist. The Oracle is a paid position that is budgeted into the SMT at launch; it is an elected position, much like a Witness. In this way, specific Oracles will be tied to specific SMTs. That being said, an SMT will be able to take advantage of multiple Oracles with a limit of 5. For example, an SMT could make the payouts from their rewards pool contingent on 1. an Individuality Oracle, 2. a Goodness Oracle, 3. an Originality Oracle, 4. a Gender Oracle, and 5. an Age Oracle. The SMT creator would also be able to elect the threshold of agreement required among Oracles. For example, the creator might deem it sufficient for an account to be on three of the five whitelists mentioned above. Any configuration from one-out-of-five to five-out-of-five will be possible.
The reason SMTs are limited to using at most five Oracles is that every time there is a vote on a piece of content, the Steem blockchain will have to check every Oracle associated with that SMT before any SMT can be paid out. This could quickly lead to a large number of database queries were the number of possible Oracles not limited. Five Oracles will be more than enough to cover the vast majority of use cases.
The Real Purpose of Oracles
Our goal with respect to Oracles is not to ensure that every whitelist is accurate. Oracles will provide entrepreneurs with the opportunity to further customize how they incentivize the actors in their ecosystem, but they are the ones who will understand those actors the best, and so it will be their responsibility to ensure that the options they choose are designed to lead to reliable whitelists. Anything else would not be a scalable solution.
What really sets Steem apart from other blockchains--aside from its ability to store content--is its focus on decentralized token distribution mechanisms. The primary goal with any currency is ensuring that the “right” people receive it, and that they receive it quickly and efficiently. If that happens, then all the participants in an ecosystem will be incentivized to keep participating and adding value. That means that the entrepreneur doesn’t have to waste time and resources ensuring that every important member of their community is paid and paid fairly. Not only is that time consuming and difficult, but it creates risks and liabilities for the entrepreneur who wants to focus their energy on creating an amazing application that users love.
SMTs will add a revolutionary weapon to the entrepreneur’s arsenal: an industry-leading cryptocurrency with three-second fee-less transfers, that autonomously flows to the most important members of a community. Oracles will add laser-targeting to that weapon. They will enable the entrepreneur to install additional safeguards into their ecosystem that help ensure that the only way to win their token is to play by their rules. To date, STEEM is still the only cryptocurrency that is autonomously incentivizing an entire ecosystem; SMTs with Oracles will make it easier than ever to replicate our results and even improve upon them.