Disputing
Learn about disputing data.
The easiest way to dispute data submitted to Fetch Oracle is to use the Fetch Dashboard.
Before beginning a dispute, the proper amount of FETCH tokens must be approved to the contract to cover the dispute fee. If you use the Fetch Dashboard for the dispute, the token approval is preformed as part of the in-app process.
Each Disputer is responsible for the data they're challenging.
Make sure to check FIRST, especially using the DVM, which feed you are disputing and what sources you are using as truth!
Disputing data that is later deemed it was VALID by the community may lose you your dispute fee.
It's highly beneficial and recommended to check within the community of reporters which feeds and sources are being accepted as truth and what are the thresholds of tolerance for monitoring data submitted.
You can get more info on all the above at the official telegram group:
For the DVM to dispute, you need to use the -d
option. You also need to specify an account that will be used to pay the dispute fee and initiate the dispute.
The command above would start the DVM in dispute mode, with the specified account monitoring the chain every 120s.
If you don't specify an account with the -a
option, type 'n' when asked if you want to 'run alerts only?' and select one of your accounts from the list.
You can not dispute if you have not set an account to use when starting the DVM
DVM will start with the message "...Now with auto-disputing!..." when in dispute mode.
Dispute Mechanism
Any party can challenge data submissions of any reporters when a value is placed on-chain. A challenger must submit a dispute fee to each challenge. Once a challenge is submitted, 1 stake of the reporter challenged is set aside for the duration of the dispute period.
FETCH holders vote on the validity of the reported value. All FETCH holders have an incentive to maintain an honest Oracle and can vote on the dispute.
A proper submission is one that corresponds to a valid query around the time of the submission of the value. The subjectivity of the validity is a feature and corresponds to “correct” being up to the interpretation of the Fetch community.
Why Disputing Is Important
The security of Fetch comes through a minimum deposit of FETCH tokens that acts as a bond or stake in order for reporters to participate in providing data.
The reporters risk losing these stakes if they submit data that is successfully disputed.
What This Means For Getting Data
On a blockchain, security and time can not be separated. You can't have instant finality and still be secure. This is particularly true for oracle data.
Fetch Oracle data values can be used as soon as the data is placed on-chain, however the longer a user waits once the data is submitted on chain, the more probable it is to remain, and therefore be secure thanks to the economic incentives to dispute invalid information.
Values are able to be disputed and taken off-chain for the same time frame as the reporter lock (12 hours).
Dispute Using the Fetch Dashboard
The easiest way to dispute data submitted to the Fetch Oracle is to use the Dispute feature in the Fetch Dashboard.
This will manage approving the tokens for the governance contract to spend to cover the fees, transfer the correct fee, and call the required function appropriate for the current state of the dispute.
Dispute Fees
The dispute fee amount is variable depending on the current minimum stake amount. The getDisputeFee
function can be read from the Fetch governance contract.
Last updated