Decentralized Oracle: Bridging blockchains with the outside world
ASTRAEA: A Decentralized Blockchain Oracle — John Adler, Ryan Berryhill, Andreas Veneris, Zissis Poulos, Neil Veira, and Anastasia Kastania. (2018)
The original paper can be found here.
Scaling makes blockchains usable while oracles make blockchains useful.
What is an Oracle?
Oracle is a crucial smart contract that is specially designed to be the I/O for a blockchain. It absorbs external data from the outside world, which is used to be unachievable since that a blockchain is usually confined to computations of on-chain data.
Problem of Oracle
Relying heavily on an individual Oracle contract can lead to another problem: single-point of failure. When the Oracle smart contract acts faulty or is compromised to execute malicious attempts, it is inevitable that the entire system collapses when reacting to the incorrect source of information.
To deal with the problem of over-centralization of Oracle smart contract, the idea of decentralized oracles burgeoned. Several cool projects such as Augur, Gnosis, Delphi, ChainLink, Oraclize.it, Town Crier, and so much more are worth perusing.
ASTRAEA: A solution with Nash Equilibrium
There are three roles in the game: submitter, voter, and cerifier. Each of the participants can enter or exit the game at wish. They stack coins to express their belief so as to preclude any chance of Sybil attack.
Submitter / wants to propose a topic!
- stack deposit to bounty pool
- submit a proposition (topic) to a list of propositions (topics)
Voter / wants to passively vote on a topic
- stack small deposit
- be assigned a random proposition (topic)
- send belief (vote)
Certifier / wants to actively choose a topic to vote on
- stack large deposit to a specific proposition (topic) with a belief (vote)
Not all propositions have certifications. Voters are mandatory to answer with a vote after the deposit, whereas cerifiers are sending votes at wish.
Outcome and Rewards
There will be two aggregated outcomes from both the group of voters and the group of cerifiers. If the outcome of voters matched the cerifiers’, both are rewarded. Otherwise, both are penalized.
In the case that the outcome is unknown, voters are neither rewarded or penalized, cerifiers are penalized. It is intuitive, owing to that voters are forced to vote, but cerifiers vote deliberately.
Constantly vote for True/False?
Since the mechanism curtails the bounty pool, when a bias value dominates the proposition list, the voters cannot constantly vote for True or False to gain benefits.
Specifically, when the proposition bias takes place: number of True Proposition > number of False Proposition. True Bounty Pool is drained faster, reducing the incentive for a certifier to stack on any True proposition. As a consequence, certifiers switch to vote for False Proposition — equilibrium works.
A minimum certification deposit must be larger than maximum voter deposit. Therefore, a certifier entails sufficient risk for them to act honestly.
Minimum accuracy of voters is required for the game to remain hard for offenders to tamper an outcome of a specific proposition.
In an example, when there are 100 voters in the game, each with 95% accuracy. Even though the offender owns 25% votes on certification, the winning chance based on a sequence of Bernoulli trials is as low as 0.001%.
There is a tradeoff between accuracy and participation. When it turns very hard to for participants to earn profits, the participation can slump.
ASTRAEA can be applied to data annotation, data availability, and adjudication mechanisms when offline multiple-party consensus is critical at the scenario.
Submitters, voters, and certifiers are working for disparate incentives while maintaining the Nash equilibrium! The proofs in the paper are very easy-followed. Feel free to check out the ASTRAEA paper with 8 pages only.